使用memcached集群或本地memcaches更好的性能?

我有一个平衡Java Web应用程序的小型服务器集群。 目前我有3个memcached服务器caching数据,所有的web应用程序共享所有3个memcached实例。

我经常对某些memcacheds感到奇怪的减速和超时,我想知道是否有一种分析性能的好方法。

我想知道我的iptables规则(或一些其他系统限制)阻塞/减慢连接。 我正在考虑重新configurationWeb应用程序,以便他们只能在自己的本地主机上查询memcached进程。

你可以在这里find一些用于memcached的cacti模板http://dealnews.com/developers/cacti/memcached.html 。 有一件事情你可以看看memcached允许的连接数,默认设置为1024.你可以在这里看到文档的相关部分http://code.google.com/p/memcached/wiki/NewConfiguringServer #Connection_Limit 。 如果你的客户没有正确地closures连接,这可能会导致像减速症状。

移动到本地只有memcached你可能会遇到caching问题,因为每个人都知道在CS中只有两个难题,caching失效和命名的事情。

这些事情取决于各种因素。 显然,查询远程memcache比查询本地memcache要慢。 所以如果你有足够的内存在caching中保存合理数量的数据,最好保留一份。 确保memcaches不使用交换内存。

考虑一下等待一个(可能很慢的)远程memcache或者重新计算数据的便宜。