Tá HestiaCP PHP-FPM faoi ualach trom? Earráid leathanach gréasáin dinimiciúil 500? Tiocfaidh an leas iomlán a bhaint seo i bhfeidhm láithreach!

Ar tháinig tú ar an scéal seo riamh?Moilligh rochtain láithreán gréasáin go tobann, nó fiú earráid 500 mar thoradh air Tar éis PHP-FPM a atosú, d'fhill sé ar an ngnáthnós., ach an fhadhb reappears tar éis tamaill? Tá sé seo chomh frustrachas!

Cén fáth go bhfuil sé seo ag tarlú?Go deimhin, is gnách é seoNíl an linn próisis PHP-FPM cumraithe i gceart, nó níl acmhainní an fhreastalaí leordhóthanach.ba chúis leis. Sa lá atá inniu, déanfaimid barrfheabhsú críochnúil HestiaCP Déanann PHP-FPM faoin gcochall an suíomh Gréasáin chomh cobhsaí le carraig!

Is é an príomhchúis go bhfuil PHP-FPM ró-ualach

Is PHP-FPM aBainisteoir Próisis, atá freagrach as iarratais dinimiciúla a láimhseáil. Mura bhfuil an chumraíocht réasúnta, féadfaidh sé a bheith mar thoradh ar:

  • Tá acmhainní freastalaí ídithe, rud a fhágann nach bhfuil PHP-FPM in ann freagra a thabhairt ar iarratais nua ar bhealach tráthúil;
  • Is beag próiseas, nuair a mhéadaíonn an trácht go tobann, ní féidir é a phróiseáil in am;
  • Tá úsáid próisis ró-ard, rud a fhágann go pléascadh an t-ualach LAP.

Tá HestiaCP PHP-FPM faoi ualach trom? Earráid leathanach gréasáin dinimiciúil 500? Tiocfaidh an leas iomlán a bhaint seo i bhfeidhm láithreach!

Conas a insint má tá PHP-FPM ró-ualaithe?

is féidir a úsáid tophtop Ordú chun úsáid LAP agus cuimhne a fheiceáil:

top -c

Má fheiceann tú faisnéis phróisis cosúil leis an méid seo a leanas, ciallaíonn sé go bhfuil PHP-FPM ag rith faoi ualach ard:

1669293 abc     20   0  790284 227880 185568 R  73.1   0.9   1:30.09 php-fpm: pool chenweiliang.com                                                    
1669522 abc     20   0  801924 224224 170236 R  69.9   0.9   0:59.01 php-fpm: pool chenweiliang.com

Féach conas atá na próisis seo ag dul i mbun breis agus 70% den LAP? Má tharlaíonn sé seo go minic, do PHP-FPM Caithfidh go bhfuil fadhb ann!

Mar sin, conas is féidir linn an chumraíocht PHP-FPM a bharrfheabhsú ionas nach mbeidh an freastalaí ró-ualach a thuilleadh?

Optamú linn próisis PHP-FPM (coigeartú paraiméadar lárnach)

Ar dtús, oscail php-fpm Comhaid Chumraíochta:

