Tusitusiga Tusitusiga
O le aofaʻi o tagata faʻaoga faʻatasi e mafai e se 'auʻaunaga ona taulimaina e lē faʻalagolago i le aofaʻi o cores o ia te ia, ae faʻalagolago i le tele o le manatua e faʻaaogaina e faʻagasologa taʻitasi.
Atonu e foliga mai o se fa'aosoosoga lenei fa'amatalaga, ae o le aafiaga sili ona moni ma tiga i le pisinisi o galuega ma le tausiga.
Aiseā e avea ai le manatua ma fa'afitauli autū?
E toatele tagata e vaai i se VPS ma se CPU 8-core ma le 24GB o le manatua ma latou manatu e faigofie ona latou faagaoioia le faitau selau o faiga PHP-FPM.
Peita'i, o le mea moni, o le fa'aaogaina o le manatua RSS o se faiga PHP e tasi e masani ona maualuga e o'o atu i le 200MB.
O le taunuuga lea na maua e ala i le suʻega moni e ala i le laina faʻatonuga:
ps --no-headers -o rss -p $(pgrep php-fpm) | awk '{sum+=$1} END {print sum/NR/1024 " MB"}'
I le siosiomaga faigata o le HestiaCP ma le tele o plugins, aemaise lava e aunoa ma le faʻaleleia atili o le OPcache, o le 200MB o le tulaga masani lea.
O lona uiga o le manatua, ae le o le CPU, o le tapulaʻa malosi lea e fuafua ai le maualuga o le tutusa.

