【TIDB日志】 get timestamp too slow

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:2.1.6
  • 【问题描述】:在tidb日志中发现了大量get timestamp too slow信息,时间大致在186.024215ms上下。 这个日志对TiDB有什么具体影响吗?

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出打印结果,请务必全选并复制粘贴上传。

取时间戳是从 TiDB Server 向 PD Server 批量获取 TSO 时间戳,实际消耗主要是在网络层,网络的延迟导致这个操作慢的情况。另外 PD Server 系统负载高,PD 的 Goroutine 调度过程中会有瓶颈。其次就是 TiDB Server 在进行 SQL Parse 或者 build SQL Plan 时间较长,会导致获取的时间戳不使用的情况。取 ts 和 SQL Parse 和 Build Plan 是并行的,总时间会取决于慢的那一个,一般情况是因为获取时间戳慢,也有上述情况导致的慢,在监控中变现就是 “Get Timestamp too slow”。

如果在运维过程中发现 TiDB 日志中出现大量 “Get Timestamp too slow” 的报错,需要关注以下监控:

  • 通过 “PD Client CMD Duration” 中 “99-tso-aync-wait” ,SQL Parse 和 SQL Compile 对延迟的影响情况。
  • 通过 “PD TSO Wait Duration”,可以监控到 TiDB Server Function Request to Feedback 延迟收到网络的影响。
  • 通过 “PD TSO RPC Duration” 可以直观监控的网络的延迟时间,PD 处理慢这个可能性存,但较小。
1赞

image image image

您提到的需要监控的数值,我觉得好像没什么太大异常。 您说的原理我先消化消化,我担心日志的出现是数据库性能下降的标识。 多谢回复

:+1::+1::+1:

1赞