Конфигурация Redis для pubsub и кэширования в AWS EC2

Я использую Redis на EC2, мой вопрос в том, что было бы идеальной конфигурацией для экземпляра Redis, единственной целью которого является просто pubsub и кеширование?

Очевидно, я могу отключить сохранение на диск, так как я ничего не сохраняю, но будет ли идеальным маленький диск с большим объемом памяти?

Скажем, 100 000 пользователей одновременно подписались на собственный канал pubsub. Будет ли достаточно экземпляра EC2, следующего за экземпляром EC2:

High-Memory Extra Large Instance

17.1 GiB of memory
6.5 EC2 Compute Units (2 virtual cores with 3.25 EC2 Compute Units each)
420 GB of instance storage
64-bit platform
I/O Performance: Moderate
EBS-Optimized Available: No
API name: m2.xlarge

Мне трудно оценить, так как я не знаю, что и как измерить объем памяти pubsub в Redis.


person Marconi    schedule 24.02.2013    source источник


Ответы (1)


pub/sub в Redis является временным и не сохраняется на диск, поэтому вам не нужно беспокоиться о сохранении Redis.

Эмпирическое правило для оценки объема памяти Redis должно основываться на expected number of messages per second умноженном на average size of message.

Это довольно консервативно, поскольку предполагается, что для пересылки сообщения всем подписчикам требуется секунда.

Используя приведенную выше оценку, если каждый из ваших 100 000 пользователей отправляет 1 сообщение в секунду, вы сможете разместить сообщения размером 150 КБ каждое.

Так что этого должно быть много.

person Pascal Belloncle    schedule 24.02.2013
comment
Спасибо, это больше 14 ГБ, но большинство сообщений в любом случае никогда не достигнет размера 150 КБ, поэтому я думаю, что это хорошее начало. - person Marconi; 24.02.2013