## What Happening

TiDB 节点在最近 2 分钟内，`pd_client_cmd_handle_failed_cmds_duration_seconds_count{type="tso"}` 与 `pd_client_cmd_handle_cmds_duration_seconds_count{type="tso"}` 的比值持续升高。

当该比值:
* 大于 0.01 并持续 2 分钟时，触发 `major`

这表示 TiDB 向 PD/TSO 获取时间戳的请求失败率明显升高，可能导致 SQL 执行报错、延迟抖动或者事务无法正常获取开始时间戳。

## Related Issues or Alerts

* `TiDBQueryUnexpectedlyFailed`
* `TSOServerGenerateTSOFailed`
* `TSOPrimaryChange`
* `PDLeaderChange`

## Diagnosis

* 在 Grafana 中检查 TiDB 运行时和性能概览面板，确认 TSO RPC latency、TSO wait duration、PD TSO OPS 是否异常。
* 查看 TiDB 日志，重点关注 `get start ts`、`PD server timeout`、`tso request is canceled due to timeout` 等关键词。
* 查看 PD/TSO 服务是否发生 leader/primary 切换、重启或不可用。
* 检查 TiDB 到 PD/TSO 的网络时延、丢包、连接重置，以及相关节点的 CPU、磁盘和负载情况。

## Solution

* 如果是 PD/TSO leader 切换导致的短时抖动，通常可自行恢复，继续观察比值是否回落。
* 如果告警持续存在，优先处理 PD/TSO 服务异常、网络不稳定或节点负载过高问题。
* 同时确认是否存在大规模 TiDB 查询失败或事务启动失败，必要时联系研发进一步排查。

## Post-Check

* 观察 TSO 请求失败比值回落到阈值以下。
* 确认 TiDB 侧不再持续出现获取 TSO 失败相关错误。
* 确认应用侧 SQL 延迟和失败率恢复正常。
