为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
- 【TiDB 版本】:v4.0.2
- 【问题描述】:DM数据延迟很大,一直跟主数据库相差四个小时,四个小时差不多就是刚开始进行同步的时间,请问如何进行debug?
若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。
任务状态
{
"result": true,
"msg": "",
"workers": [
{
"result": true,
"worker": "127.0.0.1:8262",
"msg": "",
"subTaskStatus": [
{
"name": "imagic",
"stage": "Running",
"unit": "Sync",
"result": null,
"unresolvedDDLLockID": "",
"sync": {
"totalEvents": "2117411",
"totalTps": "1499",
"recentTps": "310",
"masterBinlog": "(mysql-bin.000362, 141009888)",
"masterBinlogGtid": "e2c464e8-b623-11ea-a0cb-7cd30abc94c6:1-249740973,c51b1403-5f1b-11e8-9066-7cd30ac4e7e8:1-1430197860,c9c086e9-65d0-11e8-ae8c-7cd30aeb75e4:1-2017737148",
"syncerBinlog": "(mysql-bin|000001.000353, 81723351)",
"syncerBinlogGtid": "",
"blockingDDLs": [
],
"unresolvedGroups": [
],
"synced": false
}
}
],
"relayStatus": {
"masterBinlog": "(mysql-bin.000362, 141010735)",
"masterBinlogGtid": "c51b1403-5f1b-11e8-9066-7cd30ac4e7e8:1-1430197860,c9c086e9-65d0-11e8-ae8c-7cd30aeb75e4:1-2017737148,e2c464e8-b623-11ea-a0cb-7cd30abc94c6:1-249740973",
"relaySubDir": "e2c464e8-b623-11ea-a0cb-7cd30abc94c6.000001",
"relayBinlog": "(mysql-bin.000362, 141009888)",
"relayBinlogGtid": "",
"relayCatchUpMaster": false,
"stage": "Running",
"result": null
},
"sourceID": "imagic"
}
]
}
早上起来发现延迟更大了,6个小时了
从上面的 TiDB 监控看,延迟 Duration 并不高,可先尝试调大 worker-count 并发,并确认下
同步的表是否有唯一键或者主键索引,没有主键或者唯一索引,导致 DM 无法并发同步。参考案例:DM 同步延迟问题
使用 PT 工具更改表结构,但是 task 文件中没有配置 pt 参数。参考案例:上游mysql ddl,dm同步延迟近7个小时
检查 dm-worker 的相关监控,参考 监控项说明文档,关注
chrome 安装 full-page-screen-capture 插件
鼠标焦点置于 Dashboard 上,按 ?可显示所有快捷键,先按 d 再按 E 可将所有 Rows 的 Panels 打开,需等待一段时间待页面加载完成
使用进行截屏保存
感谢回应,我是二进制安装的,请问怎么再加上监控呢?
可以参考这个帖子的方法
tidb是tiup装的4.0.2版本,引用的是ansible的,有再具体的文档吗
tiup 支持 DM 的部署正在开发,目前可以选择 dm-ansible 部署方式,并将监控集成到 tiup
不喜欢ansible,等你们tiup好了再集成
问题解决了,syncers的worker-count加大后可以了
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。