metrics_diag_no_workload: 
  fact: 集群无负载，故无需诊断。
  suggestion: null
  link: null
metrics_diag_no_prod: 
  fact: TiKV 实例数小于 3，非生产集群暂无建议。
  suggestion: null
  link: null
metrics_diag_143: 
  fact: stmtPrepare、stmtExecute 和 stmtClose 的操作数几乎相同。
  suggestion: 建议确认终端用户客户端类型，如果是 jdbc，则推荐一个配置套餐：useServerPrepStmts=true&cachePrepStmts=true&prepStmtCacheSize=1000&prepStmtCacheSqlLimit=20480&useConfigs=maxPerformance；如果不是 jdbc，可以与终端用户沟通应用的实现方式，在客户端缓存 prepared statement 对象，不重置调用 StmtPrepare 和 StmtClose，把执行每条 query 需要调用的 command 数量从 3 降低为 1。
  link: null
metrics_diag_144: 
  fact: 平均 Connection idle duration 为 {{var_1}} ms，平均 Query 在 TiDB 集群中处理时间为 {{var_2}} ms。在 TiDB 集群外的延迟明显大于在集群内的用时。
  suggestion: 建议优先确认排查用户侧的应用是否存在问题。
  link: null
metrics_diag_145:
  fact: Plan cache 操作数在 stmtExecute 中占比不到 20%。
  suggestion: Plan cache 命中率较低，可能需要优化用户应用。
  link: null
metrics_diag_146: 
  fact: QPS 随着活跃连接数的下降而下降。
  suggestion: QPS 的下降与活跃连接数强相关，如 QPS 的下降非预期，建议优先确认用户层应用活跃连接数下降原因。
  link: null
metrics_diag_147: 
  fact: TiDB 各实例请求数量不均衡。
  suggestion: 建议用户排查应用侧负载均衡。
  link: null
metrics_diag_148: 
  fact:  TiDB 各实例活跃连接数差距大。
  suggestion: 建议用户排查应用侧负载均衡。
  link: null
metrics_diag_149:
  fact: 各 TiKV 实例中最小 CPU 利用率已达 {{var_1}}% (建议不大于 60%)。
  suggestion: 建议关注确认 TiKV 是否需要扩容。
  link: null
metrics_diag_150:
  fact: 各 TiKV 实例中最小磁盘利用率已达 {{var_1}}% (建议不大于 70%)。
  suggestion: 建议关注确认 TiKV 是否需要扩容。
  link: null
metrics_diag_151:
  fact: 各 TiDB 实例中最小 CPU 利用率已达 {{var_1}}% (建议不大于 60%)。
  suggestion: 建议关注确认 TiDB 是否需要扩容。
  link: null
metrics_diag_152:
  fact: Plan cache 操作数为 0。
  suggestion: 用户可能未开启 Plan cache 功能，在小于 v6.1.0 以前的版本该功能默认关闭，建议 Cloud 用户请 PingCAPer 协助配置 TiDB Server 下 prepared-plan-cache 参数为 enabled，本地集群用户自行配置该参数，打开 Plan cache 功能。
  link: https://docs.pingcap.com/tidb/stable/sql-prepared-plan-cache
metrics_diag_156:
  fact: TiDB 与 TiKV 之间的网络延迟约为 {{var_1}} ms，通信耗时较大 (建议不大于 30ms)。
  suggestion: 建议排查集群拓扑及网络环境。
  link: null
metrics_diag_157:
  fact: stmtPrepare 操作数占总数的不到 20%。
  suggestion: "应用可能未有效利用 Statement Prepare 接口。请在用户侧使用 Prepared Statement 接口 (JDBC 在参数中增加 useServerPrepStmts=true)。同时确认 TiDB 中的配置参数：全局变量 set global tidb_ignore_prepared_cache_close_stmt=on;（TiDB v6.0.0 起正式使用，默认关闭) 以及 prepared-plan-cache: {enabled: true}。"
  link: https://docs.pingcap.com/tidb/stable/performance-tuning-practices#scenario-4-use-the-prepared-statement-interface-and-enable-execution-plan-caching
metrics_diag_159:
  fact: 活跃连接数在增加的同时，QPS 并未增加，且集群内延迟性能有劣化趋势。
  suggestion: 请检查 TiDB 集群内部是否存在性能瓶颈。
  link: null
metrics_diag_158:
  fact: TiKV 各实例间 CPU 利用率不均衡。
  suggestion: 建议排查 TiKV 是否存在热点或其它问题。
  link: null
