Ny fizotran'ny HestiaCP php-fpm dia maka loharanon-karena CPU maro Ahoana no ahafahako manatsara azy?

HestiaCP Miakatra ny CPU server? Torolàlana feno amin'ny fanatsarana ny fizotran'ny PHP-FPM!

Ny fizotran'ny HestiaCP php-fpm dia maka loharanon-karena CPU maro Ahoana no ahafahako manatsara azy?

100% foana ve ny CPU server? Mihodikodina be ny mpankafy? Mihena ve ny hafainganan'ny fanokafana tranonkala?Mety ho php-fpm ilay meloka!

Vao haingana aho no nahita chenweiliang.com Ity dobo PHP ity php-fpm Ny dingana dia lanin'ny CPU toy ny adala, ary nianjera ny mpizara!

Mba hamelomana indray ny mpizara dia nanandrana andiana fomba fanatsarana aho ary nahomby tamin'ny fampihenana ny fampiasana CPU.

Ankehitriny, andao hizara izany Torolàlana momba ny fanatsarana mahomby! 🚀

1. Fehezo ny isan'ny fizotran'ny php-fpm

php-fpm default dia metymanam-petraNy dingana dia noforonina tsy voafehy, ka mahatonga ny CPU mpizara ho be loatra.

Mba hanamafisana izany dia azontsika ovaina ny mari-pamantarana fitantanana ny dingana.

Alefaso php-fpm Fikirakirana:

