Eolaire Eolaire
- 1 Is é an príomhchúis go bhfuil PHP-FPM ró-ualach
- 2 Optamú linn próisis PHP-FPM (coigeartú paraiméadar lárnach)
- 3 Cumasaigh monatóireacht ar stádas PHP-FPM chun súil a choinneáil ar an dul chun cinn ag am ar bith
- 4 Optamaigh logaí PHP-FPM chun fadhbanna a réiteach go tapa
- 5 Atosaigh PHP-FPM go rialta chun sceitheadh cuimhne a chosc
- 6 Cad a tharlaíonn má leanann an fhadhb? Tuilleadh leas iomlán a bhaint!
- 7 Achoimre: Optamaigh PHP-FPM agus ní bheidh an suíomh Gréasáin tuairteála a thuilleadh!
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.

Conas a insint má tá PHP-FPM ró-ualaithe?
is féidir a úsáid top Nó htop 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-fpmCumasaigh 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?
A 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!