排查Redis实例网络输入/输出速率高的问题

数据库NoSQL数据库技术服务知识库
问题现象

查看 Redis 监控,发现网络 输入/ 输出速度较高,可能与预期不相符,甚至可能已经超过该规格的最大带宽。本文描述了排查 Redis 网络输入/输出速率高的问题。 图片

问题定位

当业务的访问量与预期带宽消耗不匹配,可以执行如下步骤进行排查。

  1. 是否存在非预期内的读写 QPS 突增

具体的可以查看如下指标,如读写 QPS,主要目的是查看业务上是否有非预期内的突增。Redis 作为更靠近业务系统的组件,通常在读写请求较大时,消耗的网络带宽也更大。通常从业务的角度来判断陡增的 QPS 更为直接有效。 图片

  1. 是否存在大 Key 或热 Key

在 Redis 实例页面,点击性能分析,主要目的为分析大 Key,热 Key。大 Key 意味着 Redis 占用服务器的网络带宽也较多,而热 key 则意味着对某一热点 Key 的请求流量过度集中,会消耗占用大量 CPU 和网络资源。关于大 key 和热 key 的更多信息,可以参考文档[1]。 大 Key 分析展示,更多信息可以参考文档[2] 图片 热 Key 分析展示,更多信息可以参考文档[3] 图片 同时,还可以选择进行 RDB 分析,可以选择立即备份和选择历史备份来进行分析,更多信息可以参考文档[4] 图片

根因描述

当 Redis 实例流量使用率高时,通过上述的方法可以排查到具体原因,总结如下:

  1. 非预期内的读写 QPS 突增,需要业务测进行排查。
  2. 业务上有大 Key,热 Key。
  3. 业务所需网络带宽与当前实例类型不相符。
解决方案
  1. 优化网络带宽

如果存在非预期的访问突增,请在业务系统中实现服务熔断或请求限流机制。

  1. 优化大 key,热 key

对于大 key,通常建议将大 key 进行拆分,减少对大 key 的访问,必要时删除不必要的大 key。 对于热 key,可以开启读写分离来分担读请求。或者在应用侧,将相同的 key 复制多份,将 key 迁移到不同的分片来分担读请求,这种方式需要与业务代码进行联动。

  1. 升级到更大的实例规格

经过上述步骤优化后,流量使用率依旧较高,可评估升级至更大的实例规格,以承载更大的网络流量。关于变更实例配置,可以参考文档[5]。

参考文档

[1] https://www.volcengine.com/docs/6293/83053 [2] https://www.volcengine.com/docs/6293/83049 [3] https://www.volcengine.com/docs/6293/83050 [4] https://www.volcengine.com/docs/6293/127807 [5] https://www.volcengine.com/docs/6293/71564

如果您有其他问题,欢迎您联系火山引擎技术支持服务

44
0
0
0
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论