我发现 AWS 弹性缓存 redis GET/SET 上的延迟非常高。使用一个 redis 实例 (cache.r3.2xlarge)。包括 set_type_commands、get_type_commands 和 hash_based_commands 在内的 redis 请求速率约为 3k rps。
SET 函数是一个简单的 SET 操作,而 GET 函数是 3 个命令(2 个 HGET 和 1 个 GET)的管道。如果我遗漏了什么,请告诉我。超过 10% 的 redis 请求花费的时间超过 10 毫秒。 AFAIK 3k rps 对于 redis 来说非常低,应该表现得更好。
在 SET 函数和 GET 函数上测量时间。
最佳答案
Cache.r3.2xlarge 是此类负载的一个非常昂贵的实例,响应时间不应超过 3-4 毫秒。
你应该做下面提到的事情:-
- 通过 cloudwatch 监控 Redis 实例.
- 检查 Redis 慢查询日志。
slowlog get 200
1) (integer) 13
2) (integer) 1309448128
3) (integer) 30
4) 1) "slowlog"
2) "get"
3) "100"
将帮助您检查影响 Redis 整体性能的慢速查询。
关于amazon-web-services - AWS ElastiCache redis 操作需要超过 10 毫秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50384126/