Nginx keepalive_timeout nasıl ayarlanır?


12

Yoğun bir mysql tabanlı bir site sunucuya php-fpm ile birlikte nginx kullanıyorum. Şu anda kullanıyorum keepalive_timeout = 5, ancak en uygun şekilde nasıl ayarlanacağı hakkında net bir fikrim yok. Tavsiyelerinizi takdir edin.

Yanıtlar:


10

Bunu yapmak için ne ayarlamanız gerekiyor, ya da daha doğrusu: nasıl yaptığınızı ayarlamasında herhangi bir sorun görüyor musunuz?

Herkese uyan tek bir cevap yoktur; çoğu istemci tarayıcısı bir sayfaya tüm kaynakları 5 saniye içinde yükleyebiliyorsa, 5 saniye iyi olur, ancak tamamen uygulamanızın ihtiyaçlarına bağlıdır - örneğin, nginx sunucunuz Exchange ActiveSync için ters proxy olarak hizmet ediyorsa, yarım saate kadar kranklanmasını istersiniz.


Peki, sunucu yükünü en aza indirmeye çalışıyorum (ki bu da seçim zamanlarında oldukça yüksek) ve keepalive_timeout'u optimize etmenin bu hedefe kısmen katkıda bulunabileceğini tahmin ediyorum. Bunun dışında sadece sağlıklı bir merak var :)
alfish

1
Elbette - yani, "çoğu müşteri sayfayı yüklemeden önce tekmelemeden olabildiğince düşük" - böylece sayfalarınız müşterilerinizin çoğu için bir saniyenin altında yüklenirse, 1 saniyelik bir zaman aşımı iyi olur. Ancak, zaman aşımı süreniz 5 saniyeden çok fazla değilse, sunucu yükünün önemli bir nedeni olması olası değildir.
Shane Madden

Zor nokta bu. Sayfa yükleme süresindeki (bazıları diğerlerinden daha ağır), ziyaretçinin bağlantı hızları vb. Fark göz önüne alındığında sayfa yükleme süresini nasıl belirleyebilirim?
alfish

Sadece basketbol sahası. Birkaç saniye, şu ya da bu şekilde yükte önemli bir fark yaratma olasılığı düşüktür, bu nedenle yüksek tahmin etmekte serbestsiniz - ancak daha sonra, yavaş yükleme istemcisi için yeni bir TCP bağlantısı (varsa, SSL el sıkışmasıyla bile) genel yükleme hızlarında büyük bir fark yaratmayacak.
Shane Madden

1
@ShaneMadden, 5 saniye bağlantının ömrü değil, yalnızca sunucunun başka bir istek beklediği zaman aşımıdır keepalive_requests. Bu nedenle, tarayıcının resim / css getirmeye başlayana kadar html için tam sayfanın yüklenmesi ne kadar zaman gerektirdiği önemli değildir. BTW maks. zaman bağlantısı açık tutulurkeepalive_timeout*keepalive_requests
Marki555
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.