Njira ya HestiaCP php-fpm imatenga zinthu zambiri za CPU.

HestiaCP Kuchuluka kwa seva ya CPU? Chitsogozo chathunthu pakukhathamiritsa njira ya PHP-FPM!

Njira ya HestiaCP php-fpm imatenga zinthu zambiri za CPU.

Kodi seva CPU nthawi zonse imakhala 100%? Wokupiza akuzungulira molusa? Kodi tsamba lotsegulira tsambalo likucheperachepera?Wolakwa akhoza kukhala php-fpm!

Posachedwa ndazindikira chenweiliang.com Phukusi la PHP ili php-fpm Njirayi idadya CPU ngati wamisala, ndipo seva idagwa!

Kuti nditsitsimutse seva, ndinayesa njira zingapo zowonjezeretsa ndipo potsiriza ndinapambana kuchepetsa kugwiritsa ntchito CPU.

Tsopano, tiyeni tigawane izi Upangiri Wabwino Wokhathamiritsa! 🚀

1. Chepetsani kuchuluka kwa njira za php-fpm

php-fpm zosintha zokhazikika zithazopanda malireNjirayi imapangidwa mosasunthika, zomwe zimapangitsa kuti seva ya CPU ichuluke.

Kuti tichite bwino, titha kusintha magawo oyang'anira ndondomeko.

Yatsani php-fpm Mafayilo Osintha:

