2009-11-20 164 views
2

我在ec2實例上運行memcached,並且在某些情況下,對於少量數據看到的寫入速度非常慢(10秒)。我在客戶端的rails上使用了memcache-client。有沒有人以前從memcached看過這種行爲?Memcached寫入速度非常慢

+0

嗨Awt-我準備爲memcached啓動一些EC2服務器,我想知道更多關於你是否解決了這個問題,你使用了什麼AMI以及你的可用性區域。非常感謝! – Industrial 2010-05-23 21:26:47

回答

1

該memcached客戶端已知是不必要的非常慢。

也許嘗試Evan Weaver's客戶端會給你更好的結果。

1

不在我運行的任何硬件上,但是我從未在虛擬化環境中使用過它。假設他們在不同的實例上,我建議檢查服務器之間的ping。我也會盡量確保你不會在內存上交換或限制內存。

+0

感謝您的建議。坪看起來不錯。我在memcached服務器上也看不到很多緩存。負載也相當低。 – awt 2009-11-20 22:35:28

0

您正在使用什麼Rails版本? Rails 2.1.2附帶的memcache-client是版本1.5。最新版本1.7.x已解決了一些問題。

如果您使用冷凍的Rails,只需要安裝最新的內存緩存客戶端的寶石,取下內存緩存客戶端在RAILS_ROOT /供應商/軌/的ActiveSupport/lib中/ active_support /供應商/

此外,您使用cache_fu?我發現cache_fu發出大量不必要的內存緩存調用。如果您的頁面顯示多個記錄(例如搜索結果),則這尤其成爲問題。我的解決方案是停止使用cache_fu並使用普通的Rails.cache。

1

您使用的是哪個版本的memcached? 1.4系列固定的1.2系列中有很多錯誤。您是否配置了memcached以使用比EC2 VM可用的內存更多的內存?當你開始交換時,Memcached是毫無意義的。

您可以嘗試使用Gear6 memcached AMI來代替「自己推出」memcached EC2。它對於32位實例類型是免費的(除亞馬遜費用外),它爲您提供了一個良好的管理和監控界面,因此您可以更好地瞭解這些類型的問題。