Den HestiaCP php-fpm Prozess hëlt vill CPU Ressourcen op Wéi kann ech et optimiséieren?

HestiaCP Server CPU Spëtzen? E komplette Guide fir PHP-FPM Prozessoptimiséierung!

Den HestiaCP php-fpm Prozess hëlt vill CPU Ressourcen op Wéi kann ech et optimiséieren?

Ass Äre Server-CPU stänneg op 100%? Dréinen d'Ventilatoren sech wéi verréckt? Luet Är Websäit lues? De Grond kéint php-fpm sinn!

Ech hunn viru kuerzem entdeckt chenweiliang.com Dëst PHP Pool php-fpm De Prozess huet d'CPU wéi verréckt giess, an de Server ass ofgestürzt!

Fir de Server nei opzebauen, hunn ech eng Rei vun Optimiséierungsmethoden ausprobéiert an et schliisslech gelongen, de CPU-Benotzung ze reduzéieren.

Elo, loosst eis dëse Guide fir effizient Optimiséierung deelen ! 🚀

1. Limitéiert d'Zuel vu php-fpm Prozesser

Déi Standardastellungen fir php-fpm kënnen eng onlimitéiert Zuel vu Prozesser erstellen, wat zu enger Iwwerbelaaschtung vum Server-CPU féiert.

Fir et ze optimiséieren, kënne mir d'Parameter vum Prozessmanagement änneren.

uschalten php-fpm Konfiguratiounsdateien:

sudo nano /etc/php/*/fpm/pool.d/www.conf
  • *Wiesselt op Är PHP Versioun, wéi zum Beispill PHP8.3, an ännert se op dës:/etc/php/8.3/fpm/pool.d/www.conf

D'PHP-Versioun offroen, déi vum HestiaCP festgeluecht gouf

v-list-web-domain user domain.com

E.g:

v-list-web-domain abc chenweiliang.com

An der Ausgab gesitt Dir eppes wéi:

PHP SUPPORT      yes
PHP MODE        php-fpm
PHP VERSION     8.3

Dëst weist drop hin, datt d'Websäit PHP 8.3 benotzt.

Fannt a ännert déi folgend Parameteren:

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 后自动退出

Da restart php-fpm Fir et effektiv ze maachen:

sudo systemctl restart php-fpm

✅Effekt : Limitéiert d'Zuel vun de Prozesser fir ze verhënneren datt php-fpm exzessiv CPU-Ressourcen verbraucht.

2. OPCache aktivéieren (fir d'PHP Leeschtung ze verbesseren)

PHP reparéiert de Code all Kéier wann et ausgefouert gëtt, wat eng Verschwendung vu Ressourcen ass.
D'Léisung? Aktivéiert OPCache an cache Äre PHP Code!

编辑 php.ini Dokument:

sudo nano /etc/php/*/fpm/php.ini

Füügt oder änneren déi folgend:

opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.validate_timestamps=0  # 禁用实时检测,提高性能

Nodeems Dir späichert, start de PHP-Prozess nei:

sudo systemctl restart php8.3-fpm

✅Effekt : Reduzéiert d'repetitiv Parsing vum PHP-Code, reduzéiert d'CPU-Laascht a verbessert d'Ausféierungseffizienz.

3. Limitéiert déi maximal Ausféierungszäit vu PHP Scripten

Wann e PHP Skript ze laang leeft, ginn d'CPU Ressourcen kontinuéierlech besat.
Eng raisonnabel Timeout Period ze setzen kann verhënneren datt "haartnäckege" Prozesser de Server fir eng laang Zäit besetzen.

uschalten php.ini Dokument:

