Ez határozza meg a PHP-CGI csatlakozását, küldését és olvasásátIdő, 300 másodperc elég, szóval az enyémszerverAz 504-esek ritkán jelennek megGatewayIdőkérés hiba. A legfontosabb aphp-FPM.confofFelállít, ami közvetlenül vezet az 502 Bad Gateway és 504 Gateway Time-out-hoz.
Nézzük meg közelebbről néhány fontos részt a php-fpm.conf oldalrólparaméter:
A php-fpm.conf két kulcsfontosságú paraméterrel rendelkezik, az egyik a "max_children", a másik pedig "request_terminate_timeout"
Két beállításom van, amelyek értéke "40" és "900", de ez az érték nem univerzális, csak magamnak kell kiszámolnom.
Így számolják ki:
Ha a tiédSzolgálatHangszerteljesítményElég jó, és a szélessávú források elegendőek, PHPForgatókönyvHa nincsenek hurkok vagy hibák, egyszerűen beállíthatod a "request_terminate_timeout"-t 0-ra. A 0s azt jelenti, hogy a PHP-CGI folyamatosan fut időkorlát nélkül. Ha ezt nem tudod megtenni, vagyis a PHP-CGI-dben lehet egy bizonyos hiba, a sávszélesség nem elég, vagy más okok miatt a PHP-CGI színlelt halált, akkor ajánlott egy értéket rendelj a "request_terminate_timeout"-nek, amit a szerver teljesítménye alapján állíthatsz be. Általánosságban minél jobb a teljesítmény, annál magasabbra tudod állítani, 20-30 perc is rendben van. Mivel a szerverem PHP szkriptjei sokáig tartanak, némelyik több mint 10 percig is eltarthat, ezért 900 másodpercre állítottam be, hogy ne okozzon a PHP-CGI leállása és az 502 Bad gateway hibá.
És hogyan számítják ki a "max_children" értékét? Elvileg minél nagyobb, annál jobb, php-cgiFolyamatHa több is van, gyorsan feldolgozzák, és kevés kérés lesz a sorban. max_children Általánosságban elmondható, normál körülmények között egy szerver körülbelül 20M memóriát fogyaszt php-CGI-nként, ezért a "max_children"-t 40M*40=800M-re állítom be, ami azt jelenti, hogy minden PHP-CGI kevesebb mint 800M-t fogyasztott csúcsidőben, ami alacsonyabb, mint az én effektív 1Gb memóriám. Ha pedig a "max_children" kicsibbe van állítva, például 5-10, akkor a php-cgi "nagyon fárasztó" lesz, a feldolgozási sebesség is nagyon lassú, és a várakozási idő hosszabb. Ha a kérést hosszú ideig nem dolgozták fel, megjelenik az 504 átjáró időkilépés hiba, és a feldolgozó php-cgi hibával találkozik, ha problémát okoz.
|