Tämä määrittelee PHP-CGI:n yhteyden, lähetyksen ja lukemisenAika, 300 sekuntia riittää, joten minunPalvelin504-malleja esiintyy harvoinPorttiAikalisävirhe. Tärkeintä onphp-FPM.confofPystyttää, joka johtaa suoraan 502 Bad Gatewayhin ja 504 Gateway Time-outiin.
Katsotaanpa tarkemmin php-fpm.conf:n tärkeitä osiaparametri:
php-fpm.conf:ssa on kaksi ratkaisevaa parametria, toinen on "max_children" ja toinen "request_terminate_timeout"
Minulla on kaksi asetusta, joiden arvot ovat "40" ja "900", mutta tämä arvo ei ole universaali, vaan se täytyy laskea itse.
Näin se lasketaan:
Jos sinun.PalvelusSoitinsuorituskykyRiittävän hyvä, ja laajakaistaresurssit riittävät, PHPKäsikirjoitusJos silmukoita tai bugeja ei ole, voit vain asettaa "request_terminate_timeout":n 0:ksi. 0s tarkoittaa, että PHP-CGI pyörii jatkuvasti ilman aikarajaa. Jos et pysty tähän, eli PHP-CGI:ssäsi saattaa olla tietty bugi, kaistanleveys ei riitä tai muut syyt aiheuttavat PHP-CGI:n feikkaavan kuoleman, on suositeltavaa antaa arvo "request_terminate_timeout":lle, joka voidaan asettaa palvelimen suorituskyvyn mukaan. Yleisesti ottaen, mitä parempi suorituskyky, sitä korkeammalle sen voi asettaa, 20–30 minuuttia riittää. Koska palvelimeni PHP-skriptit kestävät kauan, jotkut voivat kestää yli 10 minuuttia, joten asetin sen 900 sekuntiin, jotta PHP-CGI ei sammu ja 502 Bad gateway -virhettä.
Ja miten "max_children":n arvo lasketaan? Periaatteessa mitä isompi, sen parempi, php-cgiProsessiJos niitä tulee lisää, se käsitellään nopeasti ja jonossa on vähän pyyntöjä. max_children Yleisesti ottaen normaalisti palvelin kuluttaa noin 20M muistia per php-cgi, joten asetan "max_children"-arvoni 40M*40=800M, mikä tarkoittaa, että kaikki PHP-CGI kulutti alle 800M huippuaikoina, mikä on vähemmän kuin tehokas muistini 1Gb. Ja jos "max_children" on asetettu pienemmäksi, esimerkiksi 5-10, php-cgi on "todella uuvuttavaa", prosessointinopeus on myös hyvin hidas ja odotusaika pidempi. Jos pyyntöä ei ole käsitelty pitkään aikaan, 504 Gateway Time-out -virhe ilmestyy, ja käsiteltävä php-cgi kohtaa 502 Bad -yhdyskäytävän virheen, jos ongelmia ilmenee.
|