Il-proċess HestiaCP php-fpm jieħu ħafna riżorsi tas-CPU Kif nista 'nottimizzah?

Żidiet qawwija fis-CPU tas-server HestiaCP ? Gwida kompluta għall-ottimizzazzjoni tal-proċess PHP-FPM!

Il-proċess HestiaCP php-fpm jieħu ħafna riżorsi tas-CPU Kif nista 'nottimizzah?

Is-CPU tas-server tiegħek il-ħin kollu fuq 100%? Il-fannijiet qed iduru b'rata mgħaġġla? Il-websajt tiegħek qed titgħabba bil-mod? Il-ħati jista' jkun php-fpm!

Dan l-aħħar skoprejt chenweiliang.com Dan il-grupp PHP php-fpm Il-proċess kiel is-CPU b'mod mgħaġġel, u s-server iġġarraf!

Sabiex inqajjem is-server, ippruvajt serje ta' metodi ta' ottimizzazzjoni u fl-aħħar irnexxieli nnaqqas l-użu tas-CPU.

Issa, ejja naqsmu din il -gwida effiċjenti għall-ottimizzazzjoni ! 🚀

1. Illimita n-numru ta 'proċessi php-fpm

Is-settings awtomatiċi għal php-fpm jistgħu joħolqu numru illimitat ta' proċessi, u jikkawżaw tagħbija żejda tas-CPU tas-server.

Biex nottimizzawh, nistgħu nimmodifikaw il-parametri tal-ġestjoni tal-proċess.

打开 php-fpm Fajls tal-Konfigurazzjoni:

