遇到 Redis 性能变慢的时候能高效解决问题。

midoll 283 2022-05-31

遇到 Redis 性能变慢的时候能高效解决问题。

  1. 获取当前 Redis 的基线性能;
  2. 开启慢指令监控,定位慢指令导致的问题;
  3. 找到慢指令,使用 scan 的方式;
  4. 将实例的数据大小控制在 2-4GB,避免主从复制加载过大 RDB 文件而阻塞;
  5. 禁用内存大页,采用了内存大页,生成 RDB 期间,即使客户端修改的数据只有 50B 的数据,Redis 需要复制 2MB 的大页。当写的指令比较多的时候就会导致大量的拷贝,导致性能变慢。
  6. Redis 使用的内存是否过大导致 swap;
  7. AOF 配置是否合理,可以将配置项 no-appendfsync-on-rewrite 设置为 yes,避免 AOF 重写和 fsync 竞争磁盘 IO 资源,导致 Redis 延迟增加。
  8. bigkey 会带来一系列问题,我们需要进行拆分防止出现 bigkey,并通过 UNLINK 异步删除。

# redis