PD TSO duration问题和总结

关于PD tso的相关duration和排查文档,主要有如下几个:
TiDB 写入慢流程排查系列(三)— TiDB Server 写入流程 TiDB 写入慢流程排查系列(三)— TiDB Server 写入流程
https://docs.pingcap.com/zh/tidb/stable/grafana-tidb-dashboard#说明 PD 重要监控指标详解
https://book.tidb.io/session3/chapter4/read-write-metrics.html 4.2 TiDB 读写流程相关监控原理解析
TSO 慢排查手册 v2.0 TSO 慢排查手册 v2.0

针对上面的描述有如下几个问题:
1、 各文档中对duration的描述不太一致?在描述时是否写上相关版本。
2、 根据 [TSO 慢排查手册 v2.0]描述相关指标含义随版本变化有变化,但官方文档PD 重要监控指标详解 中并没有体现相关版本的变化,仍然还是以前的版本描述。
3、有些指标比如start sto wait duration在5.0的监控有数据在5.2中是否已经废弃该版本无数据。类似这种变化需要描述一下。另外这里start tso指的是事务开始时的start tso吗?还是代表开始一个tso请求?


4、 针对 [TSO 慢排查手册 v2.0]描述 整理了一个简单的流程图,还请研发大佬对错误地方进行指正,谢谢。

[TSO 慢排查手册 v2.0]中的相关解释
PD TSO Wait Duration 就代表了从调用 Wait 方法到获得 TSO 的总等待时长(不包括 error 的情况)

PD TSO RPC Duration 则记录了从请求一个 TSO 到拿到这个 TSO 结果的全程耗时。

PD server TSO handle time + Client revc time:其只包含了 PD Server 端收到请求之后处理 TSO 所花费的时间,并不包括 Client 接收 TSO 的耗时。所以在不同的版本,这个监控的意义有所区分:

  • v4.0.13 版本之前(不包括),代表了 PD Server 端的 TSO 处理时延和发送给 Client 的网络时延
  • v4.0.13 版本之后(包括),代表了 PD Server 端的 TSO 处理时延

Handle requests duration代表了 PD Client 将 Tso gRPC 请求发送给 PD Server,并从 PD Server 获得 TSO 处理结果的时延

2赞

:+1::+1:

感谢你对这几个文档进行梳理!这几个文档确实有些出入的地方,版本变化的说明我们先修订一下官方文档中的指标说明,也欢迎你直接提 PR 修复。
关于图片, Start TSO Wait Duration 这里的对应阶段应该有些出入,看代码应该和 PD TSO Wait Duration 是类似的, TSO Async Wait 应该才是对应图上 Start TSO Wait Duration 的部分 。

1赞