开发者社区> 问答> 正文

数据库CPU莫名其妙居高不下,干掉canal dump binlog的线程后恢复正常

今天晚上接到CPU告警,一直居高不小,show processlist查看有哪些连接在跑,发现只有几个update语句在跑,update的表只有3万行,表有索引,一次update一行,正常情况下数据库CPU不应该那么高,然后我发现出了几个update语句外,就只有canal在拉取数据了,于是把canal干掉后,CPU直接就掉下来了。。。。看日志发现,某条日志重复出现了N遍,具体日志为:2021-05-04 20:41:20.337 - clientId:1001 cursor:[mysql-bin.001361,244220740,1620132080000,4093711201,b2ff1e79-9e03-11eb-9d42-b8599f33171b:1-209851388,df8952d2-0e95-11eb-af4f-0c42a14d6a62:1-1365296514] address[172.16.0.6/172.16.0.6:3306]

提问114.png

提问115.png

查看拉取canal的机器,内存也是爆满的,怀疑是canal dump binlog过于频繁了,canal.adapter有频率限制方面的配置,但是canal.developer貌似并没有?

原提问者GitHub用户michael-liumh

展开
收起
山海行 2023-04-27 17:02:05 171 0
1 条回答
写回答
取消 提交回答
  • 感觉是在大量重复消费,得检查下canal-server是否出现解析异常

    原回答者GitHub用户agapple

    2023-04-28 12:39:20
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云&信通院《Serverless数据库技术研究报告》 立即下载
RDS SQL Server CPU高使用率性能优化 立即下载
多IO线程优化版 立即下载