AWS中的高Redis延迟(ElastiCache)

时间:2017-04-29 17:03:43

标签: redis latency amazon-elasticache

我试图确定我在ElastiCache Redis节点(cache.m3.medium)上看到的高延迟的原因。我使用redis-cli延迟测试收集了一些数据,从与ElastiCache节点相同的区域/可用性区域中的EC2实例运行它。

我发现平均延迟非常好(约.5ms),但有一些相当高的异常值。我不相信异常值是由于网络延迟造成的,因为两个EC2实例之间的网络ping测试不会出现这些高峰值。

Redis节点没有任何负载,并且指标似乎看起来不错。

我的问题是:

  1. 可能导致高最大延迟的原因是什么?
  2. 这些最大延迟是预期的吗?
  3. 您将使用哪些其他步骤/测试/工具来进一步诊断问题?
  4. const digits = n =>
      n < 10
        ? [ n ]
        : digits (n / 10 >> 0) .concat ([ n % 10 ])
    
    const mult = (x,y) =>
      x * y
    
    const product = xs =>
      xs.reduce (mult, 1)
    
    const multiplicativeRoot = x =>
      x < 10
        ? [ x ]
        : [ x ] .concat (multiplicativeRoot (product (digits (x))))
      
    const multiplicativePersistence = x =>
      multiplicativeRoot (x) .length - 1
      
    console.log (multiplicativeRoot (999))        // [ 999, 729, 126, 12, 2 ]
    console.log (multiplicativePersistence (999)) // 4
    
    
    console.log (multiplicativeRoot (25))         // [ 25, 10, 0 ]
    console.log (multiplicativePersistence (25))  // 2

1 个答案:

答案 0 :(得分:4)

我使用几种不同的节点类型运行测试,发现更大的节点执行得更好。我正在使用cache.m3.xlarge类型,它提供了更一致的网络延迟。