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

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

我有一组小型服务器来平衡 Java Web 应用程序。目前,我有 3 个 memcached 服务器缓存数据,所有 Web 应用程序共享所有 3 个 memcached 实例。

我经常会遇到一些 memcached 出现奇怪的减速和超时的情况,我想知道是否有一种好的方法来分析性能。

我想知道我的 iptables 规则(或其他系统限制)是否阻止/减慢了连接。我正在考虑重新配置 Web 应用程序,以便它们仅在自己的本地主机上查询 memcached 进程。

答案1

您可以在这里找到一些用于 memcached 的 cacti 模板http://dealnews.com/developers/cacti/memcached.html您需要查看的一件事是 memcached 允许的连接数,默认情况下设置为 1024。您可以在此处查看文档的相关部分http://code.google.com/p/memcached/wiki/NewConfiguringServer#Connection_Limit。如果您的客户端没有正确关闭连接,这可能会导致速度变慢等症状。

移动到仅限本地的 memcached 您可能会遇到缓存问题,因为每个人都知道 CS 中只有两个难题,缓存无效和命名事物。

答案2

这些事情取决于各种因素。显然,查询远程 memcache 比查询本地 memcache 慢。因此,如果您有足够的内存来在缓存中保存合理数量的数据,最好在每个缓存上都保留一份副本。确保 memcache 不使用交换内存。

想想什么时候等待(可能很慢的)远程内存缓存或只是重新计算数据更便宜。

相关内容