Skip to content

Commit 048a788

Browse files
authored
system-variable: the value of ‘tidb_service_scope’ becomes case-insensitive in v9.0.0 and v8.5.6 (#21422)
1 parent d71997b commit 048a788

File tree

2 files changed

+9
-10
lines changed

2 files changed

+9
-10
lines changed

identify-slow-queries.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ SELECT /*+ WRITE_SLOW_LOG */ count(*) FROM t t1, t t2 WHERE t1.a = t2.b;
188188

189189
## `tidb_slow_log_rules` 使用方法
190190

191-
[`tidb_slow_log_rules`](/system-variables.md#tidb_slow_log_rules-从-v900-版本开始引入) 用于定义慢查询日志的触发规则,支持多维度指标组合条件。适合用于慢日志的“定向采样”和“问题复现”,可按具体指标组合条件筛选目标语句。
191+
[`tidb_slow_log_rules`](/system-variables.md#tidb_slow_log_rules-从-v856-和-v900-版本开始引入) 用于定义慢查询日志的触发规则,支持多维度指标组合条件。适合用于慢日志的“定向采样”和“问题复现”,可按具体指标组合条件筛选目标语句。
192192

193193
慢查询日志的触发行为取决于 `tidb_slow_log_rules` 的配置情况:
194194

@@ -307,18 +307,18 @@ SELECT /*+ WRITE_SLOW_LOG */ count(*) FROM t t1, t t2 WHERE t1.a = t2.b;
307307

308308
- `tidb_slow_log_rules` 用于替换单一阈值方式,支持多维度指标组合条件,以实现更灵活和精细化的慢查询日志控制。
309309

310-
- 在资源充足的测试环境(1 个 TiDB 节点,16 核 CPU、48 GiB 内存;3 个 TiKV 节点,每个 16 核 CPU、48 GiB 内存)中,多次 sysbench 测试结果表明:当多维慢查询日志规则在 30 分钟内生成数百万条慢查询日志时,对性能影响较小;但当日志量达到千万级时,TPS 会明显下降,延迟也会显著增加。因此在业务负载较高,或 CPU、内存资源接近瓶颈的情况下,应谨慎配置 `tidb_slow_log_rules`,避免因规则过宽导致日志洪泛。若需要限制日志输出速率,可通过 [`tidb_slow_log_max_per_sec`](/system-variables.md#tidb_slow_log_max_per_sec-从-v900-版本开始引入) 进行限速,以降低对业务性能的影响。
310+
- 在资源充足的测试环境(1 个 TiDB 节点,16 核 CPU、48 GiB 内存;3 个 TiKV 节点,每个 16 核 CPU、48 GiB 内存)中,多次 sysbench 测试结果表明:当多维慢查询日志规则在 30 分钟内生成数百万条慢查询日志时,对性能影响较小;但当日志量达到千万级时,TPS 会明显下降,延迟也会显著增加。因此在业务负载较高,或 CPU、内存资源接近瓶颈的情况下,应谨慎配置 `tidb_slow_log_rules`,避免因规则过宽导致日志洪泛。若需要限制日志输出速率,可通过 [`tidb_slow_log_max_per_sec`](/system-variables.md#tidb_slow_log_max_per_sec-从-v856-和-v900-版本开始引入) 进行限速,以降低对业务性能的影响。
311311

312312
## 相关系统变量
313313

314-
* [`tidb_slow_log_rules`](/system-variables.md#tidb_slow_log_rules-从-v900-版本开始引入):请参见 [`tidb_slow_log_rules` 使用建议](#tidb_slow_log_rules-使用方法)。
314+
* [`tidb_slow_log_rules`](/system-variables.md#tidb_slow_log_rules-从-v856-和-v900-版本开始引入):请参见 [`tidb_slow_log_rules` 使用建议](#tidb_slow_log_rules-使用方法)。
315315

316316
* [`tidb_slow_log_threshold`](/system-variables.md#tidb_slow_log_threshold):用于设置慢查询日志的阈值,执行时间超过阈值的 SQL 语句将被记录到慢查询日志中。默认值是 `300ms`(单位:毫秒)。
317317
> **注意:**
318318
>
319319
> `tidb_slow_log_rules``Query_time``Process_time` 等时间类字段单位为秒(可带小数),而 [`tidb_slow_log_threshold`](/system-variables.md#tidb_slow_log_threshold) 的单位为毫秒。
320320

321-
* [`tidb_slow_log_max_per_sec`](/system-variables.md#tidb_slow_log_max_per_sec-从-v900-版本开始引入):用于设置每秒打印慢查询日志数量的上限,默认值为 `0`。
321+
* [`tidb_slow_log_max_per_sec`](/system-variables.md#tidb_slow_log_max_per_sec-从-v856-和-v900-版本开始引入):用于设置每秒打印慢查询日志数量的上限,默认值为 `0`。
322322
* 当值为 `0` 时,表示不限制每秒打印的慢查询日志数量。
323323
* 当值大于 `0` 时,TiDB 每秒最多打印指定数量的慢查询日志,超过部分将被丢弃,不会写入慢查询日志文件。
324324
* 建议在启用了 `tidb_slow_log_rules` 后配置该变量,以防止基于规则的慢查询日志触发过于频繁。

system-variables.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5051,7 +5051,7 @@ EXPLAIN FORMAT='brief' SELECT COUNT(1) FROM t WHERE a = 1 AND b IS NOT NULL;
50515051
- 是否受 Hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value) 控制:否
50525052
- 类型:字符串
50535053
- 默认值:""
5054-
- 可选值:长度小于或等于 64 的字符串,可用合法字符包括数字 `0-9`、字母 `a-zA-Z`、下划线 `_` 和连字符 `-`
5054+
- 可选值:长度小于或等于 64 的字符串,可用合法字符包括数字 `0-9`、字母 `a-zA-Z`、下划线 `_` 和连字符 `-`。从 v8.5.6v9.0.0 开始,该变量的取值大小写不敏感,TiDB 会将输入值转换为小写形式进行存储和比较。
50555055
- 该变量是一个实例级别的变量,用于控制 [TiDB 分布式执行框架](/tidb-distributed-execution-framework.md)下各 TiDB 节点的服务范围。分布式执行框架会根据该变量的值决定将分布式任务调度到哪些 TiDB 节点上执行,具体规则请参考[任务调度](/tidb-distributed-execution-framework.md#任务调度)。
50565056

50575057
### `tidb_session_alias` <span class="version-mark">从 v7.4.0 版本开始引入</span>
@@ -5158,7 +5158,7 @@ Query OK, 0 rows affected, 1 warning (0.00 sec)
51585158
>
51595159
> 跳过字符检查可能会使 TiDB 检测不到应用写入的非法 UTF-8 字符,进一步导致执行 `ANALYZE` 时解码错误,以及引入其他未知的编码问题。如果应用不能保证写入字符串的合法性,不建议跳过该检查。
51605160

5161-
### `tidb_slow_log_max_per_sec` <span class="version-mark">从 v9.0.0 版本开始引入</span>
5161+
### `tidb_slow_log_max_per_sec` <span class="version-mark">从 v8.5.6 和 v9.0.0 版本开始引入</span>
51625162

51635163
- 作用域:GLOBAL
51645164
- 是否持久化到集群:是
@@ -5169,9 +5169,9 @@ Query OK, 0 rows affected, 1 warning (0.00 sec)
51695169
- 控制每个 TiDB 节点每秒打印的慢查询日志的数量上限。
51705170
- 当值为 `0` (默认值)时,表示不限制每秒打印的慢查询日志数量。
51715171
- 当值大于 `0` 时,TiDB 每秒最多打印指定数量的慢查询日志,超过部分将被丢弃,不会写入慢查询日志文件。
5172-
- 该变量常与 [`tidb_slow_log_rules`](#tidb_slow_log_rules-从-v900-版本开始引入) 结合使用,以防止在高负载情况下产生过多的慢查询日志。
5172+
- 该变量常与 [`tidb_slow_log_rules`](#tidb_slow_log_rules-从-v856-和-v900-版本开始引入) 结合使用,以防止在高负载情况下产生过多的慢查询日志。
51735173

5174-
### `tidb_slow_log_rules` <span class="version-mark">从 v9.0.0 版本开始引入</span>
5174+
### `tidb_slow_log_rules` <span class="version-mark">从 v8.5.6 和 v9.0.0 版本开始引入</span>
51755175

51765176
- 作用域:SESSION | GLOBAL
51775177
- 是否持久化到集群:是
@@ -5183,8 +5183,7 @@ Query OK, 0 rows affected, 1 warning (0.00 sec)
51835183

51845184
> **Tip:**
51855185
>
5186-
> - 在生产环境启用 `tidb_slow_log_rules` 时,建议同时配置 [`tidb_slow_log_max_per_sec`](#tidb_slow_log_max_per_sec-从-v900-版本开始引入),避免慢查询日志打印过于频繁。
5187-
> - 规则建议先从较严格条件开始,再按排障需求逐步放宽。更多性能影响介绍,请参考[使用建议](/identify-slow-queries.md#使用建议)。
5186+
> 建议在启用 `tidb_slow_log_rules` 后,同时配置 [`tidb_slow_log_max_per_sec`](#tidb_slow_log_max_per_sec-从-v856-和-v900-版本开始引入),以限制慢查询日志打印频率,防止基于规则的慢查询日志触发过于频繁。
51885187

51895188
### `tidb_slow_log_threshold`
51905189

0 commit comments

Comments
 (0)