Inkqubo ye-HestiaCP php-fpm ithatha izixhobo ezininzi ze-CPU.

I-HestiaCP Umncedisi we CPU spike? Isikhokelo esipheleleyo sokuphucula inkqubo ye-PHP-FPM!

Inkqubo ye-HestiaCP php-fpm ithatha izixhobo ezininzi ze-CPU.

Ngaba i-CPU yomncedisi isoloko iku-100%? Ifeni ijikeleza ngamandla? Ngaba isantya sokuvula iwebhusayithi siyehla?Unobangela unokuba yiphp-fpm!

Ndisandul' ukufumanisa chenweiliang.com Le PHP pool php-fpm Inkqubo yadla i-CPU njengokuphambana, kwaye iseva yaphuka!

Ukuze ndivuselele umncedisi, ndizamile uchungechunge lweendlela zokuphucula kwaye ekugqibeleni ndaphumelela ekunciphiseni ukusetyenziswa kwe-CPU.

Ngoku, masabelane ngale nto Isikhokelo esisebenzayo sokuPhucula!🚀

1. Nciphisa inani leenkqubo zephp-fpm

php-fpm useto olungagqibekangamdaInkqubo yenziwe ngokungalawulekiyo, ibangela ukuba i-CPU yomncedisi ilayishe kakhulu.

Ukuyiphucula, sinokuyiguqula inkqubo yolawulo lweeparamitha.

layita php-fpm Iifayile zoqwalaselo:

