Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update slow query doc #11390

Merged
merged 7 commits into from May 5, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
21 changes: 21 additions & 0 deletions identify-slow-queries.md
Expand Up @@ -93,6 +93,8 @@ Slow Query 基础信息:
* `Write_keys`:表示该事务向 TiKV 的 Write CF 写入 Key 的数量。
* `Write_size`:表示事务提交时写 key 或 value 的总大小。
* `Prewrite_region`:表示事务两阶段提交中第一阶段(prewrite 阶段)涉及的 TiKV Region 数量。每个 Region 会触发一次远程过程调用。
* `Wait_prewrite_binlog_time`:表示事务提交时用于写 binlog 的时间。
* `Resolve_lock_time`:表示事务提交时遇到锁后,清理锁或者等待锁过期的时间。

和内存使用相关的字段:

Expand Down Expand Up @@ -125,13 +127,32 @@ Slow Query 基础信息:
* `Cop_wait_p90`:cop-task 的 P90 分位等待时间。
* `Cop_wait_max`:cop-task 的最大等待时间。
* `Cop_wait_addr`:等待时间最长的 cop-task 所在地址。
* `Rocksdb_delete_skipped_count`:RocksDB 读数据过程中已删除 Key 的扫描数。
* `Rocksdb_key_skipped_count`:RocksDB 扫数据时遇到的已删除 (tombstone) Key 数量。
* `Rocksdb_block_cache_hit_count`:RocksDB 从 Block Cache 缓存中读数据的次数。
* `Rocksdb_block_read_count`:RocksDB 从文件系统中读数据的次数。
* `Rocksdb_block_read_byte`:RocksDB 从文件系统中读数据的数据量。
* `Rocksdb_block_read_time`:RocksDB 从文件系统中读数据的时间。
* `Cop_backoff_{backoff-type}_total_times`:因某种错误造成的 backoff 总次数。
* `Cop_backoff_{backoff-type}_total_time`:因某种错误造成的 backoff 总时间。
* `Cop_backoff_{backoff-type}_max_time`:因某种错误造成的最大 backoff 时间。
* `Cop_backoff_{backoff-type}_max_addr`:因某种错误造成的最大 backoff 时间的 cop-task 地址。
* `Cop_backoff_{backoff-type}_avg_time`:因某种错误造成的平均 backoff 时间。
* `Cop_backoff_{backoff-type}_p90_time`:因某种错误造成的 P90 分位 backoff 时间。

`backoff-type` 一般有以下几种:

* `tikvRPC`:给 TiKV 发送 RPC 请求失败而产生的 backoff。
* `tiflashRPC`:给 TiFlash 发送 RPC 请求失败而产生的 backoff。
* `pdRPC`:给 PD 发送 RPC 请求失败而产生的 backoff。
* `txnLock`:遇到锁冲突后产生的 backoff。
* `regionMiss`:Region 发生分裂或者合并后,TiDB 的 Region 缓存信息过期导致请求失败而产生的 backoff。
* `regionScheduling`:Region 还在调度中,尚未选出 Leader 导致无法处理请求而产生的 backoff。
* `tikvServerBusy`:因为 TiKV 负载太高无法处理新请求而产生的 backoff。
* `tiflashServerBusy`:因为 TiFlash 负载太高无法处理新请求而产生的 backoff。
* `tikvDiskFull`:因为 TiKV 的磁盘满了而产生的 backoff。
* `txnLockFast`:因为读数据时遇到了锁而产生的 backoff。

## 相关系统变量

* [tidb_slow_log_threshold](/system-variables.md#tidb_slow_log_threshold):设置慢日志的阈值,执行时间超过阈值的 SQL 语句将被记录到慢日志中。默认值是 300 ms。
Expand Down