![memcached 集群或本地 memcaches 的性能更好吗?](https://linux22.com/image/568433/memcached%20%E9%9B%86%E7%BE%A4%E6%88%96%E6%9C%AC%E5%9C%B0%20memcaches%20%E7%9A%84%E6%80%A7%E8%83%BD%E6%9B%B4%E5%A5%BD%E5%90%97%EF%BC%9F.png)
我有一组小型服务器来平衡 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 不使用交换内存。
想想什么时候等待(可能很慢的)远程内存缓存或只是重新计算数据更便宜。