2013-02-24 114 views
3

我在EC2上使用Redis,我的问题是,什么是redis实例的理想配置,其唯一目的只是pubsub和缓存?Redis配置pubsub和缓存在AWS EC2

很明显,我可以关闭保存到磁盘,因为我没有坚持任何东西,但是具有高内存的小磁盘是理想的吗?

假设100k个用户一次订阅了他们自己的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 

我有一个很难估计,因为我不知道什么或如何衡量发布订阅的Redis的内存占用。

回答

3

redis中的pub/sub是暂时的,并且不会持久化到磁盘,所以实际上,您不需要担心持久的redis。

估算redis内存占用量的经验法则应基于expected number of messages per second乘以average size of message

这是相当保守的,因为这假定需要一秒钟才能将消息转发给所有订阅者。

使用上面的估计,如果你的每个100k用户每秒发送1条消息,你将能够容纳每个150kb的消息。

所以这应该是很多。

+0

谢谢,这是超过14GB,但大多数邮件永远不会达到150kb,所以我认为它是一个好的开始。 – Marconi 2013-02-24 09:17:00