Bir Redis kullanıcısından bir rapor aldım ve Linux ve programlayıcı alanında uzman olmadığım için ne cevap vereceğinden emin değilim, ancak (Redis projesi olarak) bu tür sorunları özellikle çözmemiz gerekiyor Gelecekte Redis Kümesi ile aynı anda tek bir kutuda çalışan birçok Redis örneğine sahip olacağız. Bu yüzden burada yardım istiyorum.
Sorun:
- Çekirdek: "Linux redis1 2.6.32-305-ec2 # 9-Ubuntu SMP Per 15 Nis 08:05:38 UTC 2010 x86_64 GNU / Linux"
- bol miktarda boş RAM, başka bir işlem önemli G / Ç yapmaz.
- Önemli , bir EC2 büyük örneğinde çalışıyor, gerçek bir sunucu değil. Sanallaştırılmamış bir ortamda böyle bir şey görmedim. EC2 örneği: "Yüksek Bellek Ekstra Büyük Örnek 17.1 GB bellek, 6.5 ECU (her biri 3.25 EC2 İşlem Birimi ile 2 sanal çekirdek), 420 GB yerel yönetim ortamı depolama, 64 bit platform" .
Temel olarak büyük bir Redis örneğini yeniden başlattığınızda, sistem o kadar yavaşlar ve artık kabuğa yazamazsınız. Redis bir örneği yüklediğinde% 100 CPU kullanır (verileri olabildiğince hızlı yükler) ve dump.rdb dosyasını sırayla okur. I / O, yükleme CPU'ya bağlı olduğundan, I / O'ya bağlı olmadığından özellikle yüksek değildir.
Neden iki CPU ve bol RAM içeren bir kutu, diskte takas edilen şey yok, bu iş yüküyle çalışmayı bırakmalı?
Bunun bir EC2 örneği olmasıyla çok ilgili olduğu izlenimini edindim, kullanılan sanallaştırma teknolojisi ile ilgili, her zaman Redis 24 GB veri kümelerini sorunsuz bir şekilde (Redis'in diğer örneklerinde bile) yüksek yük ile çalışıyor).
Herhangi bir ipucu için teşekkürler!
Salvatore
Düzenleme : Twitter'dan aldığım bazı geri bildirimleri ekleme:
@ezmobius: @antirez yapılacak ilk şey / mnt veya yerel geçici sürücüler denemek olduğunu onun EBS lapa lapa olup olmadığını görmek için, 2. onun "ilk yazma cezası" (google) ve o zaman önce disk boyunca dd 0'ları gerekir.
from @dvirsky: @antirez Tam olarak böyle ec2 düğümlerinde birçok redis örneği çalıştırıyorum. BGSA'da biraz yavaşlama olduğunu fark ettim ama bu fenomeni değil.