AWS ElastiCache Redis是否有明显的网络延迟?

时间:2018-09-26 02:29:32

标签: amazon-web-services redis latency amazon-elasticache distributed-caching

我在IIS上有一个ASP.NET Web应用程序,该应用程序将大量数据缓存到内置的ASP.NET缓存中。我想将缓存移至Redis并为此使用AWS ElastiCache Redis,因为当前所有我的服务器都不共享其缓存。它们已经托管在EC2上。我需要了解,是否通过将缓存从我托管我的应用程序的基本上相同的服务器移到某个AWS ElastiCache的网络实例上而不会导致性能下降?我读到,AWS Redis本身有一个“亚毫秒级延迟”,但是,如果有人说它也涉及网络延迟,或者必须满足什么条件才能获得此延迟,我却没有得到。

这是我的情况:

  1. IIS EC2 WinServer2008R2上的2个应用服务器处于负载平衡状态
  2. 需要将成千上万的各种对象作为JSON进行缓存,最多可以包含1M个符号
  3. 所有服务器都可以在同一地区设置

这是一个问题:

  1. AWS ElastiCache Redis是否合适?
  2. 我该怎么做才能最大程度地减少对Redis的延迟?

谢谢。

1 个答案:

答案 0 :(得分:2)

我需要了解,是否通过从基本相同的服务器上移动缓存不会使性能下降-是的,您会发现延迟以毫秒为单位增加,但是由于您正在移动集中缓存,如果实例共享缓存数据,实例中的数据将不会重复。

我读到,AWS Redis本身具有“ sub-millisecod延迟”,但是如果有人也提到网络延迟或必须满足什么条件才能获得此延迟,我却没有得到。-不,它不包括网络延迟,网络延迟取决于将实例放置在子网中的方式。

AWS ElastiCache Redis是合适的解决方案吗?是的,因为您将拥有在密钥Expiries中进行构建的功能,它支持丰富的数据结构,因此通过拥有从属服务器,您的数据将更加可靠,您可以使用PUB / SUB功能等。

我应该怎么做才能最大程度地减少到Redis的延迟?如果将实例托管在单个AZ中而不是两个AZ中,将您的redis主节点托管在同一AZ中,将减少延迟。