Я отримав звіт від користувача Redis, і я не впевнений, що відповісти, оскільки я не є експертом у галузі Linux та його планувальника, проте нам (як проекту Redis) потрібно розібратися в таких питаннях, особливо в майбутньому, як і з класом Redis, у нас буде багато екземплярів Redis, які працюють одночасно в одному полі. Тому я прошу тут допомогти.
Проблема:
- Ядро: "Linux redis1 2.6.32-305-ec2 # 9-Ubuntu SMP Чт 15 квітня 08:05:38 UTC 2010 x86_64 GNU / Linux"
- багато вільної оперативної пам’яті, жодних інших процесів, що роблять значні введення-виведення.
- Важливо , працює на великому екземплярі EC2, а не на справжньому сервері. Я ніколи не бачив подібного в не віртуалізованому середовищі. Екземпляр EC2 був: "Надмірно велика пам’ять 17,1 ГБ пам'яті, 6,5 ECU (2 віртуальних ядра з 3,25 EC2 обчислювальними одиницями кожен), 420 ГБ локального сховища, 64-бітна платформа" .
В основному, коли ви перезавантажите великий екземпляр Redis, система стане настільки повільною, що ви більше не можете вводити оболонку. Коли Redis завантажує екземпляр, він використовує 100% ЦП (він завантажує дані як можна швидше) і читає файл dump.rdb послідовно. Введення / виведення не особливо високе, оскільки завантаження пов'язане з процесором, не пов'язане з входом / виводом.
Чому на землі коробка з двома процесорами та великою кількістю оперативної пам’яті, що не змінюються на диску, в основному повинна перестати працювати з цим робочим навантаженням?
У мене складається враження, що це має багато спільного з тим, що це екземпляр EC2, так що пов'язаний з використовуваною технологією віртуалізації, тому що я постійно завантажую набори даних по 24 ГБ в мою скриньку без проблем (навіть з іншими екземплярами Redis біг з високим навантаженням).
Дякуємо за будь-яку підказку!
Сальваторе
Редагувати : додавання відгуків, отриманих від Twitter:
від @ezmobius: @antirez перше, що потрібно зробити, - спробувати це з / mnt або локальних ефемерних дисків, щоб перевірити, чи є його EBS в'ялістю, 2-е - переконатися, що це не "перше покарання на запис" (google it), і якщо це потім вам потрібно спочатку увімкнути 0 на весь диск.
від @dvirsky: @antirez Я запускаю багато екземплярів redis саме на таких вузлах ec2. Я помітив деяке уповільнення bgsave, але не це явище.