2010-06-16 100 views
0

我打算僅將Amazon EC2主機用於MemCache.My Web應用程序ll將駐留在共享託管服務器上,並將與Ec2通信以查詢Memcache。這個設置的性能如何?亞馬遜EC2中的Memcached延遲

Regards, Mugil。

+1

你說的是通過公共互聯網路由memcache呼叫嗎?所以你會看到30-100毫秒或更差的往返時間,並且吞吐量可能比每秒1兆比特更差? – 2010-06-16 02:24:22

回答

1

這聽起來不是一個好主意,你的memcached調用將通過互聯網(而不是當你使用ec2作爲你的web應用程序時,那麼你的memcached調用就在amazon數據中心內並且非常快(甚至在同一臺機器上))。

如果您要獲得一個EC2實例,您應該在EC2上運行您的Web應用程序,並在需要更高性能時在其中添加一個小型memcached。

9

不想批評你對建築的選擇,但這聽起來像是你放錯了優先順序。 Memcache不需要一個巨大的盒子來運行;它只需要儘可能多的內存,因爲你願意餵它。它的好處在於,它可以在將信息推送到其中或從中提取信息時提供的速度。把你的MC盒放在你的內部網絡之外 - EC2與否 - 基本上殺死了開始使用MC盒的有效性。假設您在數據庫請求上節省了100毫秒,但EC2的延遲時間爲50毫秒。你仍然在浪費49毫秒,否則你將無法利用。

共享主機是(對於很多大型應用程序)絕對廢話。如果你有一個足夠大的項目來爲你的CACHING服務需要一臺EC2機箱的馬力,那麼你肯定是做錯了什麼。以下是我的建議:將應用程序移出EC2並將Memcached實例託管在同一個盒子上。開銷並不可怕,如果您打算擴展緩存,只需啓動另一個盒子並將您的應用程序指向 MC實例。

另一種選擇是使用較便宜的VPS主機,如LinodeSlicehost。兩人在社區都有很高的聲譽。如果我沒有弄錯,Foursquare的部分內容甚至可以用Slicehost託管。這些都是非常便宜的VPS解決方案(與許多共享解決方案相比,可以像MediaTemple一樣查看它們的點對點),並且可以非常輕鬆地進行縮放。假設你從MC實例的$ 20 Linode盒子開始。由於您不在EC2上,您可以節省50美元/月的費用。如果你把你的主機轉移到另一個20美元/月的Linode上,你可能會花費大約相同的金額(如果你在共享主機上,可能會多一點)。另外,如果你把你的Linode放在同一個數據中心裏,你的Web應用程序和你的緩存之間的延遲幾乎沒有。

在路上,假設你想提高你的MC盒子。只需啓動另一個運行MC的盒子並刪除舊的。你可以關閉一個,然後調整它的大小,但是你會停下來(但它仍然是一個選項)。

希望這會有所幫助!

Matt