Что определяет полезную память AWS Redis? (Выпуск ООМ) - PullRequest
4 голосов
/ 06 мая 2019

Я использую AWS Redis для проекта и столкнулся с проблемой нехватки памяти (OOM).При исследовании проблемы я обнаружил пару параметров, которые влияют на объем используемой памяти, но математика, похоже, не подходит для моего случая.Я пропускаю какие-либо переменные?

Я использую:

  • 3 шарда, 3 узла на шард
  • cache.t2.micro тип экземпляра
  • default.redis4.0.cluster.on группа параметров кэша

На веб-сайте ElastiCache указано, что cache.t2.micro имеет 0.555 GiB = 0.555 * 2^30 B = 595,926,712 B память.

default.redis4.0.cluster.on группа параметров имеетmaxmemory = 581,959,680 (только под памятью экземпляра) и reserved-memory-percent = 25%.581,959,680 B * 0.75 = 436,469,760 B available.

Теперь, глядя на метрику BytesUsedForCache в CloudWatch, когда у меня заканчивается память, я вижу узлы размером около 457M, 437M, 397M, 393M байтов.Для узла не должно быть больше 436M байт, вычисленных выше!

Чего мне не хватает;Есть ли что-то еще, что определяет, сколько памяти можно использовать?

...