sudo nano /etc/php/*/fpm/pool.d/www.conf
  • *Sinthani ku mtundu wanu wa PHP, monga PHP8.3, ndikusintha kukhala izi:/etc/php/8.3/fpm/pool.d/www.conf

Funsani mtundu wa PHP wokhazikitsidwa ndi HestiaCP

v-list-web-domain user domain.com

E.g:

v-list-web-domain abc chenweiliang.com

Muzotulutsa, muwona chinthu chonga:

PHP SUPPORT      yes
PHP MODE        php-fpm
PHP VERSION     8.3

Izi zikutanthauza kuti tsambalo limagwiritsa ntchito PHP 8.3.

Pezani ndikusintha magawo awa:

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

Kenako yambitsaninso php-fpm Kuti izi zitheke:

sudo systemctl restart php-fpm

效果: Chepetsani kuchuluka kwa njira zopewera php-fpm kugwiritsa ntchito kwambiri zida za CPU.

2. Yambitsani OPCache (kuti muwongolere magwiridwe antchito a PHP)

PHP imabwezeretsanso code nthawi iliyonse ikachitidwa, komwe ndikuwononga chuma.
Njira yothetsera vutoli? Yambitsani OPCache ndikusunga nambala yanu ya PHP!

编辑 php.ini 文件:

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

Onjezani kapena sinthani zotsatirazi:

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

Mukasunga, yambitsaninso njira ya PHP:

sudo systemctl restart php8.3-fpm

效果: Chepetsani kubwereza mobwerezabwereza kwa nambala ya PHP, chepetsani katundu wa CPU, ndikuwongolera magwiridwe antchito.

3. Chepetsani nthawi yokwanira yoperekera zolemba za PHP

Ngati script ya PHP itenga nthawi yayitali kwambiri, zothandizira za CPU zidzagwiritsidwa ntchito mosalekeza.
Kukhazikitsa nthawi yoyenera kutha kulepheretsa njira "zowuma" kuti zisakhale pa seva kwa nthawi yayitali.

Yatsani php.ini 文件:

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

Sinthani magawo awa:

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

Kenako yambitsaninso njira ya PHP:

sudo systemctl restart php-fpm

效果: Pewani njira za PHP kuti zisagwire ntchito kwa nthawi yayitali ndikuchepetsa zinyalala za CPU.

4. Chongani MySQL Kufunsa pang'onopang'ono

PHP-FPM ili ndi katundu wambiri,Zitha kuyambitsidwa ndi funso lapang'onopang'ono la SQL!
Yatsani MySQL Lolemba yofulumira, pezani mawu a SQL omwe akulepheretsa.

Sinthani fayilo yosinthira ya MySQL:

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

Onjezani ku:

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

Mukasunga, yambitsaninso MySQL:

sudo systemctl restart mysql

Ndiye ntchito mysqldumpslow Unikani mafunso ochedwa:

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

效果: Pezani mafunso owononga nthawi a SQL, konzani magwiridwe antchito a database, ndikuchepetsanso kuchuluka kwa PHP.

5. Chepetsani kugwiritsa ntchito gwero la Memcached

Kuyang'ana mndandanda wa ndondomeko, ndapeza Memcached process CPU ntchito ndi 24.8%!
Zitha kukhala kuti kugawika kwa cache ndikwambiri, zomwe zimapangitsa CPU kukonza zambiri.

Kusintha memcached Kusintha:

sudo nano /etc/memcached.conf

Unikaninso:

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

Kenako yambitsaninso:

sudo systemctl restart memcached

效果: Chepetsani kuchuluka kwa CPU panjira ya Memcached ndikuwongolera magwiridwe antchito a cache.

6. Yambitsani Nginx ku cache static resources

Nthawi zambiri, PHP imapanga zopempha zomwe zimakhala ndi zambiri CSS, JS, zithunzi, koma mafayilowa safuna kuyika PHP konse!
Njira yothetsera vutoli? Gwiritsani ntchito Nginx kuti musunge zinthu zokhazikika!

Sinthani kasinthidwe ka Nginx:

sudo nano /etc/nginx/nginx.conf

Onjezani ku:

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

Mukasunga, yambitsaninso Nginx:

sudo systemctl restart nginx

效果: Chepetsani kuchuluka kwa nthawi zomwe PHP imasunga mafayilo osasunthika ndikuchepetsa kugwiritsa ntchito CPU.

7. Pezani zolemba za PHP zomwe zimagwiritsa ntchito CPU kwambiri

Ngati CPU ikadali yokwera kwambiri ikatha kukhathamiritsa, zitha kukhala kuti zolemba zina za PHP zikuyenda movutikira.
Gwiritsani ntchito lamulo ili kuti mudziwe ndondomeko ya PHP yokhala ndi ma CPU apamwamba kwambiri:

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

Ngati mupeza kuti zolemba za PHP zikutenga CPU yochulukirapo, mutha kuzipha mwachindunji:

kill -9 PID

效果: Dziwani molondola "maapulo oyipa" ndikuletsa njira ya PHP kuti isagwire CPU kwa nthawi yayitali.

Chidule: Njira 7 zokometsera PHP-FPM

Chepetsani kuchuluka kwa njira za PHP-FPM, kuteteza kuchuluka kwa CPU
Yambitsani OPCache, kuchepetsa kubwereza mobwerezabwereza kwa PHP code
Kukhazikitsa nthawi ya PHP, kupewa kugwira ntchito kwa nthawi yayitali
Kuyang'ana mafunso ochedwa MySQL, konzani magwiridwe antchito amafunso
Sinthani Memcached Memory, kuchepetsa kuchuluka kwa CPU
Yambitsani Nginx static cache, kuchepetsa kulemetsa kwa PHP
Pezani zolemba zazikulu za PHP zogwiritsa ntchito CPU, kukhathamiritsa molondola

Pomaliza

Kukhathamiritsa kwa seva kuli ngati kulimba, muyenera kusintha zolondola ndipo musasokoneze!
Pambuyo pa kukhathamiritsa kambirimbiri, kuchuluka kwa CPU ya seva yanga kwatsika 80% mpaka 15%, webusaitiyi imatsegula kawiri mofulumira!
Ngati seva yanu ili ndi mavuto ofanana, yesani njira izi! 💪

???? Chitanipo kanthu tsopano! Konzani PHP-FPM yanu ndikusunga seva yanu! 🚀

发表 评论

Imelo yanu sisindikizidwa. Minda yofunikira imagwiritsidwa ntchito * Chizindikiro

Kalozera wa Nkhani
Pitani pamwamba