HestiaCP php-fpm ferlið tekur mikið af CPU auðlindum Hvernig get ég fínstillt það?

Toppar á örgjörva í HestiaCP netþjóni? Heildarleiðbeiningar um hagræðingu PHP-FPM ferla!

HestiaCP php-fpm ferlið tekur mikið af CPU auðlindum Hvernig get ég fínstillt það?

Er örgjörvinn hjá netþjóninum þínum stöðugt á 100%? Snýst viftan eins og brjálæðingur? Hleðst vefsíðan þín hægt? Gæti verið php-fpm sem veldur þessu!

Ég uppgötvaði nýlega chenweiliang.com Þessi PHP laug php-fpm Ferlið át upp örgjörvann eins og brjálæðingur og netþjónninn hrundi!

Til að endurlífga netþjóninn prófaði ég ýmsar hagræðingaraðferðir og að lokum tókst mér að draga úr örgjörvanotkun.

Nú skulum við deila þessari skilvirku hagræðingarleiðbeiningu ! 🚀

1. Takmarkaðu fjölda php-fpm ferla

Sjálfgefnar stillingar fyrir php-fpm geta búið til ótakmarkaðan fjölda ferla, sem veldur ofhleðslu á örgjörva netþjónsins.

Til að hámarka það getum við breytt breytum ferlisstjórnunar.

kveikja á php-fpm Stillingarskrár:

sudo nano /etc/php/*/fpm/pool.d/www.conf
  • *Skiptu yfir í PHP útgáfuna þína, eins og PHP8.3, og breyttu henni í þetta:/etc/php/8.3/fpm/pool.d/www.conf

Spyrja um PHP útgáfuna sem HestiaCP hefur stillt

v-list-web-domain user domain.com

Td:

v-list-web-domain abc chenweiliang.com

Í úttakinu muntu sjá eitthvað eins og:

PHP SUPPORT      yes
PHP MODE        php-fpm
PHP VERSION     8.3

Þetta gefur til kynna að vefsíðan notar PHP 8.3.

Finndu og breyttu eftirfarandi breytum:

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

Endurræstu síðan php-fpm Til að gera það skilvirkt:

sudo systemctl restart php-fpm

✅Áhrif : Takmarkar fjölda ferla til að koma í veg fyrir að php-fpm noti of mikið af örgjörvaauðlindum.

2. Virkja OPCache (til að bæta PHP árangur)

PHP endurnýjar kóðann í hvert sinn sem hann er keyrður, sem er sóun á fjármagni.
Lausnin? Virkjaðu OPCache og vistaðu PHP kóðann þinn!

编辑 php.ini skjal:

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

Bættu við eða breyttu eftirfarandi:

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

Eftir vistun skaltu endurræsa PHP ferlið:

sudo systemctl restart php8.3-fpm

✅Áhrif : Minnkar endurtekna greiningu á PHP kóða, minnkar álag á örgjörva og bætir keyrsluhagkvæmni.

3. Takmarkaðu hámarks keyrslutíma PHP forskrifta

Ef PHP skriftu keyrir of lengi verða örgjörvaauðlindir stöðugt uppteknar.
Að stilla hæfilegan tímafrest getur komið í veg fyrir að „þrjóskur“ ferlar taki miðlarann ​​í langan tíma.

kveikja á php.ini skjal:

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

Breyttu eftirfarandi breytum:

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

Endurræstu síðan PHP ferlið:

sudo systemctl restart php-fpm

✅Áhrif : Kemur í veg fyrir að PHP ferlar keyri í langan tíma og dregur þannig úr sóun á örgjörvaauðlindum.

4. Athugaðu MySQL Hæg fyrirspurn

PHP-FPM hefur mikið álag,Það gæti stafað af hægu SQL fyrirspurninni!
开启 MySQL Hægur fyrirspurnaskrá, finndu út SQL staðhæfingarnar sem halda aftur af.

Breyttu MySQL stillingarskránni:

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

Bætt við:

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

Eftir vistun skaltu endurræsa MySQL:

sudo systemctl restart mysql

Notaðu síðan mysqldumpslow Greindu hægar fyrirspurnir:

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

✅Niðurstaða : Greinið tímafrekar SQL fyrirspurnir, hámarkið afköst gagnagrunnsins og minnkið óbeint álag á PHP.

5. Takmarkanir Burt saman Notkun auðlinda

Þegar ég skoðaði vinnslulistann fann ég Memcached process CPU notkun er 24.8%!
Það kann að vera að skyndiminniúthlutunin sé of stór, sem veldur því að CPU vinnur mikið magn af gögnum.

调整 memcached Stillingar:

sudo nano /etc/memcached.conf

Endurskoða:

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

Endurræstu síðan:

sudo systemctl restart memcached

✅Áhrif : Minnkar álag örgjörvans á Memcached ferlið og bætir skilvirkni skyndiminnis.

6. Virkjaðu Nginx til að vista kyrrstæðar auðlindir

Margir sinnum vinnur PHP úr beiðnum sem innihalda mikinn fjölda af CSS, JS, myndir, en þessar skrár þurfa alls ekki PHP þáttun!
Lausnin? Notaðu Nginx til að vista kyrrstæðar auðlindir!

Breyta Nginx stillingum:

sudo nano /etc/nginx/nginx.conf

Bætt við:

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

Eftir vistun skaltu endurræsa Nginx:

sudo systemctl restart nginx

✅Niðurstaða : Minnkar fjölda skipta sem PHP vinnur úr kyrrstæðum skrám og þar með lækkar örgjörvanotkun.

7. Finndu PHP forskriftina sem notar mesta CPU

Ef örgjörvinn er enn of hár eftir fínstillingu getur verið að sum PHP forskriftir séu í gangi.
Notaðu eftirfarandi skipun til að finna út PHP ferlið með mesta CPU notkun:

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

Ef þú kemst að því að PHP forskrift tekur of mikinn CPU geturðu drepið það beint:

kill -9 PID

✅Niðurstaða : Greinir nákvæmlega „skemmd epli“ og kemur í veg fyrir að PHP ferlar taki upp örgjörvann í langan tíma.

Samantekt: 7 leiðir til að fínstilla PHP-FPM

Takmarkaðu fjölda PHP-FPM ferla, til að koma í veg fyrir ofhleðslu á CPU
Virkjaðu OPCache, draga úr endurtekinni þáttun PHP kóða
Stillir PHP tímamörk, til að koma í veg fyrir langtíma rekstur
Athugar MySQL hægar fyrirspurnir, hámarka árangur gagnagrunnsfyrirspurna
Stilltu Memcached Memory, draga úr CPU byrði
Virkjaðu Nginx kyrrstæða skyndiminni, sem dregur úr PHP þáttunarbyrði
Finndu PHP forskriftir með mikla CPU notkun, nákvæm hagræðingu

að lokum

Hagræðing netþjóna er eins og líkamsrækt, þú þarft að gera nákvæmar breytingar og ekki skipta þér af!
Eftir röð hagræðinga hefur örgjörvaálag netþjónsins minnst úr 80% niður í 15%, vefsíðan opnar tvöfalt hraðar!
Ef netþjónninn þinn er með svipuð vandamál skaltu prófa þessar aðferðir! 💪

👉Gríptu til aðgerða núna! Hámarkaðu PHP-FPM og bjargaðu netþjóninum þínum! 🚀

发表 评论

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

Flettu að Top