Artikulu direktorioa
- 1 1. Mugatu php-fpm prozesuen kopurua
- 2 2. Gaitu OPCache (PHP errendimendua hobetzeko)
- 3 3. Mugatu PHP scripten gehienezko exekuzio-denbora
- 4 4. Egiaztatu MySQL-ren kontsulta motelak
- 5 5. Mugatu Memcached baliabideen erabilera
- 6 6. Gaitu Nginx-ek baliabide estatikoak gordetzeko
- 7 7. Aurkitu CPU gehien erabiltzen duen PHP scripta
- 8 Laburpena: PHP-FPM optimizatzeko 7 modu
- 9 Laburbilduz
HestiaCP Zerbitzariaren CPU gailurra? PHP-FPM prozesua optimizatzeko gida osoa!

Zerbitzariaren CPUa beti %100ean al dago? Azalea izugarri biraka ari da? Webgunearen irekiera abiadura moteltzen al da?Erruduna php-fpm izan daiteke!
Duela gutxi deskubritu dut chenweiliang.com PHP igerileku hau php-fpm Prozesuak CPUa izugarri jan zuen, eta zerbitzaria kraskatu egin zen!
Zerbitzaria berpizteko, hainbat optimizazio metodo probatu nituen eta azkenean CPUaren erabilera murriztea lortu nuen.
Orain, parteka dezagun hau Optimizazio eraginkorra gida!🚀
1. Mugatu php-fpm prozesuen kopurua
php-fpm ezarpen lehenetsiak balitekemugagabeaProzesua kontrolik gabe sortzen da, eta zerbitzariaren CPUa gainkargatu egiten da.
Optimizatzeko, prozesuen kudeaketa parametroak alda ditzakegu.
打开 php-fpm Konfigurazio fitxategiak:
sudo nano /etc/php/*/fpm/pool.d/www.conf
- *Aldatu zure PHP bertsiora, adibidez PHP8.3ra, eta aldatu honetara:
/etc/php/8.3/fpm/pool.d/www.conf
HestiaCP-k ezarritako PHP bertsioa kontsultatu
v-list-web-domain user domain.com
adib:
v-list-web-domain abc chenweiliang.com
Irteeran, honelako zerbait ikusiko duzu:
PHP SUPPORT yes
PHP MODE php-fpm
PHP VERSION 8.3
Horrek esan nahi du webguneak erabiltzen duela PHP 8.3.
Kokatu eta aldatu parametro hauek:
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 后自动退出
Ondoren, berrabiarazi php-fpm Eraginkorra izan dadin:
sudo systemctl restart php-fpm
✅ efektua: mugatu prozesu kopurua php-fpm-k CPU baliabideak gehiegi kontsumitzea ekiditeko.
2. Gaitu OPCache (PHP errendimendua hobetzeko)
PHP-k kodea errepikatzen du exekutatzen den bakoitzean, eta hori baliabideak xahutzea da.
Irtenbidea? Gaitu OPCache eta gorde zure PHP kodea!
编辑 php.ini dokumentua:
sudo nano /etc/php/*/fpm/php.ini
Gehitu edo aldatu honako hauek:
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.validate_timestamps=0 # 禁用实时检测,提高性能
Gorde ondoren, berrabiarazi PHP prozesua:
sudo systemctl restart php8.3-fpm
✅ efektua: Murriztu PHP kodearen analisi errepikakorra, PUZaren zama murriztu eta exekuzio eraginkortasuna hobetu.
3. Mugatu PHP scripten gehienezko exekuzio-denbora
PHP script bat denbora gehiegi exekutatzen bada, CPU baliabideak etengabe okupatuko dira.
Zentzuzko denbora-muga bat ezartzeak prozesu "egosgorrak" zerbitzaria denbora luzez okupatzea eragotzi dezake.
打开 php.ini dokumentua:
sudo nano /etc/php/*/fpm/php.ini
Aldatu parametro hauek:
max_execution_time = 30 # PHP 脚本最多执行 30 秒
max_input_time = 30 # 处理输入数据最多 30 秒
memory_limit = 256M # 限制单个 PHP 进程的内存占用
Ondoren, berrabiarazi PHP prozesua:
sudo systemctl restart php-fpm
✅ efektua: Saihestu PHP prozesuei denbora luzez exekutatzen ez diren eta CPU baliabideen xahutzea murriztea.
4. Egiaztatu MySQL Kontsulta motela
PHP-FPM-k karga handia du,Baliteke SQL kontsulta motelak eraginda!
开启 MySQL Kontsulten erregistro motela, aurkitu atzera egiten ari diren SQL adierazpenak.
Editatu MySQL konfigurazio fitxategia:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Gehitu:
slow_query_log = 1
slow_query_log_file = /var/log/mysql-slow.log
long_query_time = 1 # 超过 1 秒的查询会被记录
Gorde ondoren, berrabiarazi MySQL:
sudo systemctl restart mysql
Ondoren, erabili mysqldumpslow Aztertu kontsulta motelak:
mysqldumpslow -s c -t 10 /var/log/mysql-slow.log
✅ efektua: Ezagutu denbora behar duten SQL kontsultak, optimizatu datu-basearen errendimendua eta zeharka murriztu PHP karga.
5. Mugatu Memcached baliabideen erabilera
Prozesuen zerrendari begiratuta, aurkitu dut Memcached prozesuaren CPU erabilera % 24.8 da!
Baliteke cachearen esleipena handiegia izatea, CPUak datu kopuru handia prozesatzea eraginez.
调整 memcached Konfigurazioa:
sudo nano /etc/memcached.conf
修改:
-m 32 # 限制 Memcached 内存使用 32MB
Ondoren, berrabiarazi:
sudo systemctl restart memcached
✅ efektua: Murriztu Memcached prozesuaren PUZaren zama eta hobetu cachearen eraginkortasuna.
6. Gaitu Nginx-ek baliabide estatikoak gordetzeko
Askotan, PHP-k kopuru handia duten eskaerak prozesatzen ditu CSS, JS, irudiak, baina fitxategi hauek ez dute batere PHP analisia behar!
Irtenbidea? Erabili Nginx baliabide estatikoak gordetzeko!
Editatu Nginx konfigurazioa:
sudo nano /etc/nginx/nginx.conf
Gehitu:
location ~* \.(jpg|jpeg|png|gif|css|js|ico|xml)$ {
expires max;
log_not_found off;
}
Gorde ondoren, berrabiarazi Nginx:
sudo systemctl restart nginx
✅ efektua: Murriztu PHP-k fitxategi estatikoak prozesatzen dituen aldi kopurua eta PUZaren erabilera murriztu.
7. Aurkitu CPU gehien erabiltzen duen PHP scripta
Optimizazioaren ondoren CPUa oraindik altuegia bada, baliteke PHP script batzuk exekutatzen ari direla.
Erabili komando hau CPU erabilera handiena duen PHP prozesua ezagutzeko:
ps -eo pid,user,pcpu,pmem,args --sort=-pcpu | grep php
PHP script batek CPU gehiegi hartzen duela ikusten baduzu, zuzenean hil dezakezu:
kill -9 PID
✅ efektua:Zehaztasunez identifikatu "sagar txarrak" eta saihestu PHP prozesuak CPUa denbora luzez okupatzea.
Laburpena: PHP-FPM optimizatzeko 7 modu
✅ Mugatu PHP-FPM prozesuen kopurua, CPU gainkarga saihesteko
✅ Gaitu OPCache, murriztu PHP kodearen analisi errepikatua
✅ PHP denbora-muga ezartzen, epe luzerako funtzionamendua saihesteko
✅ MySQL kontsulta motelak egiaztatzea, optimizatu datu-basearen kontsultaren errendimendua
✅ Doitu Memcached memoria, CPU zama murriztuz
✅ Gaitu Nginx cache estatikoa, PHP analisiaren zama murriztuz
✅ Aurkitu CPU erabilera handiko PHP scriptak, optimizazio zehatza
Laburbilduz
Zerbitzariaren optimizazioa fitness bezalakoa da, doikuntza zehatzak egin behar dituzu eta ez nahastu!
Optimizazio batzuen ondoren, nire zerbitzariaren CPU karga jaitsi egin da %80tik %15era, webgunea bi aldiz azkarrago irekitzen da!
Zure zerbitzariak antzeko arazoak baditu, saiatu metodo hauek! 💪
???? Hartu neurriak orain! Optimizatu zure PHP-FPM eta gorde zure zerbitzaria! 🚀
Hope Chen Weiliang bloga ( https://www.chenweiliang.com/ ) shared "HestiaCP php-fpm prozesuak CPU baliabide asko hartzen ditu, nola optimizatu? ”, lagungarria izan daiteke.
Ongi etorri artikulu honen esteka partekatzera:https://www.chenweiliang.com/cwl-32490.html
Trikimailu ezkutu gehiago desblokeatzeko🔑, ongi etorri gure Telegram kanalera!
Partekatu eta gustatu gustatzen bazaizu! Zure partekatzeak eta gustukoak dira gure etengabeko motibazioa!