问题现象
数据订阅生产端延迟过高,通过查看监控数据显示,订阅服务与源库的 GTID 个数差距较大,订阅服务每秒解析事务数非常低。
可能原因
1. 源库的负载过高。
2. 源库写入数据速率过快,已达到 DTS 订阅服务的解析上限。
3. 源库中有大事务、复杂事务写入。
排查思路
1.源库的负载过高
查看源数据库相关监控指标。如果源库的写入负载过高,订阅的延迟高属于合理预期。如果负载正常,则继续如下排查。
2.源库的数据写入速率过快,达到 DTS 订阅服务的解析上限
查看源库 binlog 产生的速率,如果源库 binlog 产生的速率超过50MB/s,则很可能已达到 DTS 订阅服务解析的速率上限,则订阅延迟高属于合理预期。
如果没有达到50MB/s,则继续如下排查。
3.源库中有大事务、复杂事务写入
查看源数据库中,当前是否有正在执行的大事务,当前的表是否有大字段,例如 JSON、BLOB 等类型。