1

我刚开始使用memcached。我们通过睡衣代理服务器使用 spymemcached java 客户端(全部使用默认设置并分配 1024 mb 内存)。将程序设置为访问 memcached 非常简单明了,但我有一个观察结果:

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

这是否意味着我要缓存的值必须高于某些大小?我怎么能确定这样的尺寸?提前致谢!

大卫

4

2 回答 2

1

Nagle 的算法(TCP 将小数据包的发送延迟一段时间)会是问题吗?

于 2012-08-17T22:20:34.443 回答
0

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

于 2012-08-15T05:53:22.813 回答