首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缓存命中不均匀

缓存命中不均匀
EN

Stack Overflow用户
提问于 2015-09-01 10:26:48
回答 1查看 286关注 0票数 0

我已经集成了twemproxy到web层,我有6个Elasticache(1个主,5个读副本)我得到的问题是所有副本都有相同的键一切都是一样的,但是在一个副本上的缓存命中率比其他副本多得多,我仍然在每个测试上执行了几次负载测试,我得到了相同的结果。我有单独的数据引擎,在这个集群的主服务器上写入数据,其余5个副本与之同步。所以我使用twemproxy只是为了从Elasticache读取数据,而不是为了分片。所以我的简单问题是,为什么我在Elasticache的单个读取副本上获得了90%的命中率,它应该在所有读取副本中均匀分布命中率?对吗?

提前谢谢你

EN

回答 1

Stack Overflow用户

发布于 2015-09-02 21:01:17

在我的记忆中,Twemproxy会散列所有的东西。这意味着它将尝试在您为其提供的主控对象之间拆分密钥。如果您有一个主服务器,这意味着它将所有内容散列到一台服务器上。因此,就它而言,您有一台服务器来处理可接受的查询。因此,在这种情况下,它对您没有帮助。

如果您想让单个端点跨一组相同的从节点分发读取数据,则需要将TCP负载均衡器放在从节点之前,并让应用程序与负载均衡器的IP:port进行会话。常见的选择是基于软件的Nginx和HAProxy,在亚马逊网络服务上,你可以使用他们的负载均衡器,但你可能会遇到各种资源限制,在那里你无法控制,几乎任何硬件负载均衡器都可以工作(尽管这在亚马逊网络服务上是困难的,如果不是不可能的话)。

使用哪种负载均衡器取决于您(或您的人员)对每个选项的舒适度和知识水平。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32322612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档