2013-02-24 104 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