sudo nano /etc/php/*/fpm/pool.d/www.conf
  • *Ibdel għall-verżjoni tal-PHP tiegħek, bħal PHP8.3, u ibiddilha għal din:/etc/php/8.3/fpm/pool.d/www.conf

Staqsi l-verżjoni tal-PHP stabbilita minn HestiaCP

v-list-web-domain user domain.com

E.g:

v-list-web-domain abc chenweiliang.com

Fl-output, se tara xi ħaġa bħal:

PHP SUPPORT      yes
PHP MODE        php-fpm
PHP VERSION     8.3

Dan jindika li l-websajt tuża PHP 8.3.

Sib u mmodifika l-parametri li ġejjin:

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

Imbagħad reboot php-fpm Biex tagħmilha effettiva:

sudo systemctl restart php-fpm

✅Effett : Jillimita n-numru ta' proċessi biex jipprevjeni li php-fpm jikkonsma r-riżorsi tas-CPU b'mod eċċessiv.

2. Ippermetti OPCache (biex ittejjeb il-prestazzjoni tal-PHP)

PHP jeżamina mill-ġdid il-kodiċi kull darba li jiġi esegwit, li huwa ħela ta 'riżorsi.
Is-soluzzjoni? Ippermetti OPCache u cache l-kodiċi PHP tiegħek!

编辑 php.ini 文件 :

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

Żid jew immodifika dan li ġej:

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

Wara li ssalva, ibda mill-ġdid il-proċess PHP:

sudo systemctl restart php8.3-fpm

✅Effett : Inaqqas l-analiżi ripetittiva tal-kodiċi PHP, inaqqas it-tagħbija tas-CPU, u jtejjeb l-effiċjenza tal-eżekuzzjoni.

3. Illimita l-ħin massimu ta 'eżekuzzjoni ta' skripts PHP

Jekk script PHP jaħdem għal żmien twil wisq, ir-riżorsi tas-CPU se jkunu okkupati kontinwament.
L-issettjar ta 'perjodu ta' timeout raġonevoli jista 'jipprevjeni proċessi "stubborn" milli jokkupaw is-server għal żmien twil.

打开 php.ini 文件 :

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

Immodifika l-parametri li ġejjin:

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

Imbagħad erġa ibda l-proċess PHP:

sudo systemctl restart php-fpm

✅Effett : Jipprevjeni l-proċessi tal-PHP milli jaħdmu għal perjodi twal, u b'hekk inaqqas l-iskart tar-riżorsi tas-CPU.

4. Iċċekkja MySQL Mistoqsija bil-mod

PHP-FPM għandu tagħbija għolja,Jista 'jkun ikkawżat mill-mistoqsija SQL bil-mod!
开启 MySQL Log tal-mistoqsija bil-mod, sib id-dikjarazzjonijiet SQL li qed iżommu lura.

Editja l-fajl tal-konfigurazzjoni MySQL:

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

Żid ma':

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

Wara li ssejvja, ibda mill-ġdid MySQL:

sudo systemctl restart mysql

Imbagħad uża mysqldumpslow Analizza mistoqsijiet bil-mod:

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

✅Riżultat : Identifika mistoqsijiet SQL li jieħdu ħafna ħin, ottimizza l-prestazzjoni tad-database, u indirettament tnaqqas it-tagħbija tal-PHP.

5. Restrizzjonijiet memcached Użu tar-riżorsi

Meta nħares lejn il-lista tal-proċess, sibt L-użu tas-CPU tal-proċess Memcached huwa 24.8%!
Jista 'jkun li l-allokazzjoni tal-cache hija kbira wisq, u tikkawża li s-CPU jipproċessa ammont kbir ta' dejta.

调整 memcached Konfigurazzjoni:

sudo nano /etc/memcached.conf

Irrevedi:

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

Imbagħad reboot:

sudo systemctl restart memcached

✅Effett : Inaqqas it-tagħbija tas-CPU fuq il-proċess Memcached u jtejjeb l-effiċjenza tal-caching.

6. Ippermetti lil Nginx biex jaqbad ir-riżorsi statiċi fil-cache

Ħafna drabi, PHP jipproċessa talbiet li fihom numru kbir ta ' CSS, JS, immaġini, iżda dawn il-fajls m'għandhom bżonn parsing PHP xejn!
Is-soluzzjoni? Uża Nginx biex tpoġġi fil-cache riżorsi statiċi!

Editja l-konfigurazzjoni Nginx:

sudo nano /etc/nginx/nginx.conf

Żid ma':

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

Wara li ssejvja, erġa ibda Nginx:

sudo systemctl restart nginx

✅Riżultat : Inaqqas l-għadd ta' drabi li l-PHP jipproċessa fajls statiċi, u b'hekk inaqqas l-użu tas-CPU.

7. Sib l-iskrittura PHP li juża l-aktar CPU

Jekk is-CPU għadu għoli wisq wara l-ottimizzazzjoni, jista 'jkun li xi skripts PHP qed jaħdmu b'mod selvaġġ.
Uża l-kmand li ġej biex issir taf il-proċess PHP bl-ogħla użu tas-CPU:

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

Jekk issib li script PHP qed jieħu wisq CPU, tista' toqtolha direttament:

kill -9 PID

✅Riżultat : Jidentifika b'mod preċiż "tuffieħ ħżiena" u jipprevjeni l-proċessi PHP milli jokkupaw is-CPU għal perjodi twal.

Sommarju: 7 modi kif tottimizza PHP-FPM

Illimita n-numru ta 'proċessi PHP-FPM, biex tevita tagħbija żejda tas-CPU
Ippermetti OPCache, tnaqqas l-analiżi ripetuta tal-kodiċi PHP
Twaqqif ta' timeout PHP, biex tevita tħaddim fit-tul
Iċċekkja mistoqsijiet bil-mod MySQL, ottimizza l-prestazzjoni tal-mistoqsija tad-database
Aġġusta Memorja Memcached, tnaqqas il-piż tas-CPU
Ippermetti Nginx cache statiku, tnaqqas il-piż tal-parsing PHP
Sib skripts PHP ta' użu għoli ta' CPU, ottimizzazzjoni preċiża

fil-konklużjoni

L-ottimizzazzjoni tas-server hija bħall-fitness, trid tagħmel aġġustamenti preċiżi u ma tħawwadx!
Wara serje ta 'ottimizzazzjonijiet, it-tagħbija tas-CPU tas-server tiegħi naqset minn 80% sa 15%, il-websajt tiftaħ darbtejn aktar malajr!
Jekk is-server tiegħek għandu problemi simili, ipprova dawn il-metodi! 💪

👉Ħu azzjoni issa! Ottimizza l-PHP-FPM tiegħek u salva s-server tiegħek! 🚀

发表 评论

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

Skrollja Top