现象描述
- 现象1:收到 CPU 使用率过高的消息提醒。
- 现象2:CPU 使用率的监控指标高。
- 现象3:整体吞吐量变小、响应速度变慢。
可能原因
- 存在高时间复杂度的命令。
- 负载过高,如存在对热点 Key 的大量访问。
- 存在频繁建立连接的现象。
- 存在异常访问。
解决思路
业务优化
在控制台系统监控页面,确认 QPS(Queries Per Second)是否过高和突发热点 Key 等。
在排查异常访问后,对业务逻辑进行优化,例如,优化高复杂度的命令、优化热点 Key、优化短连接。如果仍不能解决问题,您可以考虑升级实例。
实例升级
- 如果是读负载过大,您可以通过增加副本数分摊读负载,开启读写分离可能会导致数据读取不一致(副本节点数据延后于主节点),请先确认业务是否允许数据不一致的问题。
- 如果是写负载过大,您可以通过升级为集群版提升 CPU 处理能力,升级集群前需要检测兼容性,请参见 标准架构迁移集群架构检查。
处理步骤
- 登录 Redis 控制台,在实例列表,单击实例 ID,进入实例管理页面。
- 在实例管理页面,选择系统监控页,确认 QPS 是否过高或者有突发的热 Key。
- 在排查异常访问后,您可以对业务逻辑进行优化:
- 对于热 Key,您可以拆分复杂数据结构,将热点 Key 拆分为若干个新的 Key 分布到不同 Redis 节点上,从而减轻压力。以哈希类型为例,该热 Key 的类型是一个二级数据结构,该哈希元素个数可能较多,可以考虑将当前 hash 进行拆分。
- 对于大 Key,如果是 value 过大,您可以将对象拆分成多个 key-value,将操作压力平摊到多个 Redis 实例;如果是 Key 过多,您可以参考 hash 结构存储,将多个 Key 存储在一个 hash 结构中。
读负载过大场景
读负载过大时,您可以 开启读写分离,通过 增加副本数 来分摊读负载。
注意:
开启读写分离可能会导致数据读取不一致(副本节点数据延后于主节点),请先确认业务是否允许数据不一致的问题,请参见 变更实例规格。
- 登录 Redis 控制台,在实例列表,选择操作列的配置变更>增加副本。

- 在弹出的配置变更对话框,选择需更改的配置,单击确定。
- 返回实例列表,待实例状态变更为运行中,即可正常使用。
写负载过大场景
- 登录 Redis 控制台,在实例列表,单击实例 ID,进入实例详情页面。
- 在实例详情页的规格信息处,单击架构升级。

- 升级集群架构后,返回实例列表,选择操作列的配置变更>增加分片。
本页内容是否解决了您的问题?