sudo nano /etc/php/*/fpm/pool.d/www.conf
  • *Ovay amin'ny version PHP-nao, toy ny PHP8.3, ary ovay ho toy izao:/etc/php/8.3/fpm/pool.d/www.conf

Anontanio ny dikan-teny PHP napetrak'i HestiaCP

v-list-web-domain user domain.com

E.g:

v-list-web-domain abc chenweiliang.com

Ao amin'ny output dia hahita zavatra toy izao ianao:

PHP SUPPORT      yes
PHP MODE        php-fpm
PHP VERSION     8.3

Midika izany fa mampiasa ny tranokala PHP 8.3.

Tadiavo sy ovao ireto paramètre ireto:

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

Dia reboot php-fpm Mba hampahomby azy:

sudo systemctl restart php-fpm

vokatry: Fepetra ny isan'ny dingana mba hisorohana ny php-fpm tsy handaniana be loatra ny loharanon-karena CPU.

2. Alefaso ny OPCache (hanatsarana ny fahombiazan'ny PHP)

Ny PHP dia mamerina ny kaody isaky ny vonoina, izay fandaniam-bola.
Ny vahaolana? Alefaso ny OPCache ary asio cache ny code PHP anao!

编辑 php.ini antontan-taratasy:

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

Ampio na ovao ireto manaraka ireto:

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

Aorian'ny fitehirizana, avereno indray ny dingana PHP:

sudo systemctl restart php8.3-fpm

vokatry: Mampihena ny famerimberenana ny kaody PHP, mampihena ny enta-mavesatry ny CPU, ary manatsara ny fahombiazan'ny famonoana.

3. Fehezo ny fotoana famonoana ambony indrindra amin'ny script PHP

Raha mandeha lava loatra ny script PHP iray, dia hibahana hatrany ny loharanon'ny CPU.
Ny fametrahana fe-potoana fialan-tsasatra mety dia mety hisakana ny fizotran'ny "maditra" tsy hibodo ny mpizara mandritra ny fotoana maharitra.

Alefaso php.ini antontan-taratasy:

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

Ovao ireto paramètre ireto:

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

Avy eo avereno indray ny dingana PHP:

sudo systemctl restart php-fpm

vokatry: Misoroka ny fizotran'ny PHP tsy haharitra ela ary mampihena ny fako loharanon-karena CPU.

4. Jereo MySQL Fanontaniana miadana

PHP-FPM dia manana enta-mavesatra be,Mety noho ny fangatahana SQL miadana izany!
Alefaso MySQL Diarin'ny fangatahana miadana, tadiavo ireo fanambarana SQL izay mitazona.

Amboary ny rakitra konfigurasi MySQL:

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

Hatovana ny:

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

Rehefa avy nitahiry, avereno indray ny MySQL:

sudo systemctl restart mysql

Ampiasao avy eo mysqldumpslow Famakafakana fanontaniana miadana:

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

vokatry: Tadiavo ny fangatahana SQL mandany fotoana, amboary ny fahombiazan'ny angon-drakitra, ary mampihena ankolaka ny entana PHP.

5. Fepetra ny fampiasana loharanon-karena Memcached

Rehefa nijery ny lisitry ny dingana aho dia nahita Ny fampiasana CPU Memcached dia 24.8%!
Mety ho lehibe loatra ny fizarana cache, ka mahatonga ny CPU hikarakara angon-drakitra betsaka.

fanitsiana memcached Fanamboarana:

sudo nano /etc/memcached.conf

Havaozina:

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

Avereno indray avy eo:

sudo systemctl restart memcached

vokatry: Mampihena ny enta-mavesatry ny CPU amin'ny fizotran'ny Memcached ary manatsara ny fahombiazan'ny cache.

6. Ampidiro ny Nginx amin'ny fitazonana loharano static

Imbetsaka, ny PHP dia mamaly ny fangatahana izay misy isa marobe CSS, JS, sary, fa ireo rakitra ireo dia tsy mila PHP parsing mihitsy!
Ny vahaolana? Mampiasà Nginx hanesorana ireo loharano static!

Ahitsio ny configuration Nginx:

sudo nano /etc/nginx/nginx.conf

Hatovana ny:

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

Aorian'ny fitehirizana, avereno indray ny Nginx:

sudo systemctl restart nginx

vokatry: Ahena ny isan'ny PHP manodinkodina rakitra static ary mampihena ny fampiasana CPU.

7. Tadiavo ny script PHP izay mampiasa CPU be indrindra

Raha mbola avo loatra ny CPU aorian'ny fanatsarana, dia mety ho ny script PHP sasany dia mihazakazaka be.
Ampiasao ity baiko manaraka ity hahitana ny fizotran'ny PHP miaraka amin'ny fampiasana CPU avo indrindra:

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

Raha hitanao fa maka CPU be loatra ny script PHP dia azonao atao ny mamono azy mivantana:

kill -9 PID

vokatry:Fantaro tsara ny "paoma ratsy" ary sakao ny fizotran'ny PHP tsy hibodo ny CPU mandritra ny fotoana maharitra.

Famintinana: fomba 7 hanatsarana ny PHP-FPM

Fero ny isan'ny fizotran'ny PHP-FPM, mba hisorohana ny fihoaran'ny CPU
Alefaso ny OPCache, ahena ny famerimberenana ny kaody PHP
Mametraka fotoana fiatoana PHP, mba hisorohana ny fandidiana maharitra
Manamarina ny fangatahana miadana MySQL, manatsara ny fahombiazan'ny fangatahana angona
Ahitsio Memcached Memory, mampihena ny enta-mavesatra CPU
Alefaso ny cache static Nginx, mampihena ny enta-mavesatra PHP parsing
Mitadiava script PHP fampiasana CPU avo lenta, fanatsarana mazava tsara

raha fintinina

Ny fanatsarana ny mpizara dia toy ny fahasalamana, mila manao fanitsiana marina ianao ary aza mikorontana!
Taorian'ny andiana fanatsarana, dia nihena ny enta-mavesatry ny CPU mpizara ahy 80% hatramin'ny 15%, misokatra indroa haingana ny tranokala!
Raha manana olana mitovy amin'izany ny mpizara anao, andramo ireto fomba ireto! 💪

???? Manaova hetsika izao! Amboary ny PHP-FPM anao ary tehirizo ny mpizara anao! 🚀

Comments

Tsy havoaka ny adiresy mailakao. Ampiasaina ny saha ilaina * Label

Horonana Top