AWS (ElastiCache) 中的高 Redis 延迟

High Redis latency in AWS (ElastiCache)

我正在尝试确定我在 ElastiCache Redis 节点 (cache.m3.medium) 上看到的一些高延迟的原因。我使用 redis-cli 延迟测试 运行 从与 ElastiCache 节点相同 region/availability-zone 的 EC2 实例收集了一些数据。

我发现平均延迟时间相当不错(~.5 毫秒),但也有一些非常高的异常值。我不认为异常值是由网络延迟引起的,因为两个 EC2 实例之间的网络 ping 测试不会出现这些高峰值。

Redis 节点没有任何负载,指标似乎看起来很好。

我的问题是:

  1. 什么可能导致最大延迟时间过长?
  2. 这些最大延迟是预期的吗?
  3. 您还会使用其他什么 steps/tests/tools 来进一步诊断问题?

.

user@my-ec2-instance:~/redis-3.2.8$ ./src/redis-cli -h redis-host --latency-history -i 1
min: 0, max: 12, avg: 0.45 (96 samples) -- 1.01 seconds range
min: 0, max: 1, avg: 0.33 (96 samples) -- 1.00 seconds range
min: 0, max: 3, avg: 0.33 (96 samples) -- 1.01 seconds range
min: 0, max: 2, avg: 0.29 (96 samples) -- 1.01 seconds range
min: 0, max: 2, avg: 0.26 (96 samples) -- 1.01 seconds range
min: 0, max: 1, avg: 0.34 (96 samples) -- 1.00 seconds range
min: 0, max: 4, avg: 0.34 (96 samples) -- 1.01 seconds range
min: 0, max: 1, avg: 0.26 (96 samples) -- 1.00 seconds range
min: 0, max: 5, avg: 0.33 (96 samples) -- 1.01 seconds range
min: 0, max: 1, avg: 0.31 (96 samples) -- 1.00 seconds range
min: 0, max: 1, avg: 0.33 (96 samples) -- 1.00 seconds range
min: 0, max: 1, avg: 0.28 (96 samples) -- 1.00 seconds range
min: 0, max: 1, avg: 0.30 (96 samples) -- 1.00 seconds range
min: 0, max: 4, avg: 0.35 (96 samples) -- 1.01 seconds range
min: 0, max: 15, avg: 0.52 (95 samples) -- 1.01 seconds range
min: 0, max: 4, avg: 0.48 (94 samples) -- 1.00 seconds range
min: 0, max: 2, avg: 0.54 (94 samples) -- 1.00 seconds range
min: 0, max: 1, avg: 0.38 (96 samples) -- 1.01 seconds range
min: 0, max: 8, avg: 0.55 (94 samples) -- 1.00 seconds range

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