应该是一个“昂贵”的门槛吗?基础设施的运营变化?

时间:2015-11-10 20:52:09

标签: caching amazon-web-services memcached

我在多节点Web应用程序上使用Amazon ElastiCache进行会话存储和昂贵的操作缓存。一个gotchya - 我没有考虑到ElastiCache节点与本地Memcached服务器相比的网络延迟。

我的基准测试显示,在AWS VPC内(如所宣传的),ElastiCache调用的响应时间为1-2ms,相当不错,但显然比本地任何东西都慢得多。就实际计算周期而言,1-2ms是一生。这大大改变了我可以考虑的“昂贵的”#34;值得缓存的操作。

我的经验不足让我走上了这条道路,但我想其他人在进入"云计算时必须遇到类似的问题。

问题:重新考虑(并重写)符合“昂贵”标准的内容是否更好?操作,或者基础设施应该更好地支持代码(例如,我可以在每个节点上使用本地memcached服务器,只将缓存未命中传递到ElastiCache节点)。

1 个答案:

答案 0 :(得分:0)

一些未解决的问题:

  • 您是如何进行基准测试的?
    1-2ms是从连接打开到关闭,或只是取出时间。
  • 为什么你需要15-20个普通电话,它们可以降低吗?
    如果是,那可能会更好。
  • Amazon ElasticCache与服务器位于同一区域吗?

现在找到解决方案(将根据上述问题进行更新'回答):

可能的解决方案
划分你可以很好地显示陈旧价值的东西,以及在所有服务器上应该没有陈旧和共同的东西(例如钱包里的钱等)。现在设置两层缓存,一层即仅在服务器上,并保存可以在不同服务器上单独进行的所有值,并维护常用的AmazonElastic缓存以获得稳定的值。这可能是工作策略之一。