2016-03-08 27 views
6

ElasticCache için yardım arıyorum Resque tabanlı bir Qing sistemi çalıştırmak için ElasticCache Redis kullanıyoruz. Bu, sıralanmış kümeler ve Listeler karışımı anlamına gelir. normal işletimde, her şey yolunda ve biz iyi yanıt süreleri & verim görüyoruz. CPU seviyesi% 7-10 civarında, Get + Set komutları 120-140K işlem civarında. (Tüm metrikler bulut tabanlı.) , ancak - sistem birkaç (K) veri iletimini deneyimlediğinde, birkaç K iletisinin girilmesiyle, sunucunun yanıt vermemenin yaklaştığını görüyoruz. CPU% 100 sabit kullanımda (metrik 50 diyor, ama tek bir çekirdek kullanıyor) ~ 10K yanıt süreleri yanıt süreleri istek başına SECONDS meselesi için yavaş oluyor CPU böyle bir dereceye kadar yüklendi, çıktı seviyesi aynı kalıyordu, Redis'i yerel olarak çalıştırırken karşılaştığımız şey bu. redis CPU kullanabilir, ancak çıktı yüksek kalır. Doğal olarak tek-çekirdekli olduğu için, bağlam değişiminin olmadığı görülür. AFAWK - herhangi bir sınırlama veya kalıcılık, çoğaltma uygulamayız. temel yapılandırmayı kullanarak.high cpu in redis 2.8 (elasticache) cache.r3.large

boyutu: biz cache.r3.large ne de periyodik snapshoting

+0

Belleğiniz nasıl? Eğer redis değişmesi gerekiyorsa, bu redis istek başına saniye kadar yavaşlatır olabilir. Sistemsiz mem% 8'in altına düştüğünde bir uyarı veriyoruz. Bu, kurmuş olabileceğiniz redis sınırlarıyla ilgili değil. –

+1

Yeni LUA-pop komut dosyası bir LIMIT eksik: https://github.com/gresrun/jesque/issues/101 – user3041539

cevap

3

Bu allık lua script karakteristik gibi görünüyor kullanarak. Böyle bir komut dosyasında bir kusura sahip olan , büyük bir CPU yüküne neden olurken, genel işlem hacmini düşürür.

Böyle kullanıyor musunuz? Bir kereliğine yavaş yavaş bakmaya çalışın

+0

daha iyi biçimlendirme ve daha açıklayıcı cevap, aynı sorunun diğerlerinin daha iyi çözümünüzü anlamalarına yardımcı olur –