Anyè Atik
Pik nan CPU sèvè HestiaCP ? Yon gid konplè pou optimize pwosesis PHP-FPM!

Èske CPU sèvè ou a toujou a 100%? Èske fanatik yo ap vire tankou moun fou? Èske sit entènèt ou a ap chaje dousman? Kòz la ta ka php-fpm!
Mwen fèk dekouvri chenweiliang.com Pisin PHP sa a php-fpm Pwosesis la te konsome anpil lajan nan CPU a, epi sèvè a te kraze!
Pou m te kapab relanse sèvè a, mwen te eseye yon seri metòd optimize epi finalman mwen te reyisi diminye itilizasyon CPU a.
Kounye a, ann pataje gid optimize efikas sa a ! 🚀
1. Limite kantite pwosesis php-fpm
Paramèt defo pou php-fpm ka kreye yon kantite pwosesis san limit , sa ki ka lakòz yon surcharge CPU sèvè a.
Pou optimize li, nou ka modifye paramèt jesyon pwosesis la.
vire sou php-fpm Fichye konfigirasyon:
sudo nano /etc/php/*/fpm/pool.d/www.conf
- *Chanje vèsyon PHP ou a, tankou PHP8.3, epi chanje l pou l vin jan sa a:
/etc/php/8.3/fpm/pool.d/www.conf
Fè rechèch sou vèsyon PHP ki tabli pa HestiaCP a
v-list-web-domain user domain.com
E.g:
v-list-web-domain abc chenweiliang.com
Nan pwodiksyon an, ou pral wè yon bagay tankou:
PHP SUPPORT yes
PHP MODE php-fpm
PHP VERSION 8.3
Sa vle di sit entènèt la itilize PHP 8.3.
Jwenn ak modifye paramèt sa yo:
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 后自动退出
Lè sa a, rdemare php-fpm Pou fè li efikas:
sudo systemctl restart php-fpm
✅Efè : Limite kantite pwosesis pou anpeche php-fpm konsome resous CPU twòp.
2. Pèmèt OPCache (pou amelyore pèfòmans PHP)
PHP repare kòd la chak fwa li egzekite, ki se yon fatra nan resous.
Solisyon an? Pèmèt OPCache ak kachèt kòd PHP ou a!
编辑 php.ini dokiman:
sudo nano /etc/php/*/fpm/php.ini
Ajoute oswa modifye sa ki annapre yo:
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.validate_timestamps=0 # 禁用实时检测,提高性能
Apre ekonomize, rekòmanse pwosesis PHP:
sudo systemctl restart php8.3-fpm
✅Efè : Diminye analiz repetitif kòd PHP a, diminye chaj CPU a, epi amelyore efikasite ekzekisyon an.
3. Limite tan ekzekisyon maksimòm PHP scripts
Si yon script PHP kouri pou twò lontan, resous CPU yo pral kontinyèlman okipe.
Mete yon peryòd delè rezonab ka anpeche pwosesis "fè tèt di" okipe sèvè a pou yon tan long.
vire sou php.ini dokiman:
sudo nano /etc/php/*/fpm/php.ini
Modifye paramèt sa yo:
max_execution_time = 30 # PHP 脚本最多执行 30 秒
max_input_time = 30 # 处理输入数据最多 30 秒
memory_limit = 256M # 限制单个 PHP 进程的内存占用
Lè sa a, rekòmanse pwosesis PHP:
sudo systemctl restart php-fpm
✅Efè : Anpeche pwosesis PHP yo fonksyone pandan yon bon bout tan, sa ki diminye gaspiyaj resous CPU yo.
4. Tcheke Miskl Rekèt dousman
PHP-FPM gen yon chaj segondè,Li ka koze pa demann lan SQL dousman!
开启 Miskl Jounal rechèch dousman, chèche konnen deklarasyon SQL yo ki kenbe.
Edit dosye konfigirasyon MySQL la:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Ajoute nan:
slow_query_log = 1
slow_query_log_file = /var/log/mysql-slow.log
long_query_time = 1 # 超过 1 秒的查询会被记录
Apre sove, rekòmanse MySQL:
sudo systemctl restart mysql
Lè sa a, sèvi ak mysqldumpslow Analize demann dousman:
mysqldumpslow -s c -t 10 /var/log/mysql-slow.log
✅Rezilta : Idantifye demann SQL ki pran anpil tan, optimize pèfòmans baz done a, epi diminye chaj PHP endirèkteman.
5. Restriksyon memcached Itilizasyon resous
Gade nan lis pwosesis la, mwen te jwenn Itilizasyon CPU pwosesis Memcached se 24.8%!
Li ka ke alokasyon kachèt la twò gwo, sa ki lakòz CPU a trete yon gwo kantite done.
调整 memcached Konfigirasyon:
sudo nano /etc/memcached.conf
Revize:
-m 32 # 限制 Memcached 内存使用 32MB
Lè sa a, rdemare:
sudo systemctl restart memcached
✅Efè : Diminye chaj CPU a sou pwosesis Memcached la epi amelyore efikasite caching lan.
6. Pèmèt Nginx nan kachèt resous estatik
Anpil fwa, PHP trete demann ki gen yon gwo kantite CSS, JS, imaj, men dosye sa yo pa bezwen PHP analiz ditou!
Solisyon an? Sèvi ak Nginx pou kache resous estatik!
Edit konfigirasyon Nginx:
sudo nano /etc/nginx/nginx.conf
Ajoute nan:
location ~* \.(jpg|jpeg|png|gif|css|js|ico|xml)$ {
expires max;
log_not_found off;
}
Apre ekonomize, rekòmanse Nginx:
sudo systemctl restart nginx
✅Rezilta : Diminye kantite fwa PHP trete fichye estatik yo, kidonk diminye itilizasyon CPU a.
7. Jwenn script PHP ki pi plis CPU a
Si CPU a toujou twò wo apre optimize, li ka ke kèk script PHP ap kouri sovaj.
Sèvi ak lòd sa a pou chèche konnen pwosesis PHP ak itilizasyon CPU ki pi wo a:
ps -eo pid,user,pcpu,pmem,args --sort=-pcpu | grep php
Si ou jwenn ke yon script PHP ap pran twòp CPU, ou ka touye li dirèkteman:
kill -9 PID
✅Rezilta : Idantifye "move pòm" yo avèk presizyon epi anpeche pwosesis PHP yo okipe CPU a pandan peryòd pwolonje.
Rezime: 7 fason pou optimize PHP-FPM
✅ Limite kantite pwosesis PHP-FPM, pou anpeche surcharge CPU
✅ Pèmèt OPCache, redwi repete par nan kòd PHP
✅ Mete PHP delè, pou anpeche operasyon alontèm
✅ Tcheke MySQL demann dousman, optimize pèfòmans rechèch baz done
✅ Ajiste memwa Memcached, diminye fado CPU
✅ Pèmèt Nginx kachèt estatik, diminye fado nan analiz PHP
✅ Jwenn gwo CPU itilizasyon PHP scripts, optimize egzak
an konklizyon
Optimize sèvè se tankou kondisyon fizik, ou bezwen fè ajisteman egzak epi pa dezòd!
Apre yon seri de optimize, chaj sèvè CPU mwen an te tonbe nan 80% desann nan 15%, sit entènèt la louvri de fwa pi vit!
Si sèvè ou a gen pwoblèm menm jan an, eseye metòd sa yo! 💪
👉Pran aksyon kounye a! Optimize PHP-FPM ou a epi sove sèvè ou a! 🚀
Espere ke atik "Pwosesis HestiaCP php-fpm a konsome anpil resous CPU, kijan pou optimize li?" ki pataje sou blog Chen Weiliang la ( https://www.chenweiliang.com/ ) ap itil ou.
Pa ezite pataje lyen atik sa a: https://www.chenweiliang.com/cwl-32490.html
