From febae2b7150f6cb5d3c08aa2c0101a64fc5967b0 Mon Sep 17 00:00:00 2001 From: crazycs Date: Tue, 23 Apr 2019 17:37:15 +0800 Subject: [PATCH] *: remove doc redundant space --- op-guide/tidb-config-file.md | 2 +- sql/slow-query.md | 38 ++++++++++++++++++------------------ 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/op-guide/tidb-config-file.md b/op-guide/tidb-config-file.md index 1c6df330dfe8..56eeb1a180ae 100644 --- a/op-guide/tidb-config-file.md +++ b/op-guide/tidb-config-file.md @@ -58,7 +58,7 @@ TiDB 配置文件比命令行参数支持更多的选项。你可以在 [config/ ### `slow-query-file` + 慢查询日志的文件名。 -+ 默认: "tidb-slow.log" ,注:由于 TiDB V2.1.8 更新了慢日志格式,所以将慢日志单独输出到了慢日志文件。 V2.1.8 之前的版本,该变量的默认值是 ""。 ++ 默认: "tidb-slow.log",注:由于 TiDB V2.1.8 更新了慢日志格式,所以将慢日志单独输出到了慢日志文件。V2.1.8 之前的版本,该变量的默认值是 ""。 + 设置后,慢查询日志会单独输出到该文件。 ### `slow-threshold` diff --git a/sql/slow-query.md b/sql/slow-query.md index 800dd2df5c73..a6fe10c5f027 100644 --- a/sql/slow-query.md +++ b/sql/slow-query.md @@ -11,7 +11,7 @@ TiDB 在 V2.1.8 之后更改了慢日志格式,V2.1.8 之前的版本请看[ ### 获取日志 -TiDB 会将执行时间超过 [slow-threshold](../op-guide/tidb-config-file.md#slow-threshold) 的语句默认单独输出到 [slow-query-file](../op-guide/tidb-config-file.md#slow-query-file) 文件中 ,并对慢日志的格式做了兼容,可以用 `pt-query-digest` 直接分析慢日志 文件。`slow-threshold` 可以通过配置文件修改,默认是 300ms。`slow-query-file` 默认是 `tidb-slow.log` 。 +TiDB 会将执行时间超过 [slow-threshold](../op-guide/tidb-config-file.md#slow-threshold) 的语句默认单独输出到 [slow-query-file](../op-guide/tidb-config-file.md#slow-query-file) 文件中 ,并对慢日志的格式做了兼容,可以用 `pt-query-digest` 直接分析慢日志 文件。`slow-threshold` 可以通过配置文件修改,默认是 300ms。`slow-query-file` 默认是 `tidb-slow.log`。 ### 示例 @@ -38,32 +38,32 @@ select * from t_slim, t_wide where t_slim.c0=t_wide.c0; * `Time`:表示日志打印时间。 * `Txn_start_ts`:表示事务的开始时间戳,也是事务的 ID, 可以用这个值在日志中 grep 出事务相关的日志。 * `User`:表示执行语句的用户名。 -* `Conn_ID`:表示 connection ID,即 session ID, 可以用类似 `con:3 ` 的关键字在 TiDB 日志中 grep 出 session ID 为 3 的日志。 -* `Query_time`:表示执行这个语句花费的时间。只有执行时间超过 slow-threshold 的语句才会输出这个日志,单位是秒,一下所有的时间字段的单位都是秒。 -* `Process_time`:执行 SQL 在 TiKV 的处理时间之和,因为数据会并行的发到 TiKV 执行,这个值可能会超过 `Query_time`。 -* `Wait_time`:表示这个语句在 TiKV 的等待时间之和,因为 TiKV 的 Coprocessor 线程数是有限的,当所有的 Coprocessor 线程都在工作的时候,请求会排队,当队列中有某些请求耗时很长的时候,后面的请求的等待时间都会增加。 +* `Conn_ID`:表示 connection ID,即 session ID, 可以用类似 `con:3` 的关键字在 TiDB 日志中 grep 出 session ID 为 3 的日志。 +* `Query_time`:表示执行这个语句花费的时间。只有执行时间超过 slow-threshold 的语句才会输出这个日志,单位是秒,以下所有的时间字段的单位都是秒。 +* `Process_time`:执行 SQL 在 TiKV 的处理时间之和,因为数据会并行的发到 TiKV 执行,这个值可能会超过 `Query_time`。 +* `Wait_time`:表示这个语句在 TiKV 的等待时间之和,因为 TiKV 的 Coprocessor 线程数是有限的,当所有的 Coprocessor 线程都在工作的时候,请求会排队;当队列中有某些请求耗时很长的时候,后面的请求的等待时间都会增加。 * `Backoff_time`:表示语句遇到需要重试的错误时在重试前等待的时间,常见的需要重试的错误有以下几种:遇到了 lock、Region 分裂、`tikv server is busy`。 * `Request_count`:表示这个语句发送的 Coprocessor 请求的数量。 * `Total_keys`:表示 Coprocessor 扫过的 key 的数量。 * `Process_keys`:表示 Coprocessor 处理的 key 的数量。相比 total_keys,processed_keys 不包含 MVCC 的旧版本。如果 processed_keys 和 total_keys 相差很大,说明旧版本比较多。 * `DB`:表示当前的 database。 -* `Index_ids` :表示语句涉及到的索引的 ID +* `Index_ids`:表示语句涉及到的索引的 ID * `Is_internal`:表示是否是 TiDB 内部 SQL。true 为TiDB 内部执行的SQL, 比如 analyze,load variable 等;false 为用户执行的 SQL 。 * `Digest`:表示 SQL 语句的指纹。 * `Memory_max`:表示执行期间做多时候使用的内存数量, 单位为byte。 -* `Num_cop_tasks`:表示cop-tasks的数目。 -* `Cop_proc_avg`: cop-task的平均执行时间。 -* `Cop_proc_p90`: cop-task的P90分位执行时间。 -* `Cop_proc_max`: cop-task的最大执行时间。 -* `Cop_proc_addr`: 执行时间最长的cop-task所在地址。 -* `Cop_wait_avg`: cop-task的平均等待时间。 -* `Cop_wait_p90`: cop-task的P90分位等待时间。 -* `Cop_wait_max`: cop-task的最大等待时间。 -* `Cop_wait_addr`: 等待时间最长的cop-task所在地址。 +* `Num_cop_tasks`:表示 cop-tasks 的数目。 +* `Cop_proc_avg`:cop-task 的平均执行时间。 +* `Cop_proc_p90`:cop-task 的P90分位执行时间。 +* `Cop_proc_max`:cop-task 的最大执行时间。 +* `Cop_proc_addr`:执行时间最长的 cop-task 所在地址。 +* `Cop_wait_avg`:cop-task 的平均等待时间。 +* `Cop_wait_p90`:cop-task 的P90分位等待时间。 +* `Cop_wait_max`:cop-task 的最大等待时间。 +* `Cop_wait_addr`:等待时间最长的 cop-task 所在地址。 * `Query`:表示 SQL 语句。慢日志里面不会打印 `Query`,但映射到内存表后,对应的字段叫 `Query`。 ### 慢日志内存映射表 -为了方便用 SQL 查询定位慢查询,TiDB 将慢日志内容解析后映射到 `INFORMATION_SCHEMA.SLOW_QUERY` 表中,表中 column 名和慢日志中记录的字段名一一对应 。 +为了方便用 SQL 查询定位慢查询,TiDB 将慢日志内容解析后映射到 `INFORMATION_SCHEMA.SLOW_QUERY` 表中,表中 column 名和慢日志中记录的字段名一一对应。 ```sql tidb > show create table INFORMATION_SCHEMA.SLOW_QUERY; @@ -167,10 +167,10 @@ tidb > select query, query_time, stats from INFORMATION_SCHEMA.`SLOW_QUERY` wher #### 解析其他的 TiDB 慢日志文件 -目前查询 `INFORMATION_SCHEMA.SLOW_QUERY` 只会解析配置文件中 `slow-query-file` 设置的慢日志文件名,默认是 "tidb-slow.log" 。 但如果想要解析其他的日志文件,可以通过设置 session 变量 `tidb_slow_query_file` 为具体的文件路径,然后查询 `INFORMATION_SCHEMA.SLOW_QUERY` 就会按照设置的路径去解析慢日志文件。 +目前查询 `INFORMATION_SCHEMA.SLOW_QUERY` 只会解析配置文件中 `slow-query-file` 设置的慢日志文件名,默认是 "tidb-slow.log" 。 但如果想要解析其他的日志文件,可以通过设置 session 变量 `tidb_slow_query_file` 为具体的文件路径,然后查询 `INFORMATION_SCHEMA.SLOW_QUERY` 就会按照设置的路径去解析慢日志文件。 ```sql /* 设置慢日志文件路径,方便解析其他的慢日志文件,tidb_slow_query_file 变量的作用域是 session */ -mysql test@127.0.0.1:test> set tidb_slow_query_file="/path-to-log/tidb-slow.log" +tidb > set tidb_slow_query_file="/path-to-log/tidb-slow.log" Query OK, 0 rows affected Time: 0.001s ``` @@ -179,7 +179,7 @@ Time: 0.001s #### 用 pt-query-digest 工具分析 TiDB 慢日志 -可以用 pt-query-digest 工具分析 TiDB 慢日志,下面是示例。 +可以用 pt-query-digest 工具分析 TiDB 慢日志,下面是示例。 ```shell $ pt-query-digest --report tidb-slow.log