sudo nano /etc/php/*/fpm/pool.d/www.conf
  • *Tshintshela kwinguqulelo yakho ye-PHP, efana ne-PHP8.3, kwaye uyitshintshele kule:/etc/php/8.3/fpm/pool.d/www.conf

Buza inguqulo ye-PHP esetwe nguHestiaCP

v-list-web-domain user domain.com

Isb:

v-list-web-domain abc chenweiliang.com

Kwimveliso, uya kubona into efana nale:

PHP SUPPORT      yes
PHP MODE        php-fpm
PHP VERSION     8.3

Oku kuthetha ukuba iwebhusayithi isebenzisa PHP 8.3,

Khangela kwaye ulungise ezi parameters zilandelayo:

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

Emva koko uqalise kwakhona php-fpm Ukwenza isebenze:

sudo systemctl restart php-fpm

Isiphumo: Nciphisa inani leenkqubo zokuthintela i-php-fpm ekusebenziseni kakhulu izixhobo ze-CPU.

2. Yenza i-OPCache (ukuphucula ukusebenza kwe-PHP)

I-PHP ihlaziya ikhowudi rhoqo xa isenziwa, okuyinkcitho yemithombo.
Isicombululo? Yenza i-OPCache kwaye igcine ikhowudi yakho ye-PHP!

编辑 php.ini uxwebhu:

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

Yongeza okanye ulungise oku kulandelayo:

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

Emva kokugcina, qalisa kwakhona inkqubo ye-PHP:

sudo systemctl restart php8.3-fpm

Isiphumo: Nciphisa ukwahlulahlula okuphindaphindiweyo kwekhowudi ye-PHP, ukunciphisa umthwalo we-CPU, kunye nokuphucula ukusebenza kakuhle.

3. Nciphisa elona xesha liphezulu lokwenziwa kwemibhalo ye-PHP

Ukuba iskripthi se-PHP sisebenza ixesha elide, izixhobo ze-CPU ziya kuhlala zihlala.
Ukuseta ixesha elifanelekileyo lokuvala kunokuthintela iinkqubo "ezinenkani" ekubeni zihlale kwiseva ixesha elide.

layita php.ini uxwebhu:

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

Lungisa ezi parameters zilandelayo:

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

Emva koko uqalise kwakhona inkqubo ye-PHP:

sudo systemctl restart php-fpm

Isiphumo: Thintela iinkqubo ze-PHP ekusebenzeni ixesha elide kwaye unciphise inkunkuma yezixhobo ze-CPU.

4. Khangela MySQL Umbuzo ocothayo

I-PHP-FPM inomthwalo ophezulu,Isenokubangelwa ngumbuzo ocothayo weSQL!
Layita MySQL Umbuzo ocothayo, fumana iingxelo zeSQL ezibambezelayo.

Hlela ifayile yoqwalaselo ye-MySQL:

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

Faka kwi:

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

Emva kokugcina, qalisa kwakhona i-MySQL:

sudo systemctl restart mysql

Emva koko sebenzisa mysqldumpslow Hlalutya imibuzo ecothayo:

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

Isiphumo: Fumana imibuzo ye-SQL echitha ixesha, ulungise ukusebenza kwesiseko sedatha, kwaye unciphise ngokungathanga ngqo umthwalo we-PHP.

5. Ukunciphisa ukusetyenziswa kweMemcached

Ukujonga kuluhlu lwenkqubo, ndiyifumene Inkqubo ye-Memcached yokusetyenziswa kwe-CPU yi-24.8%!
Kungenzeka ukuba ulwabiwo lwe-cache lukhulu kakhulu, okubangela ukuba i-CPU isebenze isixa esikhulu sedatha.

调整 memcached Ubumbeko:

sudo nano /etc/memcached.conf

Hlaziya:

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

Emva koko uqalise kwakhona:

sudo systemctl restart memcached

Isiphumo: Nciphisa umthwalo we-CPU wenkqubo yeMemcached kunye nokuphucula ukusebenza kakuhle kwe-cache.

6. Yenza i-Nginx kwi-cache imithombo ye-static

Amaxesha amaninzi, izicelo ze-PHP eziqulathe inani elikhulu le CSS, JS, imifanekiso, kodwa ezi fayile azifuni ukwahlulahlulwa kwe-PHP!
Isicombululo? Sebenzisa i-Nginx ukugcina izixhobo ezingatshintshiyo!

Hlela ubumbeko lweNginx:

sudo nano /etc/nginx/nginx.conf

Faka kwi:

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

Emva kokugcina, qala kabusha iNginx:

sudo systemctl restart nginx

Isiphumo: Nciphisa inani lamaxesha e-PHP isebenza kwiifayile ezimileyo kunye nokunciphisa ukusetyenziswa kwe-CPU.

7. Fumana iskripthi se-PHP esisebenzisa eyona CPU

Ukuba i-CPU isephezulu kakhulu emva kokulungelelaniswa, kusenokwenzeka ukuba ezinye izikripthi ze-PHP ziqhuba kakubi.
Sebenzisa lo myalelo ulandelayo ukufumana inkqubo ye-PHP ngokusetyenziswa okuphezulu kwe-CPU:

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

Ukuba ufumanisa ukuba iskripthi se-PHP sithatha i-CPU eninzi kakhulu, ungayibulala ngokuthe ngqo:

kill -9 PID

Isiphumo:Chonga ngokuchanekileyo "iiapile ezimbi" kwaye uthintele inkqubo ye-PHP ekubeni ithathe i-CPU ixesha elide.

Isishwankathelo: Iindlela ezisi-7 zokwandisa i-PHP-FPM

Nciphisa inani leenkqubo ze-PHP-FPM, ukuthintela ukugcwala kwe-CPU
Yenza OPCache, nciphisa ukwahlulahlula okuphindaphindiweyo kwekhowudi ye-PHP
Ukuseta ixesha lokuphela kwe-PHP, ukuthintela ukusebenza kwexesha elide
Ukukhangela imibuzo ecothayo yeMySQL, khulisa ukusebenza kombuzo wesiseko sedata
Lungisa iMemcached Memcached, ukunciphisa umthwalo we-CPU
Yenza i-Nginx cache isebenze, ukunciphisa umthwalo wokwahlulahlula kwe-PHP
Fumana i-CPU ephezulu yokusetyenziswa kwemibhalo ye-PHP, ulungiselelo oluchanekileyo

ukuququmbela

Ukulungiswa kweseva kufana nokomelela, kufuneka wenze uhlengahlengiso oluchanekileyo kwaye ungaphazamisi!
Emva kothotho lokulungisa, umthwalo wam we-CPU yeseva uye wehla 80% phantsi ukuya kwi-15%, iwebhusayithi ivula kabini ngokukhawuleza!
Ukuba umncedisi wakho uneengxaki ezifanayo, zama ezi ndlela! 💪

???? Thatha inyathelo ngoku! Yandisa i-PHP-FPM yakho kwaye ugcine iseva yakho! 🚀

Shiya uluvo

Idilesi yakho ye-imeyile ayizupapashwa. Iinkalo ezifunekayo zisetyenzisiwe * Ileyibheli

Skrolela phezulu