2015-04-08 23 views
8

Bir ELB'nin arkasındaki 2 t2.medium örneğinden oluşan bir siteden aralıklı ama düzenli 503 hataları alıyorum ("Servis Kullanılamıyor: Arka uç sunucu kapasitesi"). Hiçbiri özellikle ağır yük altında ve tüm izleme normal görünüyor. BuradaZaman aşımı ayarlarıyla AWS ELB/EC2 HTTP 503 nasıl çözülür?

AWS docs:

"senin yük dengeleyici boşta kalma zaman aşımı ayarlarına eşit veya daha büyük için canlı tutma zaman set": http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ts-elb-error-message.html potansiyel bir nedeni ELB ve EC2s arasındaki uyumsuz zaman aşımı ayarlarını olduğunu söylemek EC2s üzerinde

Apache conf vardır:

  • KeepAlive
  • MaxKeepAliveRequests on 100
  • KeepAliveTimeout 5

Yük dengeleyici boşta zaman aşımı 60 saniyedir.

Bu nedeni gibi, o zaman, görünüyor ama düzeltme konusunda emin değilim. Apache KeepAliveTimeout'u yükseltmek normalde tavsiye edilmez - ve ELB'deki boşta zaman aşımını azaltan efektin site performansında olacağı konusunda da emin değilim.

Önerilen yaklaşım nedir? Kurulumum için ideal ayarların ve şu andaki trafik seviyesinin (şu anda yaklaşık 30-50 istek/dakika) ne olduğu hakkında bir fikre nasıl ulaşabilirim?

+3

apache zaman aşımı artırılması, ELB arkasında, ince olmalıdır. Dene? –

cevap

3

Boşta zaman aşımını ELB'ye düşürürüm. Müşterilerin yeni bağlantıları daha sık açmaları gerekecek, ancak kalıcı bir bağlantıyı yeniden kullanmaktan biraz daha yavaş.

Apache'de 60 tutucuyu yükseltmek de 503'ü düzeltebilir, ancak özellikle prefork mpm ile bağlantılardan veya bellekten kaçmamaya dikkat etmelisiniz, çünkü çok daha fazla yuvada kalıcılığa sahip olacaksınız. Çalışan mpm'yi (veya "Bu MPM deneysel" uyarıdan korkmamanız durumunda olay mpm'yi kullanın), tüm istekleri işlemek için yeterince yüksek MaxClients'e sahip olduğunuzdan, ancak notun bitmemesi için yeterince düşük olduğundan emin olun. ELB yerine bunları doğrudan tutan tarayıcıların, bağlantıları tutan çünkü