sudo nano /etc/php/*/fpm/pool.d/www.conf
  • *Athraigh go dtí do leagan PHP, amhail PHP8.3, agus athraigh é go dtí seo:/etc/php/8.3/fpm/pool.d/www.conf

Fiosraigh an leagan PHP atá socraithe ag HestiaCP

v-list-web-domain user domain.com

E.g:

v-list-web-domain abc chenweiliang.com

San aschur, feicfidh tú rud éigin mar:

PHP SUPPORT      yes
PHP MODE        php-fpm
PHP VERSION     8.3

Ciallaíonn sé seo go n-úsáideann an suíomh PHP 8.3.

Féachfaimid ar do chumraíocht PHP-FPM:

[chenweiliang.com]
listen = /run/php/php8.3-fpm-chenweiliang.com.sock
listen.owner = abc
listen.group = www-data
listen.mode = 0660

user = abc
group = abc

pm = ondemand
pm.max_children = 8
pm.max_requests = 4000
pm.process_idle_timeout = 10s

Is féidir leat a fheiceáil go bhfuil do pm Is é an ceann a úsáidtear ondemand,Cé gur féidir leis úsáid acmhainní a laghdú le linn am díomhaoin, nuair a mhéadaíonn an trácht go tobann, b'fhéidir nach mbeidh an próiseas in ann freagairt in am., rud a d'eascair earráid 500.

1. Coigeartaigh paraiméadair linn próisis PHP-FPM

Má úsáideann an chumraíocht dynamicIs modh é seo chun roinnt próiseas oibre a réamhthosú agus iad a choigeartú go dinimiciúil de réir mhéid na n-iarratas, rud a fhéadann freagairt níos tapúla nuair a mhéadaíonn méid na n-iarratas go tobann.

I gcás suíomhanna gréasáin a bhfuil méid áirithe tráchta orthu, moltar iad a úsáid pm = dynamicToisc gur féidir leis méid áirithe próiseas díomhaoin a choinneáil agus 500 earráid a sheachaint le linn comhthráthachta ard.

Moltar é a úsáid ach amháin nuair a bhíonn an toirt rochtana thar a bheith íseal agus na hacmhainní cuimhne gann. pm = ondemand Chun acmhainní a shábháil.

Moladh do ondemand, agus leas iomlán a bhaint pm.max_children Agus paraiméadair eile:

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

Cén fáth ar mhaith leat é a athrú mar seo?

  • pm = dynamic: Próisis a leithdháileadh ar bhealach níos solúbtha chun feithimh iarratais a sheachaint a d'fhéadfadh a bheith de bharr ondemand;
  • pm.max_children = 16: Cosc a chur ar 500 earráid de bharr ró-bheagán próisis;
  • pm.start_servers = 5: Seachain am tosaithe próiseas mall;
  • pm.max_requests = 3000:Cosc ar sceitheadh ​​cuimhne, an próiseas a athchúrsáil go rialta.

2. Teorainn a chur le ham forghníomhaithe na scripteanna PHP chun áitíocht fhadtéarmach a chosc

request_terminate_timeout = 30s  ; 超过 30s 的 PHP 脚本自动终止
php_admin_value[memory_limit] = 128M  ; 限制 PHP 进程最大内存占用

Is féidir leis seo cosc ​​​​a chur ar roinntIs féidir le scripteanna PHP a úsáideann an iomarca LAP do fhreastalaí a thabhairt síos.

Tar éis a shábháil, atosú ar an bpróiseas PHP:

sudo systemctl restart php8.3-fpm

Cumasaigh monatóireacht ar stádas PHP-FPM chun súil a choinneáil ar an dul chun cinn ag am ar bith

Cumasaigh monatóireacht próisis PHP-FPM agus féachaint air ag am ar bithLíon reatha na bpróiseas gníomhach agus iarr stádas feithimh, chun ró-ualú an fhreastalaí a sheachaint.

php-fpm.conf Curtha leis i:

pm.status_path = /status

Ansin, cumraíocht Nginx:

location /status {
    fastcgi_pass unix:/run/php/php8.3-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    allow 127.0.0.1;
    deny all;
}

Ar an mbealach seo, is féidir leat http://yourdomain.com/status Amharc ar PHP-FPM i ngníomh!

Optamaigh logaí PHP-FPM chun fadhbanna a réiteach go tapa

php-fpm.conf Suimiú:

php_admin_value[error_log] = /var/log/php-fpm/error.log
php_admin_value[log_errors] = On
php_admin_value[error_reporting] = E_ALL
slowlog = /var/log/php-fpm/slow.log
request_slowlog_timeout = 5s  ; 执行超过 5s 的脚本记录到日志

Ar an mbealach seo, aon uair a tharlaíonn earráid 500, is féidir leat an logáil a fheiceáil go díreach:

tail -f /var/log/php-fpm/error.log

Féach an dtuairiscíonn PHP earráid, mar shampla out of memory,script execution timeout 等.

Atosaigh PHP-FPM go rialta chun sceitheadh ​​cuimhne a chosc

in ann pas a fháil cron Atosaigh PHP-FPM go rialta chun próisis fhadtréimhseacha a chosc ó bheith ina gcúisLéimeanna Cuimhne.

crontab -e

Cuir an tasc sceidealaithe seo a leanas leis chun PHP-FPM a atosú go huathoibríoch ag 3 am gach lá:

0 3 * * * /usr/sbin/service php8.3-fpm restart

Cad a tharlaíonn má leanann an fhadhb? Tuilleadh leas iomlán a bhaint!

Má leanann tú fós an leas iomlán a bhaint thuasTarlaíonn 500 earráid uaireanta, is féidir leat leanúint ar aghaidh leis na optimizations seo a leanas:

1. Cumasaigh OPcache chun éifeachtúlacht forghníomhaithe PHP a fheabhsú

Mura bhfuil OPcache cumasaithe fós, is féidir leat é a shuiteáil mar seo (ag úsáid Ubuntu mar shampla):

sudo apt install php8.3-opcache -y

Ansin cuir in eagar php.ini:

opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=4000
opcache.validate_timestamps=1

Éifeacht? Tá luas forghníomhaithe leathanach PHP feabhsaithe go mór!

2. leas iomlán a bhaint cumraíochta Nginx

Bí cinnte go bhfuil paraiméadair a bhaineann le Nginx réasúnta, mar shampla fastcgi_read_timeout Déan é a choigeartú go cuí ionas nach gcuirfear deireadh le scripteanna PHP ag Nginx mar gheall ar am forghníomhaithe fada:

fastcgi_read_timeout 60s;
client_max_body_size 100M;

Achoimre: Optamaigh PHP-FPM agus ní bheidh an suíomh Gréasáin tuairteála a thuilleadh!

Cad iad na coigeartuithe atá déanta againn tar éis an bharrfheabhsú seo?

An linn próisis PHP-FPM a bharrfheabhsú, úsáid ondemandAgus bharrfheabhsú pm.max_children paraiméadar ;
A Teorainn a chur le ham feidhmithe scripteanna PHP, chun áitiú LAP fadtéarmach a chosc;
A Cumasaigh monatóireacht PHP-FPM, féachaint ar an ualach próiseas i bhfíor-am;
A Logaí PHP-FPM a bharrfheabhsú, fabhtcheartú tapa 500 earráid;
A Atosaigh PHP-FPM go rialta, cosc ​​a chur ar sceitheadh ​​cuimhne;
A Cumasaigh OPcache, feabhas a chur ar éifeachtúlacht forghníomhaithe PHP;
A Cumraíocht Nginx a bharrfheabhsú, chun saincheisteanna am istigh a sheachaint.

Tar éis an leas iomlán a bhaint seo, laghdófar an t-ualach PHP-FPM go mór agus beidh oibríocht an tsuímh Ghréasáin níos cobhsaí! 🔥

Bain triail as anois! 💪🚀

Tá súil agam Blag Chen Weiliang ( https://www.chenweiliang.com/ ) shared” HestiaCP PHP-FPM ualach ró-ard? Earráid leathanach gréasáin dinimiciúil 500? Tiocfaidh an leas iomlán a bhaint seo i bhfeidhm láithreach! ”, d’fhéadfadh sé a bheith ina chuidiú duit.

Fáilte romhat nasc an ailt seo a roinnt:https://www.chenweiliang.com/cwl-32512.html

Chun níos mó cleasanna ceilte a dhíghlasáil🔑, fáilte romhat páirt a ghlacadh inár gcainéal Telegram!

Roinn agus maith más maith leat é! Is iad do chuid scaireanna agus rudaí is maith leat ár spreagadh leanúnach!

 

发表 评论

Ní fhoilseofar do sheoladh ríomhphoist. Úsáidtear réimsí riachtanacha * Lipéad

Scrollaigh go dtí an Barr