HestiaCP php-fpm prozesuak CPU baliabide asko hartzen ditu. Nola optimiza dezaket?

HestiaCP Zerbitzariaren CPU gailurra? PHP-FPM prozesua optimizatzeko gida osoa!

HestiaCP php-fpm prozesuak CPU baliabide asko hartzen ditu. Nola optimiza dezaket?

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 ero bezala jan zuen, eta zerbitzaria PPT bat bezala itsatsita zegoen.
Zerbitzaria gordetzeko, optimizazio-metodo batzuk 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.
Optimitzeko, prozesuaren kudeaketa-parametroak doi ditzakegu.

打开 php-fpm Konfigurazio fitxategiak:

sudo nano /etc/php/*/fpm/pool.d/www.conf

Kokatu eta aldatu parametro hauek:

pm = dynamic
pm.max_children = 30   # 限制最大 PHP 进程数(根据服务器性能调整)
pm.start_servers = 5   # 初始进程数
pm.min_spare_servers = 3  # 最小空闲进程数
pm.max_spare_servers = 10  # 最大空闲进程数

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 php-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 脚本最多执行 30max_input_time = 30  # 处理输入数据最多 30memory_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

Desblokeatu AI laguntza eta esan agur lan eraginkorrari! 🔓💼

🌟 Izan zaitez AI arma magiko hauek esperimentatzen lehena kanalaren goiko direktorioan! 🌟

Partekatu eta gustatu gustatzen bazaizu! Zure partekatzeak eta gustukoak dira gure etengabeko motibazioa!

 

发表 评论

Zure helbide elektronikoa ez da argitaratuko. 必填 项 已 用 * 标注

Igo korrituko