2008-12-10 36 views
2

具有在任何方面經驗豐富的memcached的限制:memcached的限制

  • 在緩存存儲的對象

    - 有它失去的性能呢?

  • 已分配內存量 - 與哪些基本數字配合使用?
+0

一個相當小規模使用它,所以我真的不能說,但考慮到它應該相當大幅度擴大,什麼大小你擔心? (可能在已知的可用性範圍內) – 2008-12-10 21:52:14

回答

3

我可以給你一些我們環境的指標。我們在12個盒子上運行用於Win32的memcached(作爲數據庫重度ASP.NET網站的緩存)。這些盒子各有其他責任;我們只是將所有帶有內存的機器上的memcached節點分散開來。每個節點最多有512MB由memcached分配。

我們的節點平均打開500-1000個連接。一個典型的節點在緩存中有60.000個項目,每秒處理1000個請求(!)。所有這些運行相當穩定,需要很少的維護。

我們遇到了2種限制: 1. CPU在客戶機上使用。我們使用.NET序列化來存儲和檢索memcached中的對象。無縫工作,但CPU使用可能會非常高,我們的負載。我們發現某個對象可以更好地轉換爲字符串(或HTML片段),然後進行緩存。 2.我們在使用TCP/IP連接的memcached盒子時遇到了一些問題。傳播更多盒子有所幫助。

我們運行memcached 1.2.6,並使用.NET客戶端從http://www.codeplex.com/EnyimMemcached/

+0

Teun, 您使用的是Win32的哪個端口爲mem32? 什麼是您用來運行memchaced服務的配置開關? 你是怎麼知道你最大化TCP/IP連接的? – joeysim 2009-02-16 18:46:18

1

我不能保證這個要求的精度,但在一個Linux /開發者聚會幾個月前,一位工程師談到了他的公司如何縮小內存緩存重新使用2GB塊,每3-4個箱子的memcache 。他們發現吞吐量很好,但是有非常大的memcache守護進程,他們得到了4%以上的錯失。他說他們無法弄清楚爲什麼會有差異,但決定採取行之有效的做法。