Skip to content

Commit 86bca24

Browse files
author
github-actions
committed
update MD by dispatch event pingcap/docs-cn master
1 parent 9f39cf5 commit 86bca24

File tree

5 files changed

+60
-2
lines changed

5 files changed

+60
-2
lines changed

markdown-pages/zh/tidb/master/information-schema/information-schema-slow-query.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,13 +106,16 @@ DESC slow_query;
106106
| Plan_digest | varchar(128) | YES | | NULL | |
107107
| Binary_plan | longtext | YES | | NULL | |
108108
| Prev_stmt | longtext | YES | | NULL | |
109+
| Session_connect_attrs | json | YES | | NULL | |
109110
| Query | longtext | YES | | NULL | |
110111
+--------------------------------------------+-----------------+------+------+---------+-------+
111-
89 rows in set (0.00 sec)
112+
90 rows in set (0.00 sec)
112113
```
113114

114115
`Query` 列的语句长度上限由系统变量 [`tidb_stmt_summary_max_sql_length`](/system-variables.md#tidb_stmt_summary_max_sql_length-从-v40-版本开始引入) 控制。
115116

117+
`Session_connect_attrs` 列以 JSON 格式存储从慢日志解析出的会话连接属性。TiDB 通过 [`performance_schema_session_connect_attrs_size`](/system-variables.md#performance_schema_session_connect_attrs_size-从-v900-版本开始引入) 系统变量来控制写入此字段的最大负载大小。
118+
116119
## CLUSTER_SLOW_QUERY table
117120

118121
`CLUSTER_SLOW_QUERY` 表中提供了集群所有节点的慢查询相关的信息,其内容通过解析 TiDB 慢查询日志而来,该表使用上和 `SLOW_QUERY` 表一样。`CLUSTER_SLOW_QUERY` 表结构上比 `SLOW_QUERY` 多一列 `INSTANCE`,表示该行慢查询信息来自的 TiDB 节点地址。关于如何使用该表调查和改善慢查询,请参考[慢查询日志文档](/identify-slow-queries.md)
@@ -216,9 +219,10 @@ DESC CLUSTER_SLOW_QUERY;
216219
| Plan_digest | varchar(128) | YES | | NULL | |
217220
| Binary_plan | longtext | YES | | NULL | |
218221
| Prev_stmt | longtext | YES | | NULL | |
222+
| Session_connect_attrs | json | YES | | NULL | |
219223
| Query | longtext | YES | | NULL | |
220224
+--------------------------------------------+-----------------+------+------+---------+-------+
221-
90 rows in set (0.00 sec)
225+
91 rows in set (0.00 sec)
222226
```
223227

224228
查询集群系统表时,TiDB 也会将相关计算下推给其他节点执行,而不是把所有节点的数据都取回来,可以查看执行计划,如下:

