Redis 源端性能调优
本文介绍如何对 CloudCanal Redis 源端任务进行性能调优。
现象描述
CloudCanal Redis 源端任务卡顿、超时、效率低下,需要优化性能,提高效率。
问题排查与解决
Redis 源端从节点数量激增导致资源问题
CloudCanal Redis 增量同步的逻辑是伪装成源端 Redis 的一个从节点,通过 PSYNC 实现增量数据获取。可以检查参数 bindSocketPort 是否设置为 -1。若参数值为 -1,则表示每次程序重启随机绑定 Socket 端口,可能导致 Redis 源端从节点数量激增,进而导致资源紧张。
解决方案:建议将 bindSocketPort 参数值设置为具体端口号,避免每次重启时随机绑定端口。
Redis 源端大 Key 导致 OOM/写入协议限制问题
若 Redis 源端存在大 Key,可能会导致 OOM 或写入协议限制问题。
解决方案:可将 enableFullBatch 参数值设置为 true,开启按批解析 List/Set/ZSet/Hash Value 的功能,将大 Key 切分成多个小片段进行同步,避免 OOM 和协议限制问题。