sudo nano /etc/php/*/fpm/php.ini

Änneren déi folgend Parameteren:

max_execution_time = 30  # PHP 脚本最多执行 30max_input_time = 30  # 处理输入数据最多 30memory_limit = 256M  # 限制单个 PHP 进程的内存占用

Da starten de PHP Prozess nei:

sudo systemctl restart php-fpm

✅Effekt : Verhënnert datt PHP-Prozesser iwwer eng länger Zäit lafen, wat d'Verschwendung vu CPU-Ressourcen reduzéiert.

4. Check MySQL Lues Ufro

PHP-FPM huet eng héich Belaaschtung,Et kann duerch déi lues SQL Ufro verursaacht ginn!
Uschalten MySQL Luesen Ufro Log, Fannt d'SQL Aussoen eraus, déi zréckhalen.

Änneren d'MySQL Konfiguratiounsdatei:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Add to:

slow_query_log = 1
slow_query_log_file = /var/log/mysql-slow.log
long_query_time = 1  # 超过 1 秒的查询会被记录

No späicheren, nei starten MySQL:

sudo systemctl restart mysql

Dann benotzen mysqldumpslow Analyse lues Ufroen:

mysqldumpslow -s c -t 10 /var/log/mysql-slow.log

✅Resultat : Zäitopwänneg SQL-Ufroen identifizéieren, Datebankleistung optimiséieren an indirekt d'PHP-Laascht reduzéieren.

5. Restriktiounen memcached Ressourcenverbrauch

Sicht op der Prozess Lëscht, Ech fonnt Memcached Prozess CPU Notzung ass 24.8%!
Et kann sinn datt d'Cacheallokatioun ze grouss ass, sou datt d'CPU eng grouss Quantitéit un Daten veraarbecht.

Upassung memcached Konfiguratioun:

sudo nano /etc/memcached.conf

Iwwerschaffen:

-m 32  # 限制 Memcached 内存使用 32MB

Da restart:

sudo systemctl restart memcached

✅Effekt : Reduzéiert d'CPU-Laascht um Memcached-Prozess a verbessert d'Caching-Effizienz.

6. Aktivéiert Nginx fir statesch Ressourcen ze cache

Vill Mol veraarbecht PHP Ufroen déi eng grouss Zuel vu enthalen CSS, JS, Biller, awer dës Dateie brauche guer net PHP-Parsing!
D'Léisung? Benotzt Nginx fir statesch Ressourcen ze cache!

Nginx Konfiguratioun änneren:

sudo nano /etc/nginx/nginx.conf

Add to:

location ~* \.(jpg|jpeg|png|gif|css|js|ico|xml)$ {
    expires max;
    log_not_found off;
}

Nodeems Dir späichert, restart Nginx:

sudo systemctl restart nginx

✅Resultat : Reduzéiert d'Zuel vun de Veraarbechtunge vu statesche Dateien duerch PHP, wat de CPU-Notzung reduzéiert.

7. Fannt de PHP Skript deen am meeschte CPU benotzt

Wann d'CPU nach ëmmer ze héich ass no der Optimisatioun, kann et sinn datt e puer PHP Scripte wild lafen.
Benotzt de folgende Kommando fir de PHP-Prozess mat der héchster CPU Benotzung erauszefannen:

ps -eo pid,user,pcpu,pmem,args --sort=-pcpu | grep php

Wann Dir fannt datt e PHP Skript ze vill CPU ophëlt, kënnt Dir et direkt ëmbréngen:

kill -9 PID

✅Resultat : Identifizéiert präzis "béis Äppel" a verhënnert datt PHP-Prozesser d'CPU fir eng länger Zäit besetzen.

Resumé: 7 Weeër fir PHP-FPM ze optimiséieren

Limitéiert d'Zuel vu PHP-FPM Prozesser, fir CPU Iwwerlaascht ze verhënneren
OPCache aktivéieren, reduzéieren widderholl Parsing vun PHP Code
PHP Timeout setzen, fir laangfristeg Operatioun ze verhënneren
Iwwerpréift MySQL lues Ufroen, optimiséiert Datebank Ufro Leeschtung
Ajustéieren Memcached Erënnerung, CPU Belaaschtung reduzéieren
Aktivéiert Nginx statesche Cache, reduzéieren d'PHP Parsing Belaaschtung
Fannt PHP Scripte fir héich CPU Benotzung, präzis Optimisatioun

Ofschléissend

Serveroptimiséierung ass wéi Fitness, Dir musst präzis Upassunge maachen an net messen!
No enger Serie vun Optimisatiounen ass meng Server CPU Laascht erofgaang 80% erof op 15%, d'Websäit mécht duebel sou séier op!
Wann Äre Server ähnlech Problemer huet, probéiert dës Methoden! 💪

👉 Maacht elo eppes! Optimiséiert Är PHP-FPM a spuert Äre Server! 🚀

Comments

您的邮箱地址不会被公开。必填项已用*标注

Minière zu Top