See määrab PHP-CGI ühenduse, saatmise ja lugemiseAeg, 300 sekundit on piisav, nii et minu omaServer504-d esinevad harvaGatewayAeg maha viga. Kõige tähtsam onphp-FPM.confofSeadistada, mis viib otse 502 halva värava ja 504 värava time-out'ini.
Vaatame lähemalt mõningaid olulisi php-fpm.conf osiparameeter:
php-fpm.conf sisaldab kahte olulist parameetrit: üks on "max_children" ja teine "request_terminate_timeout"
Mul on kaks seadet väärtustega "40" ja "900", kuid see väärtus ei ole universaalne, vaid tuleb ise arvutada.
Siin on, kuidas see arvutatakse:
Kui sinu omaTeenistusInstrumentJõudlustPiisavalt hea ja lairiba ressursid on piisavad, PHPStsenaariumKui tsükkel või vigu pole, saad lihtsalt määrata "request_terminate_timeout" 0-deks. 0s tähendab, et PHP-CGI töötab kogu aeg ilma ajapiiranguta. Kui sa seda teha ei saa, st sinu PHP-CGI-l võib olla mingi viga, ribalaius ei ole piisav või muud põhjused põhjustavad PHP-CGI võltsitud surma, siis soovitatakse määrata väärtus "request_terminate_timeout"-le, mida saab määrata vastavalt serveri jõudlusele. Üldiselt, mida parem jõudlus, seda kõrgemale saad selle seada, 20 minutit kuni 30 minutit on täiesti okei. Kuna minu serveri PHP skriptid võtavad kaua aega, võivad mõned neist olla üle 10 minuti, seega panin selle 900 sekundile, et PHP-CGI ei rikuks ega saaks 502 Bad gateway viga.
Ja kuidas arvutatakse "max_children" väärtust? Põhimõtteliselt, mida suurem, seda parem, php-cgiprotsessKui neid on rohkem, töödeldakse see kiiresti ja järjekorras on vähe päringuid. max_children Üldiselt tarbib server tavatingimustes umbes 20M mälu iga php-CGI kohta, seega seadsin oma "max_children" väärtuseks 40M*40=800M, mis tähendab, et kogu PHP-CGI tarbib tippajal vähem kui 800M, mis on väiksem kui minu efektiivne mälu 1Gb. Ja kui minu "max_children" on väiksem, näiteks 5-10, siis php-cgi on "väga väsitav", töötlemiskiirus on samuti väga aeglane ja ooteaeg pikem. Kui päringut pole pikka aega töödeldud, ilmub 504 Gateway Time-out viga ning töödeldav php-cgi saab 502 Bad gateway vea, kui tekivad probleemid.
|