PHP-FPM (PHP Fastycgi Process Manager Manager) သည် PHP ၏အရေးပါသောအစိတ်အပိုင်းတစ်ခုဖြစ်သည်။ ၎င်းသည် PHP scripts များကိုလုပ်ဆောင်သောလုပ်ငန်းစဉ်များကိုစီမံခန့်ခွဲရန်အထူးအသုံးပြုသည်။ ရိုးရာချည် -based မော်ဒယ်နှင့်မတူဘဲ PHP-FPM သည်တောင်းဆိုမှုများပြုလုပ်ရန်လုပ်ငန်းစဉ်အခြေခံနည်းကိုအသုံးပြုသည်။ ဤပုံစံသည်တစ်ပြိုင်နက်တည်းလုပ်ဆောင်မှုနှင့်တည်ငြိမ်မှုကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်။
PHP-FPM သည်ဝက်ဘ်ဆာဗာများ (Nginx, Apache) ကိုလွတ်လပ်စွာလည်ပတ်နိုင်ပြီး FastCGI protocol မှတဆင့်ဝက်ဘ်ဆာဗာနှင့်ဆက်သွယ်နိုင်သည်။ Configuration file အရလုပ်ငန်းစဉ်အရေအတွက်ကိုအလိုအလျောက်ညှိနိုင်ပြီးစနစ်ကိုမတူညီသောဝန်အခြေအနေများနှင့်ရင်ဆိုင်ဖြေရှင်းနိုင်ရန်ကူညီနိုင်သည်။
PHP-FPM configuration files များတွင် Max_childrens သည်အလွန်အရေးကြီးသောရွေးချယ်စရာဖြစ်သည်။ ၎င်းသည် PHP-FPM လုပ်ငန်းစဉ်အများဆုံးအရေအတွက်ကိုကန့်သတ်ရန်အသုံးပြုသည်။ PHP-FPM လုပ်ငန်းစဉ်တစ်ခုစီသည် Memory နှင့် CPU အရင်းအမြစ်များကိုစားသုံးသည်။
အကယ်. Max_children Setting သည်အလွန်သေးငယ်သော်လည်း၎င်းသည်တောင်းဆိုမှုများကိုစုဆောင်းခြင်းနှင့်တုန့်ပြန်မှုအချိန်များကိုတိုးပွားစေနိုင်သည်။ ချိန်ညှိမှုသည်ကြီးမားလွန်းပါက၎င်းသည် system stabor ကိုအကျိုးသက်ရောက်နိုင်ပြီးအားနည်းချက်များကိုတောင်မှအကျိုးသက်ရောက်နိုင်သည့်စနစ်တကျမှတ်ဉာဏ်မလုံလောက်ပါက system memory မလုံလောက်မှုကိုဖြစ်စေနိုင်သည်။
Max_childrens ကိုမညှိမီသင်ရရှိနိုင်သည့်မှတ်ဉာဏ်နှင့် CPU core အရေအတွက်အပါအ 0 င်ဆာဗာ၏ဟာ့ဒ်ဝဲအရင်းအမြစ်အခြေအနေကို ဦး စွာနားလည်ရန်လိုအပ်သည်။ Top သို့မဟုတ် Htop ကဲ့သို့သော command line tools များမှအရင်းအမြစ်အသုံးပြုမှုကိုကြည့်နိုင်သည်။
ဆာဗာမှတ်ဉာဏ်သည် 8GB ဖြစ်ပြီး CPU သည် 4 capes ဖြစ်သည်ဟုယူဆပါ။
PHP-FPM process တစ်ခုစီမှသုံးစွဲသောမှတ်ဉာဏ်ပမာဏသည် PHP application ၏ရှုပ်ထွေးမှုနှင့်ကုဒ်အပေါ်မူတည်သည်။ လုပ်ငန်းစဉ်တစ်ခုစီသည် 200MB မှတ်ဉာဏ်ကိုစားသုံးသည်။ Memory ၏ 8GB မှတ်ဉာဏ် 8GB မှတ်ဉာဏ်ရှိသောဆာဗာတစ်ခုသည် PHP-FPM လုပ်ငန်းစဉ် 40 ကိုပါ 0 င်နိုင်သည်။ သို့သော်စနစ်သည်အခြားဖြစ်စဉ်များအတွက်အချို့သောမှတ်ဉာဏ်ပမာဏကိုဆက်လက်ထိန်းသိမ်းရန်လိုအပ်သည်။ ထို့ကြောင့် PHP-FPM လုပ်ငန်းစဉ်များကိုထောက်ပံ့ရန် 6GB မှတ်ဉာဏ်ကိုသုံးနိုင်သည်။
CPU cores အရေအတွက်သေးငယ်ပြီး Max_children ကို 4 ခုသတ်မှတ်ထားပြီးဆာဗာ၏ CPU core အရေအတွက်ကိုသတ်မှတ်နိုင်သည်။
Max_children ၏တန်ဖိုးကိုပြုပြင်ရန် PHP-FPM Configuration ဖိုင်ကိုတည်းဖြတ်ရန်လိုအပ်သည်။ ယေဘုယျအားဖြင့်ပြောရလျှင် configuration file ကို /etc/phpm.fpm.conf သို့မဟုတ် / 3.4/phpm/phpm.fpm.fpm.fpm.fpm.fpm.fpm.fpm.fpm.fpm.fpm.fpm.fpm.fpm.fpm.fpm.fpm.fpm.fpm.fpm.fpm.fpm.fpm.fpm.fpm.fpm.fpm.fpm.fpm.fpm.fpm.fpm.fpm.fpm.mpm.fpm.mpm.fpm.mpm.fpm.fpm.fpm.mpm.fpm.mpm.fpm.fpm.mpm.mppm.fpm.mppm.fpm.fpm.fpm.fpm.fpm.fpm.fpm.fpm.mpm.conf Path Place တွင်တည်ရှိသည်။
configuration file ထဲရှိ max_children option ကိုရှာပြီးတန်ဖိုးကိုလိုအပ်သလိုပြုပြင်ပါ။
pm.max_children = 4
ပြုပြင်မွမ်းမံပြီးပါက Setting ကို settings ကိုအကျိုးသက်ရောက်စေရန် PHP-FPM ဝန်ဆောင်မှုကိုပြန်လည်စတင်ပါ။
Max_childrens ၏ configuration ကိုချိန်ညှိခြင်းသည်စွမ်းဆောင်ရည်ပိုမိုကောင်းမွန်ခြင်း၏အစိတ်အပိုင်းတစ်ခုသာဖြစ်ပြီးအနာဂတ်တွင်စဉ်ဆက်မပြတ်စောင့်ကြည့်လေ့လာခြင်းနှင့်ညှိနှိုင်းမှုလိုအပ်သည်။
လုပ်ငန်းစဉ်အဆင့်အတန်းကိုစောင့်ကြည့်ရန်ထိပ်တန်းနှင့် Htp ၏ PHP-FPM-status စာမျက်နှာကဲ့သို့သော command-line tools များကိုသင်အသုံးပြုနိုင်သည်။ ဤကိရိယာများသည်လက်ရှိ PHP-FPM လုပ်ငန်းစဉ်များ, မှတ်ဉာဏ်အသုံးပြုမှုစသဖြင့်ပြုလုပ်နိုင်သည်။
PHP-FPM လုပ်ငန်းစဉ်အရေအတွက်မလုံလောက်ကြောင်းသင်တွေ့ရှိပါကနှေးကွေးစွာတောင်းဆိုမှုနှေးကွေးစွာတောင်းဆိုမှုကိုသင်ရနိုင်သည်။ အကယ်. system memory မလုံလောက်ပါကဤတန်ဖိုးကိုလျှော့ချရန်စဉ်းစားနိုင်သည်။ PM.Max_Requests, pm.start_servers စသည့်အခြား configuration options များကိုလည်းချိန်ညှိနိုင်သည်။
Max_children စစ်ကိုချိန်ညှိသောအခါဂရုတစိုက်စဉ်းစားရန်လိုအပ်သည်။ ကြီးမားသောတန်ဖိုးများသည်စနစ်ပေါ်တွင်အလွန်အမင်း 0 န်ဆောင်မှုပေးနိုင်သည်။ အသေးစိတ်စစ်ဆေးခြင်းနှင့်အကဲဖြတ်ခြင်းကိုချိန်ညှိခြင်းမပြုမီအကြံပြုပါသည်။
ထို့အပြင်ဆာဗာတွင်အခြား PHP မဟုတ်သောလုပ်ငန်းစဉ်များရှိပါက PHP-FPM ၏စွမ်းဆောင်ရည်ကိုမထိခိုက်စေရန်သူတို့၏အရင်းအမြစ်သုံးစွဲမှုကိုစဉ်းစားရန်လိုအပ်သည်။
PHP-FPM ၏ max_childen configuration ကိုကျိုးကြောင်းဆီလျော်စွာညှိခြင်းအားဖြင့်စနစ်၏တည်ငြိမ်မှုနှင့်စွမ်းဆောင်ရည်ကိုထိရောက်စွာတိုးတက်အောင်လုပ်နိုင်သည်။ ဆာဗာ၏ဟာ့ဒ်ဝဲအရင်းအမြစ်များနှင့်မျှော်လင့်ထားသည့်တောင်းဆိုမှုပမာဏအပေါ် အခြေခံ. ဤတန်ဖိုးကိုကျိုးကြောင်းဆီလျော်စွာ ထား. စနစ်ကိုအကောင်းဆုံးအခြေအနေတွင်သေချာစေရန်ပုံမှန်စောင့်ကြည့်ပြီးညှိပါ။