ဆောင်းပါးလမ်းညွှန်
- 1 1. php-fpm လုပ်ငန်းစဉ်များ အရေအတွက်ကို ကန့်သတ်ပါ။
- 2 2. OPCache ကိုဖွင့်ပါ (PHP စွမ်းဆောင်ရည်ကို မြှင့်တင်ရန်)
- 3 3. PHP script များ၏ အမြင့်ဆုံးလုပ်ဆောင်ချိန်ကို ကန့်သတ်ပါ။
- 4 4. MySQL နှေးကွေးသော မေးမြန်းချက်များကို စစ်ဆေးပါ။
- 5 5. Memcached အရင်းအမြစ်အသုံးပြုမှုကို ကန့်သတ်ပါ။
- 6 6. တည်ငြိမ်သောရင်းမြစ်များကို သိမ်းဆည်းရန် Nginx ကို ဖွင့်ပါ။
- 7 7. CPU အများဆုံးအသုံးပြုသော PHP script ကိုရှာပါ။
- 8 အနှစ်ချုပ်- PHP-FPM ကို အကောင်းဆုံးဖြစ်အောင်လုပ်ရန် နည်းလမ်း 7 ခု
- 9 နိဂုံးချုပ်အားဖြင့်
HestiaCP ဆာဗာ CPU တိုးနေသလား။ PHP-FPM လုပ်ငန်းစဉ်ကို အကောင်းဆုံးဖြစ်အောင် ပြုလုပ်ရန် ပြီးပြည့်စုံသော လမ်းညွှန်ချက်။

