drainer pump handle TSO 监控

如上图 我理解的 横轴的时间代表每个pump 获取最信息时的TSO, 纵轴的时间是什么意思呢?

1 个赞

看着纵轴的时间应i该是当前时间 但是这个时间从数据库获取的呢?还是操作系统呢? 大佬们谁清楚呀

我觉得,获取的tso就可以确定一个时刻吧,虽然tso用来标识一个时刻,且不等于一个物理时间上的时刻,但是用来推算出当前物理上的时刻还是可以的

你的意思是 纵轴的时间是推算出来的?

我理解的是 横轴是pump 获取信息时的TSO,纵轴应该是一个标准的时间 用来比对 横轴的tso 是否有延迟, 但是我不清楚 纵轴的时间是来自哪里? 是如你所说 是某种方式推算的还是 数据库或系统时间呢?

tso由物理时间+逻辑时间组成,物理时间是unixt time 毫秒级,逻辑时间是计数器,可以使用pd-ctl tso或TIDB_PARSE_TSO()函数将tso转换为自然时间。 tso是由PD 分配的,单调递增,事务号就是tso、mvcc多版本也靠tso。

1 个赞

如果PD机器时间发生回拨,tso是否有影响呢?

分配的最大tso会保存etcd(实际上是预先产生3秒后的tso),时间回退后会用保存的tso里的时间做基础来分配,当系统物理时间赶上来后会使用系统时间分配

1 个赞

你的意思是 纵轴的实际是pd 生产的tso?

tso都是pd产生,其他地方使用

好的,感谢!

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。