metrics_diag_160:
  fact: 失败 QPS 数量大于 10 个/秒。
  suggestion:  建议进一步排查 Query 失败原因。
  link: null
metrics_diag_161:
  fact: TiDB 各实例间请求延迟差异较大。
  suggestion: 建议排查用户侧负载均衡以及 TiDB 请求类型分布。
  link: null
metrics_diag_162:
  fact: TiKV 各实例间内存利用率不均衡。
  suggestion: 建议排查 TiKV 是否存在热点或其它问题。
  link: null
metrics_diag_163:
  fact: TiDB 各实例间 CPU 利用率不均衡。
  suggestion: 它可能由 BR 或其它任务引起。建议检查用户侧负载均衡或慢 Query。
  link: null
metrics_diag_164:
  fact: TiDB 各实例间内存利用率不均衡。
  suggestion: 它可能由 BR 或其它任务引起。建议检查用户侧负载均衡或慢 Query。
  link: null
metrics_diag_165:
  fact: “TiKV Auto GC SafePoint” 指标没有如预期增长。
  suggestion: 可能有 MVCC 堆积问题或可能与 BR 等行为有关。
  link: null
metrics_diag_166:
  fact: 该时间段内，P99 TiKV Approximate Region Size 大小的平均值为 {{var_1}} MB，超过 1G。
  suggestion:  确认配置参数以及是否存在 split 相关 bug。推荐配置请参考链接文档。
  link: https://docs.pingcap.com/tidb/dev/tune-region-performance#use-region-split-size-to-adjust-region-size
metrics_diag_153:
  fact: 发现存在 scatter 调试器。
  suggestion: 在生产环境下不建议使用 Scatter 调度器，建议请 PingCAPer 协助关闭。
  link: null
metrics_diag_154:
  fact: 没有 raft engine 写的操作数。
  suggestion: 如 TiDB 集群版本为 v5.4.X 或 v 6.0.X，建议 Cloud 用户请 PingCAPer 协助打开 Raft-engine 功能，OP 用户建议咨询 PingCAPer 是否打开该功能。
  link: https://docs.pingcap.com/tidb/stable/tikv-configuration-file#raft-engine
metrics_diag_155:
  fact: TiKV 面板上 “store writer CPU” 使用率几乎为 0% 且 TiKV CPU 利用率小于 75%.
  suggestion: 建议请 PingCAPer 协助配置 TiKV 的 raftstore.store-io-pool-size 参数对 TiKV 线程池调优。
  link: https://docs.pingcap.com/tidb/stable/tune-tikv-thread-performance#performance-tuning-for-tikv-thread-pools
metrics_diag_167:
  fact: balance-hot-region-scheduler、balance-leader-scheduler、balance-region-scheduler 这三个调度器在该时间段没有始终存在。
  suggestion: 建议排查 PD 调度器是否处于预期的工作状态。
  link: null
metrics_diag_168:
  fact: TiKV 存在过多的心跳消息。
  suggestion: 建议检查 TiKV 配置项 raftstore.hibernate-regions 是否为 TRUE。
  link: https://docs.pingcap.com/tidb/stable/tikv-configuration-file#hibernate-regions
tidb_get_token_duration_38:
  fact: TiDB 实例 {{var_1}} 上 get token 时长超过 {{var_2}} ms (建议不大于 1ms)。
  suggestion: get token 时长通常只有几微秒的时间，除非 TiDB 单个实例的连接数达到的 token-limit 的限制，创建连接的时候被限流。如果  get token 时长已经严重影响性能，可以考虑增大 token-limit 配置参数值。
  link: https://docs.pingcap.com/tidb/stable/command-line-flags-for-tidb-configuration#--token-limit
tidb_diag_parser_duration_39:
  fact: TiDB {{var_1}} 实例上 SQL 的 parsing duration 超过 {{var_2}} ms (建议不大于 3ms)。
  suggestion: 建议应用侧参考文档，使用预处理语句，降低 SQL 解析的时延。
  link: https://docs.pingcap.com/tidb/dev/dev-guide-prepared-statement
tidb_diag_compile_duration_40:
  fact: TiDB {{var_1}} 实例上 SQL compile duration 为 {{var_2}} ms (建议不大于 3ms)。
  suggestion: "如有可能请启用 plan-cache 功能，将 TiDB 中的参数进行如下配置 prepared-plan-cache: {enabled: true}。"
  link: https://docs.pingcap.com/tidb/stable/sql-prepared-plan-cache#sql-prepare-execution-plan-cache