Faila fa'atulagaina fautuaina (php-fpm.conf)
pm = dynamic
pm.max_children = 80
pm.start_servers = 16
pm.min_spare_servers = 8
pm.max_spare_servers = 24
pm.max_requests = 500
pm.process_idle_timeout = 10s
request_terminate_timeout = 60s
Fa'avae o le fuafuaina o parakalafa ma le fa'atulagaga
| Fa'amaufa'ailoga | Fa'atulagaina o le taua | Fa'atatauga autū ma le fa'avae o le setiina |
|---|---|---|
| pm | dynamic | O le faiga fa'a-dynamic e mafai ai ona fa'aopoopo pe tapeina fa'asolosolo faiga e fa'avae i luga o mana'oga fa'atasi, paleni le saoasaoa o tali ma le fa'aaogaina o le manatua. |
| pm.max_children | 80 | 24GB le aofa'i o le manatua e toesea ai le kernel o le polokalama ma MySQL/RedisA maeʻa Nginx, e tusa ma le 16GB e totoe mo le PHP.16,384 MB / 200 MB ≈ 81.9O le setiina i le 80 e mafai ona aveese atoa ai le OOM (Out of Memory) i le taimi o le maualuga o le concurrency. |
| pm.start_servers | 16 | O le fa'avevela muamua i le taimi e amata ai ua setiina i le faaluaina o le aofa'i o cores o le CPU (8 cores × 2 = 16) ina ia mautinoa e mafai e le tautua ona taulimaina vave le tutusa o galuega masani pe a uma ona toe amata. |
| pm.min_spare_servers | 8 | Seti le faitauga o le CPU core i le 8 cores ina ia mautinoa e mafai ona taliina talosaga fou i soo se taimi i vaitaimi e maualalo ai feoaiga. |
| pm.max_spare_servers | 24 | Seti i le 3 taimi le aofaʻi o cores o le CPU (8 cores × 3 = 24) e taofia ai se aofaʻi feololo o faiga pe a uma ona mou atu le feoaʻiga, ina ia taulimaina ai ni suiga laiti. |
| pm.max_requests | 500 | Afai e oʻo atu se faiga e tasi i se faʻavae tele e 200MB, o le faʻaitiitia o le numera o talosaga i le 500 o le a faʻaumatia ma toe fausia ai le faiga, lea e mafai ona vave faʻamamāina ai faʻaletonu o manatuaga e leʻi faʻaalia. |
| pm.process_idle_time out | 10s | Silia min_spare_servers O fa'agasologa e le fa'agaoioia e otometi lava ona fa'asa'olotoina ma toe fo'i atu i le manatua o le polokalama pe a uma le 10 sekone e leai ni talosaga. |
Fa'atulagaga Lagolago Taua ma Fautuaga Fa'aleleia
1. Faiga e taofia ai le fa'alavelave o le hangover i le taimi e muta ai
request_terminate_timeout = 60s O le ki lea.
E mafai ona fa'amutaina fa'amalosi fa'agasologa ua pipii ona o le le mafai ona gaoioi o fa'amaumauga po'o le polokaina o le API a isi vaega.
I le taimi nei, o Nginx fastcgi_read_timeout E tatau ona teuina mo le itiiti ifo i le 60 sekone, a leai o le a vave ona maua e le tagata o tausia. 504 Gateway Timeout.
2. Fuafuaga e foia ai faʻalavelave i le manatua
O le maualuga o le 80 faiga fa'atasi o lona uiga i lalo o tulaga faigata o le tutusa, e mafai e le polokalama ona taulimaina le maualuga o le 80 talosaga HTTP fa'aonaponei i le taimi e tasi.
Afai e te manaʻo e faʻaleleia atili le gafatia, o le taulaʻiga e tatau ona i ai i le faʻaitiitia o le faʻaaogaina o le manatua i faʻagasologa taʻitasi.
- Fa'amalo le OPcache:i ai
php.iniFa'atulagaga feololoopcache.enable=1ma leopcache.memory_consumption=256E mafai e le bytecode caching ona faʻaitiitia le faʻaaogaina o le manatua o se faiga e tasi mai le 200MB i le 60~100MB. - Pulea talafeagai o le memory_limit:Filifili
php.iniogatotonumemory_limitFa'atapula'aina i128M或256MIna ia puipuia tusitusiga fa'alenatura ta'itasifaʻatapulaʻainaE tele le manatua e alu ai.
O le taimi lava e pa'ū ai le fa'aaogaina o le manatua o se faiga e tasi i le 100MB...pm.max_children E mafai ona fa'aleleia ma le saogalemu i le 150 E le gata i lea, ua toetoe lava faaluaina le gafatia o le faʻatinoina o galuega faʻatasi.
Manatu fa'amaonia ua taua
E tusa ai ma fautuaga i le pepa aloaia a Nginx :
"E tatau ona mata'ituina i taimi uma talosaga a le FastCGI fa'atasi ai ma fa'atonuga o le taimi e muta ai ina ia puipuia ai le fa'aitiitia o puna'oa."
(Punaoa: Pepa o le Nginx)
O loʻo faʻamatala manino mai i le tusi lesona aloaia a le PHP :
"O le pm.max_children e faʻamatalaina le aofaʻi aupito maualuga o faʻagasologa o tamaiti e fatuina. O le faʻatonuga aupito taua lea."
(Punaoa: Pepa Fa'amaumau a le PHP-FPM)
O nei manatu fa'atuatuaina e matua'i ogatasi ma a matou faiga, ma fa'amaonia ai o le fa'avae o le fa'aleleia atili e le gata ina fa'avae i luga o le poto masani, ae fa'apea fo'i i luga o faiga sili ona lelei fa'atulagaina.
Faaiuga: O'u Manatu ma Upusii Autū
I tulaga e maualuga le tutusa o le saoasaoa, o le CPU o le afi, o le manatua o le tane suauu, ma o le PHP-FPM o le dispatcher lea o le vaʻa.
E tusa lava po o le a le malosi o le afi, ae afai e le lava le tele o le tane penisini, o le a le mamao le malaga a le solo.
E lē fa'ateleina tauaso e tagata atamamai ia tapula'a, ae latou te fuafuaina ma le sa'o le fa'aaogaina o le manatua o fa'agasologa ta'itasi ina ia 'alofia ai le fa'ama'imau ma le soona fai.
O le ute o le faʻaleleia atili o le sailia lea o le paleni sili ona lelei ma punaoa faʻatapulaʻa.
E lē gata o se tekinolosi lenei, ae o se filosofia foʻi.
O le mea lea, taofi le talitonu "o le aofaʻi o cores e fuafua ai mea uma." O le mea moni e fuafua ai le tapulaʻa o le tutusa o lau puleaina lea o le manatua.
Fai se gaioiga ma fa'aleleia atili lau VPS i lona gafatia atoatoa, ma fa'aaoga lelei so'o se mataua o le manatua.
Fa'amoemoe o le a fesoasoani ia te oe le tusiga "8-core 24GB VPS ua uma ona manatua? Ua matuā fa'aleleia atili le PHP-FPM process pool i lalo o HestiaCP" na fa'asoa i le blog a Chen Weiliang ( https://www.chenweiliang.com/ ).
Fa'asoa atu le so'otaga o lenei tusiga: https://www.chenweiliang.com/cwl-34509.html
