分布式缓存服务 DCS-Redis实例内存使用率高问题排查和解决:处理措施

时间:2023-11-08 17:48:55

处理措施

  1. DCS控制台提供了大Key和热Key的分析功能,你可参考分析Redis实例大Key和热Key减少大key和热key。

    Redis 3.0实例不支持热key分析,您可以通过配置告警的方式帮助您发现热key。

  2. 执行过期Key扫描释放已经过期的Key,或手动清理一些不需要的Key,释放空间。
  3. 其他优化建议:
    • String类型数据的Value大小控制在10KB以内
    • Hash、List、Set、Zset类数据结构,建议单Key中的元素不要超过5000个。
    • Key的命名前缀为业务缩写,禁止包含特殊字符(比如空格、换行、单双引号以及其他转义字符)。
    • Redis事务功能较弱,不建议过多使用。
    • 短连接性能差,推荐使用带有连接池的客户端。
    • 如果只是用于数据缓存,容忍数据丢失,建议关闭持久化(在实例参数配置中将appendonly参数修改为no即关闭AOF持久化)。
    • 配置告警,便于提前发现大Key、热Key。
      • 参考配置告警配置节点级别的内存利用率监控指标的告警。

        如果某个节点存在大key,这个节点比其他节点内存使用率高很多,会触发告警,便于您发现潜在的大key。

      • 参考配置告警配置节点级别的入网最大带宽、出网最大带宽CPU利用率监控指标的告警。

        如果某个节点存在热key,这个节点的带宽占用、CPU利用率都比其他节点高,该节点会容易触发告警,便于您发现潜在热key。

  4. 如果实例内存使用率通过以上方式仍然很高,请考虑在业务低峰期扩大实例规格。具体操作请参见变更实例规格
support.huaweicloud.com/trouble-dcs/dcs-trouble-210918001.html