binlog_drainer_checkpoint_high_delay延迟较大

版本 2.1.8

tidb同步到下游延迟较大,落后了一个半小时的数据,从监控看应该是pump延迟特别大,而且看了最近两天的(第二个图),昨天这个时间点前后也延迟了,查看了pump日志没看到什么报错,三个pump进程都正常,而且是三个pump都是延迟比较大,这种情况应该怎么定位问题呢?既然是pump延迟,是否会影响tidb的写入性能呢?

pump 日志,会记录 event 的大小之类的信息,建议看看 size 等信息是否太大

这是今天延迟期间的一行pump日志,我看BlockCacheSize确实比其他时间大,基本翻倍了,不太明白各个值的意思,不知道哪有更详细的介绍

2022/01/17 06:43:52 storage.go:335: ESC[0;37m[info] DBStats: {WriteDelayCount:0 WriteDelayDuration:0s WritePaused:false AliveSnapshots:0 AliveIterators:2 IOWrite:981294745685 IORead:1153577045437 BlockCacheSize:11718843 OpenedTablesCount:77 LevelSizes:[23329030 4274781672 9160142749] LevelTablesCounts:[1 64 136] LevelRead:[0 885092783526 2510628917] LevelWrite:[22525876259 876025068211 2510705815] LevelDurations:[14m23.962297245s 15h8m17.423239021s 1m58.771740315s]}ESC[0m

pump 延迟的时间点,应该就是事务比较大而已,至于同步延迟,建议看下游和 drainer(可以调整 drainer 的并发等参数)