Otrzymałem raport od użytkownika Redis i nie jestem pewien, co odpowiedzieć, ponieważ nie jestem ekspertem w dziedzinie Linuksa i jego harmonogramu, jednak my (jako projekt Redis) musimy rozwiązać ten problem, szczególnie w przyszłości, podobnie jak w przypadku klastra Redis, będziemy mieć wiele instancji Redis działających jednocześnie w jednym pudełku. Proszę więc o pomoc tutaj.
Problem:
- Jądro: „Linux redis1 2.6.32-305-ec2 # 9-Ubuntu SMP czw 15 kwi 08:05:38 UTC 2010 x86_64 GNU / Linux”
- dużo wolnej pamięci RAM, żadne inne procesy nie wykonują znaczących operacji we / wy.
- Ważne , działa na dużej instancji EC2, a nie na prawdziwym serwerze. Nigdy nie widziałem czegoś takiego w niez zwirtualizowanym środowisku. Instancja EC2 brzmiała: „Pamięć bardzo duża, bardzo duża instancja 17,1 GB, 6,5 ECU (2 rdzenie wirtualne z jednostkami obliczeniowymi po 3,25 EC2 każda), 420 GB pamięci instancji lokalnej, platforma 64-bitowa” .
Zasadniczo po ponownym uruchomieniu dużej instancji Redis system będzie działał tak wolno, że nie będzie już można pisać w powłoce. Gdy Redis ładuje instancję, zużywa 100% procesora (ładuje dane tak szybko, jak to możliwe) i odczytuje plik dump.rdb sekwencyjnie. We / wy nie jest szczególnie wysokie, ponieważ ładowanie jest związane z procesorem, a nie z we / wy.
Dlaczego, u licha, pudełko z dwoma procesorami i dużą ilością pamięci RAM, bez zamiany rzeczy na dysku, powinno zasadniczo przestać działać z tym obciążeniem?
Mam wrażenie, że ma to wiele wspólnego z faktem, że jest to instancja EC2, więc związana z używaną technologią wirtualizacji, ponieważ bez problemu ładuję zestawy danych Redis 24 GB w moim pudełku (nawet z innymi instancjami Redis działa z dużym obciążeniem).
Dzięki za podpowiedź!
Salvatore
Edycja : dodając opinie z Twittera:
from @ezmobius: @antirez pierwszą rzeczą do zrobienia jest wypróbowanie go z / mnt lub lokalnych efemerycznych napędów, aby sprawdzić, czy jego niestabilność EBS, 2. upewnienie się, że nie jest to „kara za pierwsze zapisanie” (google it), a jeśli tak, to najpierw musisz dodać 0 do dysku.
from @dvirsky: @antirez Korzystam z wielu instancji Redis na dokładnie takich węzłach ec2. Zauważyłem pewne spowolnienie bgsave, ale nie to zjawisko.