Harika bir soru!
Geleneksel olarak, KeepAlive iyi bir şeydi çünkü bir sayfadaki birçok isteğin (tüm görüntüler, css, js gibi) bir sunucudan sunulduğu genel sayfa yükünün TCP ek yükünü önemli ölçüde azaltır. Sayfanızda 85 öğe varsa, bu 85 ekstra üç yönlü TCP el sıkışmasıdır ve gecikme süresi artar. Yıllar önce daha yavaş Internet bağlantıları ile, şimdi olduğundan çok daha önemliydi, ancak mobil tarayıcılar veya herhangi bir yavaş / yüksek gecikme bağlantısı için hala oldukça alakalı.
Burada bahsedilen etki, bu TCP bağlantılarının ne kadar süre açık tutulacağı ve bunun Apache alt işlemlerinizi çabucak tüketip tüketemeyeceği ile ilgilidir. Gördüğüm varsayılanların çoğu:
KeepAliveTimeOut 15
MaxClients 256
Bu, aynı 15 saniye içinde 256 farklı tarayıcımın içerik istemesi durumunda 257. istemcinin bağlantıların kesilmesini beklemesi gerektiği anlamına gelir. İyi değil - bu özellikle yüksek trafik değil, bu yüzden bu tavsiyeyi açıklıyor. Ayrıca MaxClients'ın başa çıkmasına neden olabilir, bu da çok fazla bellek yiyebilir. KeepAlives kullandığımda, genellikle KeepAliveTimeout'u 2 veya 3 saniyeye ayarlıyorum; tüm istekler için sürenin tamamı yerine istekler arasındaki boşta kalma süresidir.
KeepAlive kullanıyorsanız, KeepAliveTimeout, MaxClients ve sunucu kaynakları arasında bir dengeleme işlemi vardır. Buna yardımcı olmak için, bir 'hizmet httpd / apache2 fullstatus', KeepAlives tarafından herhangi bir zamanda kullanılan 'K' harfiyle gösterilen bağlantı sayısını gösterir.
Magento için KeepAlives'e ihtiyacınız olduğunu düşünmüyorum.
Ne gereken bir çok yüksek trafik Kurumsal site varsa yapıyor olması, statik içerik için CDN kullanıyor.
Birden fazla ülkede satış yapıyorsanız, CDN kullanmak yalnızca müşterileriniz için genel sayfa yüklerini hızlandırmakla kalmaz (bu da iyidir), ancak sunucunuza gelen bant genişliğini büyük ölçüde azaltır. Sistem> Config> Web> [Un] güvenli altındaki ayarlar, Medya, Dış Görünüm ve JavaScript için herhangi bir CDN'yi entegre etmeyi gerçekten önemsiz hale getirir. Bu, gerçek HTTP isteklerinin büyük kısmı olacaktır ve bonus olarak, ana bilgisayar adlarındaki indirmeleri paralel hale getirmek için farklı DNS kayıtlarını kullanabilirsiniz. Doğru yapıyorsanız, bu istekler sunucunuza neredeyse hiç dokunmaz, bu yüzden artık gerçek bir ihtiyaç yokturKeepAlive için. Bu durumda KA'yı devre dışı bırakmalısınız; içeriğin geri kalanının başka bir yerden sunulduğunu bildiğimizde bağlantıyı canlı tutmak istemiyoruz. Bağımsız bir CDN önerisi istiyorsanız: CloudFlare harika ve hatta ücretsiz paketle SSL atılıyor.
Bunun gibi bir CDN kullanırken veya başka bir tür ters proxy kullanıyorsanız (Vernik gibi), Apache HTTP KeepAlives'iniz temel olarak önemsizdir.
Özetlemek gerekirse, Apache işlemlerinizi yük altında doyurmaktan kaçınmak için muhtemelen KeepAlive'yi devre dışı bırakmanız gerektiğini kabul ediyorum , ancak sayfanızın yüklerini olabildiğince çabuk tutmak için varlıklar için kesinlikle bir CDN veya başka bir ters proxy kullanın.