Неравномерное распределение нагрузки на эластичном кластере

Кластер Amazonasticache выглядит действительно хорошим выбором для автоматического масштабирования, но кажется, что распределение нагрузки между узлами не одинаковое.

И в отношении памяти, и в отношении ЦП узел 1, кажется, потребляет почти вдвое больше ресурсов, чем другие узлы. Это часто приводит к увеличению времени отклика в часы пик, даже когда большинство других узлов идеально сидят.

Я использую экземпляры r3.2x (8cpu, 60GB mem)

У кого-нибудь есть такая же проблема? Что может быть причиной для такого поведения (в эластичной боли или в моем модуле memcache)? Со своей стороны я использую хэширование последовательного распределения (Ketama algo). Есть ли лучшая альтернатива?

1 ответ

Если у вас есть один элемент кэша (или очень мало элементов), который используется гораздо чаще, чем любой другой элемент, вы увидите это поведение неравномерного распределения нагрузки.

Вы должны проверить свое приложение на предмет этого типа кеша. Возможно, вы сможете зарегистрировать все memcache-запросы, чтобы найти эти элементы. После того, как вы определили такой предмет, вы должны подумать о том, как разделить и распределить вызовы по этому предмету среди множества предметов.

Я считаю, что нет единого решения для такого рода проблем, потому что это зависит от логики приложения, количества операций чтения и записи и т. Д.

Другие вопросы по тегам