Bu, PHP-CGI bağlantısını, gönderimini ve okumasını belirtirSaat, 300 saniye yeterli, yani benimkisunucu504'ler nadiren görünürGatewayMola hatası var. En önemli şey şuphp-FPM.confofHazırlamak, bu da doğrudan 502 Kötü Gateway ve 504 Gateway Zaman Aşımı ile sonuçlanacak.
php-fpm.conf'un bazı önemli bölümlerine daha yakından bakalımparametre:
php-fpm.conf'un iki önemli parametresi var, biri "max_children", diğeri ise "request_terminate_timeout".
"40" ve "900" değerlerinde iki ayarım var, ama bu değer evrensel değil, kendim hesaplamam gerekiyor.
İşte hesaplanma şekli:
Eğer seninkiHizmetEnstrümanperformansYeterince iyi, geniş bant kaynakları yeterli, PHPSenaryoDöngü veya hata yoksa, "request_terminate_timeout"yi 0'lara ayarlayabilirsiniz. 0s, PHP-CGI'nin zaman sınırı olmadan sürekli çalıştığı anlamına gelir. Bunu yapamazsanız, yani PHP-CGI'nizde belirli bir hata olabilir, bant genişliğiniz yeterli değilse veya başka nedenler PHP-CGI'nizin sahte ölümüne neden olabilirse, sunucunuzun performansına göre ayarlanabilen "request_terminate_timeout" değeri atmanız önerilir. Genel olarak, performans ne kadar iyi olursa, o kadar yüksek ayarlar, 20 dakika - 30 dakika yeterli. Sunucumun PHP betikleri uzun süre çalıştığı için, bazıları 10 dakikadan fazla sürebiliyor, bu yüzden PHP-CGI'nin kesilmemesi ve 502 Kötü geçit hatası gelmemesi için 900 saniyeye ayarlıyorum.
Peki "max_children" değeri nasıl hesaplanır? Prensipte, ne kadar büyük olursa o kadar iyi, php-cgisüreçDaha fazla talep varsa, işlem hızlıca işlenecek ve kuyruğun içinde çok az talep olacak. max_children Genel olarak, normal koşullarda bir sunucu php-CGI başına yaklaşık 20M bellek tüketir, bu yüzden "max_children"imi 40M*40=800M olarak ayarlıyorum, bu da tüm PHP-CGI'nin yoğun saatte 800M'den az enerji tükettiği anlamına geliyor, bu da benim 1Gb olan etkili hafızamdan daha düşük. Ve eğer "max_children" ayarlarım daha küçükse, örneğin 5-10, php-CGI "çok yorucu" olur, işlem hızı da çok yavaş ve bekleme süresi daha uzun olur. Eğer istek uzun süre işlemediyse, 504 Gateway Zaman Aşımı hatası ortaya çıkar ve işlenen php-cgi sorun çıkarsa 502 Kötü geçit hatası ile karşılaşır.
|