如何提前发现大Key和热Key?
方法 |
说明 |
---|---|
使用DCS自带的大Key和热Key分析工具进行分析 |
|
通过redis-cli的bigkeys和hotkeys参数查找大Key和热Key |
|
通过Redis命令查找大Key |
如果有已知的大Key模式,例如知道其前缀为cloud:msg:test,那么可以通过一个程序,SCAN符合该前缀的Key,然后通过查询成员数量和查询Key大小的相关命令,来判断具体的大Key。
注意:
该方法会大量消耗计算资源,请知晓并评估其风险,不要在业务压力较大的实例使用该方法,否则可能会对正常业务造成影响。 |
通过redis-rdb-tools工具找出大Key |
redis-rdb-tools是分析Redis RDB快照文件的开源工具。可以根据需求自定义分析Redis实例中所有Key的内存占用情况。 使用此方法需要在DCS实例备份与恢复页签中导出实例的rdb文件。
注意:
该方法时效性相较于在线分析来说较差,优势在于完全不影响现有业务。 |
对于Redis 3.0实例,由于Redis 3.0本身不支持热Key分析,推荐可以使用配置告警的方法,帮助您发现热Key。
- 配置节点级别的内存利用率监控指标的告警。
如果某个节点存在大key,这个节点比其他节点内存使用率高很多,会触发告警,便于用户发现潜在的大key。
- 配置节点级别的入网最大带宽、出网最大带宽、CPU利用率监控指标的告警。
如果某个节点存在热key,这个节点的带宽占用、CPU利用率都比其他节点高,该节点会容易触发告警,便于用户发现潜在热key。