You need to enable JavaScript to run this app.
文档中心
缓存数据库 Redis 版

缓存数据库 Redis 版

复制全文
下载 pdf
报错和异常
访问延迟异常升高怎么办?
复制全文
下载 pdf
访问延迟异常升高怎么办?
问题现象​
当实例出现带宽限流、CPU 使用率过高、内存写满,或其他(如网络出现抖动等)情况时,都会导致业务访问延迟升高,您可以参考如下步骤来定位问题原因并解决对应问题。​
排查步骤​
​
排查步骤​
​
解决方案​
一、客户端侧排查​
​
  1. 客户端所在的计算或网络资源是否负载过高​
当客户端所在的计算(如 ECS)或网络(如 EIP)资源出现负载过高的情况时,会使上层应用感知到请求耗时增加。建议密切关注客户端所在计算或网络资源的负载状况,及时按需进行扩容,避免客户端处理能力成为瓶颈。 ​
​
  1. 客户端是否存在跨可用区访问​
​
当客户端与 Redis 实例处于不同可用区时,跨可用区访问所产生的网络延迟会使请求耗时增加。因此,建议如下:​
  • 尽量将客户端与 Redis 部署在同一个可用区。​
  • 若确实需要进行跨可用区访问,建议适当提高客户端的超时时间。 ​
​
  1. 客户端是否在单个 pipeline 中提交了过多命令​
避免在使用 Pipeline 时,单次提交过多的命令(不建议超过 100 条)。虽然 Pipeline 单次能执行的命令数没有硬限制,但由于 Pipeline 命令会独占 Socket 连接,当命令总数较大时,使用 Pipeline 单次提交过多的命令会影响连接池的分配,也可能出现慢查询,命令越多越容易引起超时或阻塞,从而影响集群稳定性。更多详情,请参与业务代码开发建议。​
二、实例侧排查​
  1. 是否触发了实例带宽限流​
查看 Redis 实例中数据节点的网络输入带宽利用率和网络输出带宽利用率监控指标是否达到 100%。​
若已达到 100%,说明已触发带宽限流,请参考实例合理使用带宽建议中的方法尝试解决。​
​
  1. 实例 CPU 利用率是否异常升高​
查看 Redis 实例中数据节点和代理节点的 CPU 使用率监控指标是否异常升高。​
若存在异常升高,请参考 CPU 使用率异常升高中的排查步骤尝试解决。​
​
  1. 实例内存是否已写满​
查看 Redis 实例中数据节点的每秒逐出 KEY 数量监控指标是否大于 0 ,若大于 0,说明实例内存已写满。​
此时您可以通过如下扩容方案使实例配置能匹配您的业务负载。​
​
  1. 是否执行了耗时命令​
执行耗时的命令会导致后续命令出现排队情况,进而使请求耗时增加。您可前往 Redis 控制台,进入目标实例详情页的日志管理 > 慢日志页签,查看耗时命令的具体执行时长。更多详情,请参见查询慢日志。​
若您的实例中存在大量慢日志,建议如下:​
  • 如需使用扫描类型的命令(包括 SCAN、SSCAN、HSCAN、ZSCAN 等),建议通过 COUNT 参数限制单次扫描的 key 数量。​
  • 避免使用 KEYS 等命令。​
  • 避免对大 key 进行全量或大范围查询操作(如 HGETALL、SMEMBERS、ZRANGE、LRANGE 等)。​
三、其他情况(如网络出现抖动等)​
​
若经过上述优化后,访问延迟仍较大,请提交工单联系技术支持。​
​
​
最近更新时间:2025.11.10 19:55:59
这个页面对您有帮助吗?
有用
有用
无用
无用