tidb_wait_tso_duration_43:
  fact: TiDB 在实例 {{var_1}} 上等待时间超过 {{var_2}} ms (建议不大于 8ms)。
  suggestion: 请检查 PD CPU 资源和网络是否存在瓶颈，如果有请扩展它。
  link: null
tidb_wait_tso_duration_44:
  fact: PD 实例 {{var_1}} 接收 tso 请求 用时超过 {{var_2}} ms (建议不大于 7ms)。
  suggestion: 请检查 PD CPU 资源和网络是否存在瓶颈，如果有请扩展它。
  link: null
tikv_pessmistic_txn_conflict_51:
  fact: 在 TiKV 实例 {{var_1}} 上平均锁等待时间超过 {{var_2}} ms (建议不大于 50ms)。
  suggestion: 请调整 pessimistic-txn.wait-for-lock-timeout、pessimistic-txn.wake-up-delay-duration， 或者让事务尽快提交减小持有锁的时间，或者修改业务减少锁冲突。
  link: https://docs.pingcap.com/tidb/stable/tikv-configuration-file#pessimistic-txn
tikv_pessmistic_txn_conflict_5111:
  fact: 锁冲突的次数超过了 {{var_1}}。
  suggestion: 请调整参数 pessimistic-txn.wait-for-lock-timeout、pessimistic-txn.wake-up-delay-duration，或者让事务尽快提交减小持有锁的时间，或者修改业务减少锁冲突。
  link: https://docs.pingcap.com/tidb/stable/tikv-configuration-file#pessimistic-txn
tikv_raft_propose_wait_duration_78:
  fact: TiKV 实例 {{var_1}} 上，raft propose wait duarion 超过 {{var_2}} ms (建议不大于 15ms)。
  suggestion: 建议请 PingCAPer 协助配置 TiKV 的 raftstore.store-io-pool-size 参数对 TiKV 线程池调优。
  link: https://docs.pingcap.com/tidb/stable/tune-tikv-thread-performance#performance-tuning-for-tikv-thread-pools
tikv_diag_mvcc_versions_too_many_85:
  fact: MVCC 老版本太多。(在 sum(rate(tikv_coprocessor_scan_details{req!~"analyze.*|checksum.*"}[2m])) 的各 tag 中 "next" 是 "processed_keys" 的 5 倍以上)
  suggestion: 请检查是否有事务阻塞 GC，参考文档调整 GC 参数加快 GC 速度。
  link: null
tikv_diag_cop_task_duration_171:
  fact:  TiKV 实例 {{var_1}} 上 cop duration 为 {{var_2}} ms (建议不大于 20ms)。
  suggestion: 请联系 PingCAPers 检查 mvcc 旧版本是否过多、tomestones 是否过多，key range 是否过大。
  link: null
metrics_diag_208:
  fact: TiDB 各实例 Database time 差距大。
  suggestion: 建议用户排查应用侧负载均衡。
  link: null
metrics_diag_209:
  fact: TiDB 各实例 Parse duration 差距大。
  suggestion: 请确认该现象是否合理。
  link: null
metrics_diag_210:
  fact: TiDB 各实例 compile duration 差距大。
  suggestion: 请确认该现象是否合理。
  link: null
metrics_diag_211:
  fact: TiDB 各实例 execute duration 差距大。
  suggestion: 请确认该现象是否合理。
  link: null
metrics_diag_212:
  fact: TiDB 各实例 get token duration 差距大。
  suggestion: 请确认该现象是否合理。
  link: null
metrics_diag_213:
  fact: TiDB 实例存在重启现象。
  suggestion: 请确认 TiDB 重启是否在预期内。
  link: null
metrics_diag_215:
  fact: 部分 TiDB 实例在该时间段内存在持续 5 分钟 CPU 负载大于 80%。
  suggestion: 请确认 TiDB 资源使用情况。
  link: null
metrics_diag_216:
  fact: TiKV 实例存在重启现象。
  suggestion: 请确认 TiKV 重启是否在预期内。
  link: null
metrics_diag_217:
  fact: 部分 TiKV 实例在该时间段内存在持续 5 分钟 CPU 负载大于 80%。
  suggestion: 请确认 TiKV 资源使用情况。
  link: null
