Pwosesis HestiaCP php-fpm pran anpil resous CPU Kouman mwen ka optimize li?

HestiaCP Vag CPU sèvè? Yon gid konplè pou optimize pwosesis PHP-FPM!

Pwosesis HestiaCP php-fpm pran anpil resous CPU Kouman mwen ka optimize li?

Èske CPU sèvè a toujou nan 100%? Fanatik la ap vire sovaj? Èske vitès ouvèti sit entènèt la ap ralanti?Koupab 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.

Koulye a, ann pataje sa a Gid Optimizasyon efikas! 🚀

1. Limite kantite pwosesis php-fpm

php-fpm paramèt default yo kasan limitPwosesis la kreye san kontwòl, sa ki lakòz CPU sèvè a twò chaje.

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 ke 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 depase resous CPU yo.

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 repete nan kòd PHP, redwi fado CPU, ak amelyore efikasite ekzekisyon.

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 脚本最多执行 30max_input_time = 30  # 处理输入数据最多 30memory_limit = 256M  # 限制单个 PHP 进程的内存占用

Lè sa a, rekòmanse pwosesis PHP:

sudo systemctl restart php-fpm

Efè: Anpeche pwosesis PHP yo kouri pou yon tan long epi redwi fatra resous CPU.

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

Efè: Chèche konnen demann SQL ki pran tan, optimize pèfòmans baz done a, epi endirèkteman redwi chaj PHP.

5. Limite itilizasyon resous Memcached

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 fado CPU pwosesis Memcached la epi amelyore efikasite kachèt la.

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

Efè: Diminye kantite fwa PHP trete fichye estatik epi redwi itilizasyon CPU.

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

Efè:Idantifye avèk presizyon "move pòm yo" epi anpeche pwosesis PHP a okipe CPU a pou yon tan long.

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 epi sove sèvè ou a! 🚀

kòmantè

Adrès imel ou p ap pibliye. Jaden obligatwa yo te itilize * Mete etikèt sou

Ki gen tèt