ဆာဗာ CPU သည် အမြဲတမ်း 100% ရှိပါသလား။ ပန်ကာက ရိုင်းစိုင်းနေတာလား။ ဝဘ်ဆိုဒ်ဖွင့်လှစ်မှု အရှိန်နှေးသွားပါသလား။တရားခံသည် php-fpm ဖြစ်နိုင်သည်။
ငါမကြာသေးမီကရှာဖွေတွေ့ရှိခဲ့သည်။ chenweiliang.com ဤ PHP ရေကန် php-fpm လုပ်ငန်းစဉ်သည် CPU ကို ရူးသွပ်သွားသလို ဆာဗာ ပျက်သွားသည်။
ဆာဗာကို ပြန်လည်အသက်သွင်းရန်အတွက်၊ ကောင်းမွန်အောင်ပြုလုပ်ခြင်းနည်းလမ်းများကို ဆက်တိုက်ကြိုးစားခဲ့ပြီး နောက်ဆုံးတွင် CPU အသုံးပြုမှုကို လျှော့ချနိုင်ခဲ့သည်။
ကဲ ဒါကို မျှဝေလိုက်ကြရအောင် ထိရောက်သော ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ခြင်း လမ်းညွှန်! 🚀
1. php-fpm လုပ်ငန်းစဉ်များ အရေအတွက်ကို ကန့်သတ်ပါ။
php-fpm ပုံသေဆက်တင်များ ဖြစ်နိုင်သည်။အကန့်အသတ်မရှိလုပ်ငန်းစဉ်ကို ထိန်းချုပ်နိုင်စွမ်းမရှိအောင် ဖန်တီးထားသောကြောင့် ဆာဗာ CPU ကို overload ဖြစ်စေသည်။
၎င်းကို အကောင်းဆုံးဖြစ်အောင်၊ ကျွန်ုပ်တို့သည် လုပ်ငန်းစဉ်စီမံခန့်ခွဲမှု ဘောင်များကို ပြင်ဆင်နိုင်ပါသည်။
ဖွင့်သည် php-fpm ဖွဲ့စည်းမှုဖိုင်များ-
sudo nano /etc/php/*/fpm/pool.d/www.conf
- *PHP8.3 ကဲ့သို့သော သင်၏ PHP ဗားရှင်းသို့ ပြောင်းလဲပြီး ၎င်းကို ဤသို့ပြောင်းပါ-
/etc/php/8.3/fpm/pool.d/www.conf
HestiaCP မှသတ်မှတ်ထားသော PHP ဗားရှင်းကို မေးမြန်းပါ။
v-list-web-domain user domain.com
ဥပမာ -
v-list-web-domain abc chenweiliang.com
အထွက်တွင်၊ သင်သည် အောက်ပါကဲ့သို့ တစ်ခုခုကို တွေ့ရလိမ့်မည်-
PHP SUPPORT yes
PHP MODE php-fpm
PHP VERSION 8.3
ဆိုလိုသည်မှာ site ကိုအသုံးပြုသည်။ PHP ကို 8.3။
အောက်ပါ parameters များကို ရှာဖွေပြီး ပြင်ဆင်ပါ
pm = dynamic
pm.max_children = 16 ; 根据服务器资源调整,建议值:CPU 核心数 × 2
pm.start_servers = 4 ; 初始进程数,建议设为 max_children × 25%
pm.min_spare_servers = 2 ; 最小空闲进程数
pm.max_spare_servers = 7 ; 最大空闲进程数
pm.max_requests = 3000 ; 每个子进程处理完 3000 个请求后自动重启
pm.process_idle_timeout = 10s ; 空闲进程 10s 后自动退出
ပြီးရင် reboot လုပ်ပါ။ php-fpm ထိရောက်စေရန်-
sudo systemctl restart php-fpm
✅ 效果php-fpm ကို CPU အရင်းအမြစ်များ အလွန်အကျွံစားသုံးခြင်းမှ ကာကွယ်ရန် လုပ်ငန်းစဉ်အရေအတွက်ကို ကန့်သတ်ပါ။
2. OPCache ကိုဖွင့်ပါ (PHP စွမ်းဆောင်ရည်ကို မြှင့်တင်ရန်)
PHP သည် အရင်းအမြစ်များကို ဖြုန်းတီးသည့်အချိန်တိုင်း ၎င်းကုဒ်ကို ပြန်လည်ပြုပြင်သည်။
ဖြေရှင်းချက်? OPCache ကိုဖွင့်ပြီး သင်၏ PHP ကုဒ်ကို သိမ်းဆည်းပါ။
编辑 php.ini စာရွက်စာတမ်း:
sudo nano /etc/php/*/fpm/php.ini
အောက်ပါတို့ကို ထည့်ပါ သို့မဟုတ် ပြင်ဆင်ပါ-
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.validate_timestamps=0 # 禁用实时检测,提高性能
သိမ်းဆည်းပြီးနောက် PHP လုပ်ငန်းစဉ်ကို ပြန်လည်စတင်ပါ။
sudo systemctl restart php8.3-fpm
✅ 效果− PHP ကုဒ်ကို ထပ်ခါတလဲလဲ ခွဲခြမ်းစိတ်ဖြာမှု လျှော့ချရန်၊ CPU ဝန်ထုပ်ဝန်ပိုးကို လျှော့ချရန်နှင့် လုပ်ဆောင်မှု စွမ်းဆောင်ရည်ကို မြှင့်တင်ပါ။
3. PHP script များ၏ အမြင့်ဆုံးလုပ်ဆောင်ချိန်ကို ကန့်သတ်ပါ။
PHP script တစ်ခုသည် အကြာကြီး အလုပ်လုပ်ပါက CPU အရင်းအမြစ်များကို ဆက်တိုက် သိမ်းပိုက်သွားပါမည်။
ကျိုးကြောင်းဆီလျော်သော အချိန်ကုန်သည့်ကာလကို သတ်မှတ်ခြင်းသည် ဆာဗာအား အချိန်ကြာမြင့်စွာ သိမ်းပိုက်ခြင်းမှ "ခေါင်းမာသော" လုပ်ငန်းစဉ်များကို တားဆီးနိုင်သည်။
ဖွင့်သည် php.ini စာရွက်စာတမ်း:
sudo nano /etc/php/*/fpm/php.ini
အောက်ပါ parameters တွေကို ပြင်ဆင်ပါ
max_execution_time = 30 # PHP 脚本最多执行 30 秒
max_input_time = 30 # 处理输入数据最多 30 秒
memory_limit = 256M # 限制单个 PHP 进程的内存占用
ထို့နောက် PHP လုပ်ငန်းစဉ်ကို ပြန်လည်စတင်ပါ။
sudo systemctl restart php-fpm
✅ 效果: PHP လုပ်ငန်းစဉ်များကို အချိန်ကြာမြင့်စွာ လုပ်ဆောင်ခြင်းမှ တားဆီးကာ CPU အရင်းအမြစ် စွန့်ပစ်ခြင်းကို လျှော့ချပါ။
4. စစ်ဆေးပါ။ က MySQL မေးမြန်းမှု နှေးကွေးသည်။
PHP-FPM သည် မြင့်မားသောဝန်၊နှေးကွေးသော SQL query ကြောင့်ဖြစ်နိုင်သည်။
ဖွင့်သည် က MySQL နှေးကွေးသော စုံစမ်းမှုမှတ်တမ်း၊ နောက်ပြန်ဆုတ်နေသော SQL ကြေညာချက်များကို ရှာဖွေပါ။
MySQL configuration file ကို တည်းဖြတ်ပါ။
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
ထည့်သည်:
slow_query_log = 1
slow_query_log_file = /var/log/mysql-slow.log
long_query_time = 1 # 超过 1 秒的查询会被记录
သိမ်းဆည်းပြီးနောက် MySQL ကို ပြန်လည်စတင်ပါ။
sudo systemctl restart mysql
ပြီးရင် သုံးပါ။ mysqldumpslow နှေးကွေးသောမေးခွန်းများကို ပိုင်းခြားစိတ်ဖြာပါ။
mysqldumpslow -s c -t 10 /var/log/mysql-slow.log
✅ 效果- အချိန်ကုန်သော SQL မေးမြန်းမှုများကို ရှာဖွေပါ၊ ဒေတာဘေ့စ်စွမ်းဆောင်ရည်ကို ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ကာ PHP ဝန်ကို သွယ်ဝိုက်၍ဖြစ်စေ လျှော့ချပါ။
5. Memcached အရင်းအမြစ်အသုံးပြုမှုကို ကန့်သတ်ပါ။
လုပ်ငန်းစဉ်စာရင်းကို ကြည့်လိုက်ရင် တွေ့တယ်။ Memcached လုပ်ငန်းစဉ် CPU အသုံးပြုမှုသည် 24.8% ဖြစ်သည်။
ကက်ရှ်ခွဲဝေမှုသည် ကြီးလွန်းသဖြင့် CPU သည် ဒေတာပမာဏများစွာကို စီမံဆောင်ရွက်ပေးနိုင်သောကြောင့် ဖြစ်နိုင်သည်။
ညှိနှိုင်းမှု memcached ဖွဲ့စည်းမှု-
sudo nano /etc/memcached.conf
ပြန်လည်ပြင်ဆင်ပါ-
-m 32 # 限制 Memcached 内存使用 32MB
ထို့နောက် reboot-
sudo systemctl restart memcached
✅ 效果: Memcached လုပ်ငန်းစဉ်၏ CPU ဝန်ထုပ်ဝန်ပိုးကို လျှော့ချပြီး ကက်ရှ်စွမ်းဆောင်ရည်ကို မြှင့်တင်ပါ။
6. တည်ငြိမ်သောရင်းမြစ်များကို သိမ်းဆည်းရန် Nginx ကို ဖွင့်ပါ။
အကြိမ်များစွာ၊ PHP သည် အများအပြားပါဝင်သည့် တောင်းဆိုမှုများကို လုပ်ဆောင်သည်။ CSS၊ JS၊ ပုံများသို့သော် ဤဖိုင်များသည် PHP ခွဲခြမ်းစိတ်ဖြာခြင်း လုံးဝမလိုအပ်ပါ။
ဖြေရှင်းချက်? တည်ငြိမ်သောအရင်းအမြစ်များကိုသိမ်းဆည်းရန် Nginx ကိုသုံးပါ။
Nginx ဖွဲ့စည်းမှုပုံစံကို တည်းဖြတ်ပါ။
sudo nano /etc/nginx/nginx.conf
ထည့်သည်:
location ~* \.(jpg|jpeg|png|gif|css|js|ico|xml)$ {
expires max;
log_not_found off;
}
သိမ်းဆည်းပြီးနောက် Nginx ကို ပြန်လည်စတင်ပါ။
sudo systemctl restart nginx
✅ 效果: PHP သည် တည်ငြိမ်ဖိုင်များကို လုပ်ဆောင်သည့် အကြိမ်အရေအတွက်ကို လျှော့ချပြီး CPU အသုံးပြုမှုကို လျှော့ချပါ။
7. CPU အများဆုံးအသုံးပြုသော PHP script ကိုရှာပါ။
ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ပြီးနောက် CPU သည် အလွန်မြင့်မားနေပါက၊ အချို့သော PHP script များသည် ရိုင်းစိုင်းစွာလည်ပတ်နေခြင်းကြောင့်ဖြစ်နိုင်သည်။
CPU အသုံးပြုမှု အများဆုံးရှိသော PHP လုပ်ငန်းစဉ်ကို သိရှိရန် အောက်ပါ command ကိုသုံးပါ။
ps -eo pid,user,pcpu,pmem,args --sort=-pcpu | grep php
PHP script သည် CPU အလွန်အကျွံယူနေသည်ကိုတွေ့ပါက၊ ၎င်းကိုတိုက်ရိုက်သတ်နိုင်သည်။
kill -9 PID
✅ 效果: "မကောင်းသောပန်းသီးများ" ကို တိကျစွာခွဲခြားပြီး PHP လုပ်ငန်းစဉ်ကို အချိန်ကြာမြင့်စွာ သိမ်းပိုက်ခြင်းမှ တားဆီးပါ။
အနှစ်ချုပ်- PHP-FPM ကို အကောင်းဆုံးဖြစ်အောင်လုပ်ရန် နည်းလမ်း 7 ခု
✅ PHP-FPM လုပ်ငန်းစဉ် အရေအတွက်ကို ကန့်သတ်ပါ။CPU overload ကိုကာကွယ်ရန်
✅ OPCache ကိုဖွင့်ပါ။PHP ကုဒ်ကို ထပ်ခါတလဲလဲ ခွဲခြမ်းစိတ်ဖြာမှု လျှော့ချပါ။
✅ PHP timeout သတ်မှတ်ခြင်း။ရေရှည်လည်ပတ်မှုကို တားဆီးရန်
✅ MySQL နှေးကွေးသောမေးခွန်းများကို စစ်ဆေးခြင်း။ဒေတာဘေ့စ်မေးမြန်းမှုစွမ်းဆောင်ရည်ကို အကောင်းဆုံးဖြစ်အောင်လုပ်ပါ။
✅ Memcached Memory ကို ချိန်ညှိပါ။CPU ဝန်ထုပ်ဝန်ပိုးကို လျှော့ချပေးသည်။
✅ Nginx static cache ကိုဖွင့်ပါ။PHP parsing ဝန်ထုပ်ဝန်ပိုးကို လျှော့ချပေးသည်။
✅ CPU အသုံးပြုမှုမြင့်မားသော PHP scripts များကိုရှာပါ။, တိကျသော optimization
နိဂုံးချုပ်အားဖြင့်
ဆာဗာ ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ခြင်းသည် ကြံ့ခိုင်မှုနှင့်တူသည်၊ သင်သည် တိကျသော ချိန်ညှိမှုများ ပြုလုပ်ရန် လိုအပ်ပြီး မရှုပ်ပါနှင့်။
ပိုကောင်းအောင် လုပ်ဆောင်မှုများ ဆက်တိုက် ပြုလုပ်ပြီးနောက်၊ ကျွန်ုပ်၏ ဆာဗာ CPU ဝန်သည် ကျဆင်းသွားပါသည်။ 80% မှ 15% အထိ၊ဝဘ်ဆိုဒ်က နှစ်ဆပိုမြန်တယ်။
သင့်ဆာဗာတွင် အလားတူပြဿနာများရှိပါက ဤနည်းလမ်းများကို စမ်းကြည့်ပါ။ 💪
???? ယခုအရေးယူပါ။ သင်၏ PHP-FPM ကို အကောင်းဆုံးဖြစ်အောင်လုပ်ပြီး သင့်ဆာဗာကို သိမ်းဆည်းပါ။ 🚀
မျှော်လင့်ခြင်း Chen Weiliang ဘလော့ဂ် ( https://www.chenweiliang.com/ ) မျှဝေခဲ့သည် "HestiaCP php-fpm လုပ်ငန်းစဉ်သည် CPU အရင်းအမြစ်များစွာကို နေရာယူသည်၊ ၎င်းကို အကောင်းဆုံးဖြစ်အောင် မည်သို့လုပ်ဆောင်မည်နည်း။ “ဒါက သင့်အတွက် အထောက်အကူဖြစ်နိုင်ပါတယ်။
ဤဆောင်းပါး၏ link ကိုမျှဝေရန်ကြိုဆိုပါတယ်:https://www.chenweiliang.com/cwl-32490.html
နောက်ထပ်လျှို့ဝှက်လှည့်ကွက်များကိုသော့ဖွင့်ရန်🔑၊ ကျွန်ုပ်တို့၏ Telegram ချန်နယ်တွင် ပါဝင်ရန် ကြိုဆိုလိုက်ပါ။
ကြိုက်ရင် Share ပြီး Like လုပ်ပါ။ သင်၏ မျှဝေမှုများနှင့် ကြိုက်နှစ်သက်မှုများသည် ကျွန်ုပ်တို့၏ ဆက်လက်လှုံ့ဆော်မှုဖြစ်သည်။