metrics_diag_218:
  fact: PD 实例存在重启现象。
  suggestion: 请确认 PD 重启是否在预期内。
  link: null
metrics_diag_219:
  fact: TiFlash 实例存在重启现象。
  suggestion: 请确认 TiFlash 重启是否在预期内。
  link: null
metrics_diag_220:
  fact: TiKV 各实例磁盘占用率差距大。
  suggestion: 请确认该现象是否合理。
  link: null
metrics_diag_221:
  fact: 某些 TiKV 实例磁盘可能在 8 小时以内用量超过 80% 或已超 80%。
  suggestion: 请关注 TiKV 存储用量。
  link: null
metrics_diag_222:
  fact: 某些 TiFlash 实例磁盘可能在 8 小时以内用量超过 80% 或已超 80%。
  suggestion: 请关注 TiFlash 存储用量。
  link: null
metrics_diag_223:
  fact: TiKV 各实例磁盘读 IO 差距大。
  suggestion: 请确认该现象是否合理。
  link: null
metrics_diag_224:
  fact: TiKV 各实例磁盘写 IO 差距大。
  suggestion: 请确认该现象是否合理。
  link: null
metrics_diag_225:
  fact: TiFlash 各实例磁盘写 IO 差距大。
  suggestion: 请确认该现象是否合理。
  link: null
metrics_diag_226:
  fact: TiFlash 各实例磁盘读 IO 差距大。
  suggestion: 请确认该现象是否合理。
  link: null
metrics_diag_227:
  fact: TiFlash 各实例 CPU 使用率差距大。
  suggestion: 请确认该现象是否合理。
  link: null
metrics_diag_228:
  fact: TiFlash 各实例内存使用率差距大。
  suggestion: 请确认该现象是否合理。
  link: null
metrics_diag_229:
  fact: TiFlash 各实例磁盘占用率差距大。
  suggestion: 请确认该现象是否合理。
  link: null
metrics_diag_230:
  fact: 部分 TiFlash 实例在该时间段内存在持续 5 分钟 CPU 负载大于 80%。
  suggestion: 请确认 TiFlash 资源使用情况。
  link: null
metrics_diag_231:
  fact: Get token 在 Database time 中占比较大 (建议不大于 2% database time)。
  suggestion: get token 时长通常只有几微秒的时间，除非 TiDB 单个实例的连接数达到的 token-limit 的限制，创建连接的时候被限流。如果  get token 时长已经严重影响性能，可以考虑增大 token-limit 配置参数值。 
  link: https://docs.pingcap.com/tidb/stable/performance-tuning-methods#parse-compile-and-execute-duration
metrics_diag_232:
  fact: Parse 在 Database time 中占比较大 (建议不大于 5% database time)。
  suggestion: Parse 阶段是 query 语句解析为抽象语法树 abstract syntax tree (AST) 的时间。parse 阶段延迟占比明显的可能原因是 query 语句很长，文本解析消耗大量的 CPU。建议对比历史性能数据，如果 Parse 阶段在近期陡增，可以检查 CPU 使用情况。
  link: https://docs.pingcap.com/tidb/stable/performance-tuning-methods#parse-compile-and-execute-duration
metrics_diag_233:
  fact: Compile 在 Database time 中占比较大 (建议不大于 15% database time)。
  suggestion: Compile 阶段是根据 parse 阶段输出的 AST 和统计信息，编译出执行计划。可以按照链接中的官方调优建议操作。
  link: https://docs.pingcap.com/tidb/stable/performance-tuning-methods#parse-compile-and-execute-duration
metrics_diag_234:
  fact: Idle connection duration not in txn 较大 (建议不大于 0.5 倍数据库内平均耗时)。
  suggestion: Connection Idle Duration not-in-txn：当连接没有处于事务中，处理完上一条 SQL 之后，收到下一条 SQL 语句的间隔时间。如果业务负载较高，系统性能瓶颈可能在 TiDB 集群外部。
  link: https://docs.pingcap.com/tidb/stable/performance-tuning-methods#query-latency-breakdown-and-key-latency-metrics
internal_activity_is_high_259:
  fact:  TiDB 内部 activity 占比超过 10%。
  suggestion: 请 PingCAPers 确认该现象是否合理。
  link: null
short_connection_260:
  fact:  应用存在短连接，每秒销毁连接数超过 50。
  suggestion: 建议应用侧将连接池的 maxIdle 参数配置成与 maxActive 相等，使用长连接访问数据库。