ElastiCache Redis örnek değişimimizle ilgili sürekli sorun yaşıyoruz. Amazon, takas kullanım artışlarını fark eden ve ElastiCache örneğini yeniden başlatan (böylece önbelleğe alınan tüm öğelerimizi kaybeden) bazı kaba dahili izlemeye sahip gibi görünüyor. ElastiCache örneğimizde son 14 gün içinde BytesUsedForCache (mavi çizgi) ve SwapUsage (turuncu çizgi) grafiği aşağıdadır:
ElastiCache örneğimizin yeniden başlatılmasını tetikleyen görünen takas kullanım modelini görebilirsiniz, burada önbelleğe alınan tüm öğelerimizi kaybederiz (BytesUsedForCache 0'a düşer).
ElastiCache kontrol panelimizin 'Önbellek Olayları' sekmesinde karşılık gelen girişler bulunur:
Kaynak Kimliği | Türü | Tarih | Etkinlik
önbellek örneği kimliği | önbellek kümesi | Sal 22 Eyl 07:34:47 GMT-400 2015 | Önbellek düğümü 0001 yeniden başlatıldı
önbellek örneği kimliği | önbellek kümesi | Sal 22 Eyl 07:34:42 GMT-400 2015 | 0001 düğümünde önbellek motoru yeniden başlatılırken hata oluştu
önbellek örneği kimliği | önbellek kümesi | Paz 20 Eyl 11:13:05 GMT-400 2015 | Önbellek düğümü 0001 yeniden başlatıldı
önbellek örneği kimliği | önbellek kümesi | Perş 17 Eyl 22:59:50 GMT-400 2015 | Önbellek düğümü 0001 yeniden başlatıldı
önbellek örneği kimliği | önbellek kümesi | Çar 16 Eyl 10:36:52 GMT-400 2015 | Önbellek düğümü 0001 yeniden başlatıldı
önbellek örneği kimliği | önbellek kümesi | Sal 15 Eyl 05:02:35 GMT-400 2015 | Önbellek düğümü 0001 yeniden başlatıldı
(önceki girişleri kırp)
SwapUsage - normal kullanımda, ne Memcached ne de Redis takas gerçekleştirmemelidir
Alakalı (varsayılan olmayan) ayarlarımız:
- Örnek türü:
cache.r3.2xlarge
maxmemory-policy
: allkeys-lru (daha önce çok fazla fark olmaksızın varsayılan uçucu-lru kullanıyorduk)maxmemory-samples
: 10reserved-memory
: 2500000000- Örnekteki INFO komutunu kontrol ederken,
mem_fragmentation_ratio
1.00 ile 1.05 arasında görüyorum
AWS desteğiyle iletişime geçtik ve çok yararlı bir tavsiye almadık: ayrılmış belleği daha da artırmayı önerdiler (varsayılan 0 ve 2,5 GB ayrılmış). Biz bu önbellek örneği için ayarlanmış çoğaltma veya anlık görüntüleri yok, bu yüzden hiçbir BGSAVE olması ve ek bellek kullanımına neden olması gerektiğine inanıyorum.
maxmemory
Bir cache.r3.2xlarge kapağı 62495129600 bayt ve bizim kap isabet (eksi bizim rağmen reserved-memory
) hızlı, bu sürece çok hızlı bir şekilde ana işletim sistemi burada çok fazla takas kullanmak için baskı hissediyorum bana garip görünüyor ve Amazon bir nedenden dolayı işletim sistemi swappiness ayarlarını başlattı. ElastiCache / Redis'te neden bu kadar çok takas kullanımına neden olacağımız konusunda herhangi bir fikir ya da deneyebileceğimiz bir çözüm var mı?