markdown-pages/zh/tidb/master/performance-schema/performance-schema-session-connect-attrs.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,3 +62,18 @@ TABLE SESSION_CONNECT_ATTRS;
6262
* `ATTR_NAME`:属性名。
6363
* `ATTR_VALUE`:属性值。
6464
* `ORDINAL_POSITION`:属性名/属性值对的序号。
65+
66+
## 大小限制与截断
67+
68+
TiDB 使用全局系统变量 [`performance_schema_session_connect_attrs_size`](/system-variables.md#performance_schema_session_connect_attrs_size-从-v900-版本开始引入) 来控制每个会话连接属性的最大总大小。
69+
70+
- 默认值:`4096` 字节
71+
- 取值范围:`[-1, 65536]`
72+
- `-1` 表示不配置限制,TiDB 会将其视为最大 `65536` 字节。
73+
- `0` 表示 TiDB 不会保留客户端提供的会话连接属性,禁用会话属性记录。
74+
75+
当总大小超过该限制时,TiDB 会截断超出的属性,并添加 `_truncated` 来表示被截断的字节数。
76+
77+
已接受的连接属性也会写入慢日志中的 `Session_connect_attrs` 字段,并可通过 [`INFORMATION_SCHEMA.SLOW_QUERY`](/information-schema/information-schema-slow-query.md)`INFORMATION_SCHEMA.CLUSTER_SLOW_QUERY` 查询。若要控制写入慢日志的负载大小,可调整 `performance_schema_session_connect_attrs_size`
78+
79+
此外,TiDB 还会对握手包中的连接属性负载强制施加 1 MiB 的硬性限制。若超过该硬性限制,连接将被拒绝。

markdown-pages/zh/tidb/master/status-variables.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,18 @@ summary: 使用状态变量查看系统和会话状态。
3131
- 类型:整数型
3232
- MySQL 协议使用的压缩等级。
3333

34+
### Performance_schema_session_connect_attrs_longest_seen
35+
36+
- 作用域:GLOBAL
37+
- 类型:整数型
38+
- TiDB 观测到的会话连接属性的最大总大小(单位为字节 bytes)。
39+
40+
### Performance_schema_session_connect_attrs_lost
41+
42+
- 作用域:GLOBAL
43+
- 类型:整数型
44+
- 由于 `performance_schema_session_connect_attrs_size` 而导致连接属性被截断的会话数量。
45+
3446
### Ssl_cipher
3547

3648
- 作用域:SESSION | GLOBAL

markdown-pages/zh/tidb/master/system-variable-reference.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -595,6 +595,13 @@ summary: 查看 TiDB 所有的系统变量,以及引用这些变量的文档
595595
- [TiDB 8.5.0 Release Notes](/releases/release-8.5.0.md)
596596
- [TiDB 7.6.0 Release Notes](/releases/release-7.6.0.md)
597597

598+
### performance_schema_session_connect_attrs_size
599+
600+
引用该变量的文档:
601+
602+
- [`SESSION_CONNECT_ATTRS`](/performance-schema/performance-schema-session-connect-attrs.md)
603+
- [System Variables](/system-variables.md#performance_schema_session_connect_attrs_size-从-v900-版本开始引入)
604+
598605
### plugin_dir
599606

600607
引用该变量的文档:

markdown-pages/zh/tidb/master/system-variables.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -741,6 +741,26 @@ mysql> SHOW GLOBAL VARIABLES LIKE 'max_prepared_stmt_count';
741741
- 集群 Region 数量较多,PD leader 由于处理心跳和调度任务的开销大,导致 CPU 资源紧张。
742742
- 集群中 TiDB 实例数量较多,Region 信息请求并发量较大,PD leader CPU 压力大。
743743

744+
### `performance_schema_session_connect_attrs_size` <span class="version-mark">从 v9.0.0 版本开始引入</span>
745+
746+
- 作用域:GLOBAL
747+
- 是否持久化到集群:是
748+
- 是否适用于 Hint [`SET_VAR`](/optimizer-hints.md#set_varvar_namevar_value):否
749+
- 类型:整数型
750+
- 默认值:`4096`
751+
- 取值范围:`[-1, 65536]`
752+
- 单位:Bytes
753+
- 控制每个会话连接属性的最大总大小。
754+
- 如果连接属性的总大小超过此值,TiDB 会截断超出的属性,并添加 `_truncated` 来表示被截断的字节数。
755+
- 在此限制内被接受的连接属性会写入慢日志中的 `Session_connect_attrs` 字段,并可通过 [`INFORMATION_SCHEMA.SLOW_QUERY`](/information-schema/information-schema-slow-query.md)`INFORMATION_SCHEMA.CLUSTER_SLOW_QUERY` 查询。
756+
- 你可以通过调整此变量来控制慢日志中记录的 `Session_connect_attrs` 大小。
757+
- 如果该值设置为 `-1`,表示未配置限制,TiDB 会将其视为最大 `65536` 字节。
758+
- 如果该值设置为 `0`,TiDB 不会保留客户端提供的会话连接属性,这实际上会禁用会话属性记录。
759+
760+
> **注意:**
761+
>
762+
> TiDB 对握手连接属性强制施加 1 MiB 的硬性限制。若超过该硬性限制,连接将被拒绝。
763+
744764
### `plugin_dir`
745765

746766
- 作用域:GLOBAL

0 commit comments

Comments
 (0)