Memcached性能下降,待缓存的值大小很小

时间:2012-08-15 01:17:02

标签: java memcached spymemcached

我刚开始使用memcached。我们通过Pajamas Proxy服务器使用spymemcached java客户端(所有服务器都默认设置并分配1024 MB内存)。设置程序以访问memcached非常简单明了,但我有一个观察结果:

当缓存的值大小下降到某一点时(在我的情况下:大约1450字节),性能急剧下降(每次检索从4毫秒到200毫秒)。

这是否意味着我想要缓存的值必须超过特定大小?我怎样才能确定这样的尺寸? 提前谢谢!

大卫

2 个答案:

答案 0 :(得分:1)

Nagle的算法(TCP推迟发送小数据包一段时间)会成为问题吗?

答案 1 :(得分:0)

虽然我对memcached内部结构知之甚少,但在我看来它与内存分配管理有关。 Memcached维护不同块大小的内存池。 http://www.mikeperham.com/2009/06/22/slabs-pages-chunks-and-memcached/。因此,大多数情况下,您面临内部碎片,而memcached必须查看两个块来查找您的数据。