From b3da394a1af92becfeb76234de43144ed8c9cf93 Mon Sep 17 00:00:00 2001 From: houfaxin Date: Mon, 4 Aug 2025 13:26:27 +0800 Subject: [PATCH 01/15] translate to cn --- TOC.md | 1 + media/performance/instance-plan-cache.png | Bin 0 -> 121918 bytes .../performance/titan-rocksdb-compactions.png | Bin 0 -> 262651 bytes tidb-performance-tuning-config.md | 557 ++++++++++++++++++ 4 files changed, 558 insertions(+) create mode 100644 media/performance/instance-plan-cache.png create mode 100644 media/performance/titan-rocksdb-compactions.png create mode 100644 tidb-performance-tuning-config.md diff --git a/TOC.md b/TOC.md index 46ba9a4b4f46..8f38085e12fa 100644 --- a/TOC.md +++ b/TOC.md @@ -341,6 +341,7 @@ - 性能调优 - 优化手册 - [优化概述](/performance-tuning-overview.md) + - [配置 TiDB 以优化性能](/tidb-performance-tuning-config.md) - [优化方法](/performance-tuning-methods.md) - [OLTP 负载性能优化实践](/performance-tuning-practices.md) - [TiFlash 性能分析方法](/tiflash-performance-tuning-methods.md) diff --git a/media/performance/instance-plan-cache.png b/media/performance/instance-plan-cache.png new file mode 100644 index 0000000000000000000000000000000000000000..5ebfa15ddd1ec709c19679385ff940392137a5b7 GIT binary patch literal 121918 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 | | [`storage.scheduler-pending-write-threshold`](/tikv-configuration-file.md#scheduler-pending-write-threshold) | 设置 TiKV 调度器写入队列的最大大小。当待写入任务的总大小超过该阈值时,TiKV 会拒绝新的写入请求并返回 `Server Is Busy` 错误。 | 默认值为 `100MiB`。在高并发写入或短时写入突发场景下,适当提高该阈值(如 `512MiB`)有助于缓解压力。但若写入队列持续积压并反复超限,可能说明存在底层性能瓶颈,需进一步排查。 | | [`storage.flow-control.l0-files-threshold`](/tikv-configuration-file.md#l0-files-threshold) | 根据 kvDB L0 文件数量控制写入流控的触发时机。提高该阈值可在高写入负载下减少写入阻塞。 | 阈值过高时,若 L0 文件数量较多,可能导致更激进的压缩操作。 | -| [`storage.flow-control.soft-pending-compaction-bytes-limit`](/tikv-configuration-file.md#soft-pending-compaction-bytes-limit) | 控制待压缩字节数的软阈值,用于管理写入流控。超过软阈值后会部分拒绝写入请求。 | 默认软阈值为 `192GiB`。在写入密集型场景下,如果压缩进程跟不上,待压缩字节会持续积压,可能触发流控。适当调高该阈值可增加缓冲空间,但若持续积压,说明底层存在性能瓶颈,需进一步排查。 | -| [`rocksdb.(defaultcf\|writecf\|lockcf).level0-slowdown-writes-trigger`](/tikv-configuration-file.md#level0-slowdown-writes-trigger) [`rocksdb.(defaultcf\|writecf\|lockcf).soft-pending-compaction-bytes-limit`](/tikv-configuration-file.md#level0-slowdown-writes-trigger) | 需要手动将 `level0-slowdown-writes-trigger` 和 `soft-pending-compaction-bytes-limit` 设置回默认值,以避免受流控参数影响。同时,建议将 RocksDB 相关参数设置为默认值,以保持压缩效率。 | 详情参见 [Issue 18708](https://github.com/tikv/tikv/issues/18708)。 | +| [`storage.flow-control.soft-pending-compaction-bytes-limit`](/tikv-configuration-file.md#soft-pending-compaction-bytes-limit) | 控制待压缩字节数的阈值,用于管理写入流控。超过阈值后会部分拒绝写入请求。 | 默认软阈值为 `192GiB`。在写入密集型场景下,如果压缩进程跟不上,待压缩字节会持续积压,可能触发流控。适当调高该阈值可增加缓冲空间,但若持续积压,说明底层存在性能瓶颈,需进一步排查。 | +| [`rocksdb.(defaultcf\|writecf\|lockcf).level0-slowdown-writes-trigger`](/tikv-configuration-file.md#level0-slowdown-writes-trigger)、[`rocksdb.(defaultcf\|writecf\|lockcf).soft-pending-compaction-bytes-limit`](/tikv-configuration-file.md#level0-slowdown-writes-trigger) | 需要手动将 `level0-slowdown-writes-trigger` 和 `soft-pending-compaction-bytes-limit` 设置回默认值,以避免受流控参数影响。同时,建议将 RocksDB 相关参数设置为默认值,以保持压缩效率。 | 详情参见 [Issue 18708](https://github.com/tikv/tikv/issues/18708)。 | 请注意,上述表格中的压缩与流控参数调整,主要适用于以下规格的 TiKV 部署实例: @@ -152,7 +152,7 @@ soft-pending-compaction-bytes-limit = "192GiB" > **注意:** > -TiKV 在调度层实现了流控机制,以保障系统稳定性。当关键阈值(如待压缩字节数或写入队列大小)被突破时,TiKV 会拒绝新的写入请求,并返回 `ServerIsBusy` 错误。这通常意味着后台压缩进程无法跟上前台写入的速度。流控触发后,系统会出现延迟抖动和 QPS(吞吐量)下降等现象。为避免此类性能退化,建议提前做好容量规划,并合理配置压缩参数和存储设置。 +> TiKV 在调度层实现了流控机制,以保障系统稳定性。当关键阈值(如待压缩字节数或写入队列大小)被突破时,TiKV 会拒绝新的写入请求,并返回 `ServerIsBusy` 错误。这通常意味着后台压缩进程无法跟上前台写入的速度。流控触发后,系统会出现延迟抖动和 QPS(吞吐量)下降等现象。为避免此类性能退化,建议提前做好容量规划,并合理配置压缩参数和存储设置。 ### TiFlash 配置 @@ -196,7 +196,7 @@ snap-io-max-bytes-per-sec = "300MiB" #### 主要优势 -实例级执行计划缓存(Instance Plan Cache)相比基线配置带来了显著的性能提升: +相比基线配置,实例级执行计划缓存 (Instance Plan Cache) 带来了显著的性能提升: - 更高的命中率:提升 53.82%(从 56.89% 增加到 87.51%)。 - 更低的内存占用:降低 26.34%(从 95.3 MiB 降至 70.2 MiB)。 @@ -224,18 +224,18 @@ snap-io-max-bytes-per-sec = "300MiB" 实例级执行计划缓存特别适用于以下场景: -- 拥有大量列的大表。 +- 有大量列的大表。 - 复杂的 SQL 查询。 - 高并发连接。 - 多样化的查询模式。 #### 内存效率 -实例级执行计划缓存(Instance Plan Cache)相比会话级计划缓存(Session Plan Cache)具有更高的内存利用率,原因如下: +实例级执行计划缓存 (Instance Plan Cache) 相比会话级计划缓存 (Session Plan Cache) 具有更高的内存利用率,原因如下: - 执行计划在所有连接间共享 - 无需为每个会话重复存储执行计划 -- 能以更少的内存实现更高的命中率 +- 更高的内存利用率和更高的命中率 在多连接和复杂查询场景下,若使用会话级计划缓存,为达到类似命中率需消耗更多内存,因此实例级计划缓存更高效。 @@ -243,13 +243,13 @@ snap-io-max-bytes-per-sec = "300MiB" #### 测试负载 -以下 `sysbench oltp_read_only prepare` 命令用于加载数据: +执行以下 `sysbench oltp_read_only prepare` 命令加载数据: ```bash sysbench oltp_read_only prepare --mysql-host={host} --mysql-port={port} --mysql-user=root --db-driver=mysql --mysql-db=test --threads=100 --time=900 --report-interval=10 --tables=1000 --table-size=10000 ``` -以下 `sysbench oltp_read_only run` 命令用于运行测试负载: +执行以下 `sysbench oltp_read_only run` 命令运行测试负载: ```bash sysbench oltp_read_only run --mysql-host={host} --mysql-port={port} --mysql-user=root --db-driver=mysql --mysql-db=test --threads=200 --time=900 --report-interval=10 --tables=1000 --table-size=10000 @@ -272,10 +272,10 @@ sysbench oltp_read_only run --mysql-host={host} --mysql-port={port} --mysql-user 下表对比了基线配置与优化配置下的吞吐量(每秒操作数,OPS)。 -| 指标 | 基线配置(OPS) | 优化配置(OPS) | 提升幅度 | +| 指标 | 基线配置 (OPS) | 优化配置 (OPS) | 提升幅度 | | ---------| ---- | ----| ----| -| 加载数据 | 2858.5 | 5074.3 | +77.59% | -| workloada | 2243.0 | 12804.3 | +470.86% | +| 加载数据 | 2858.5 | 5074.3 | +77.59% | +| 负载 | 2243.0 | 12804.3 | +470.86% | #### 性能分析 @@ -292,13 +292,13 @@ sysbench oltp_read_only run --mysql-host={host} --mysql-port={port} --mysql-user #### 测试负载 -以下 `go-ycsb load` 命令用于加载数据: +执行以下 `go-ycsb load` 命令加载数据: ```bash go-ycsb load mysql -P /ycsb/workloads/workloada -p {host} -p mysql.port={port} -p threadcount=100 -p recordcount=5000000 -p operationcount=5000000 -p workload=core -p requestdistribution=uniform -pfieldcount=31 -p fieldlength=1024 ``` -以下 `go-ycsb run` 命令用于运行测试负载: +执行以下 `go-ycsb run` 命令运行测试负载: ```bash go-ycsb run mysql -P /ycsb/workloads/workloada -p {host} -p mysql.port={port} -p mysql.db=test -p threadcount=100 -p recordcount=5000000 -p operationcount=5000000 -p workload=core -prequestdistribution=uniform -p fieldcount=31 -p fieldlength=1024 @@ -310,7 +310,7 @@ go-ycsb run mysql -P /ycsb/workloads/workloada -p {host} -p mysql.port={port} -p ### 识别边缘场景 -要识别边缘场景,请执行以下步骤: +执行以下步骤识别边缘场景: 1. 分析查询模式和负载特征。 2. 监控系统指标,定位性能瓶颈。 @@ -340,25 +340,25 @@ go-ycsb run mysql -P /ycsb/workloads/workloada -p {host} -p mysql.port={port} -p #### 问题排查 -如果你的业务负载包含大量高频小事务或频繁请求时间戳的查询,[TSO(Timestamp Oracle)](/glossary.md#timestamp-oracle-tso) 可能成为性能瓶颈。你可以通过 [**Performance Overview > SQL Execute Time Overview**](/grafana-performance-overview-dashboard.md#sql-execute-time-overview) 面板检查 TSO 等待时间是否占据 SQL 执行时间的较大比例。如果 TSO 等待时间较高,可考虑以下优化措施: +如果你的业务负载包含大量高频小事务或频繁请求时间戳的查询,[TSO (Timestamp Oracle)](/glossary.md#timestamp-oracle-tso) 可能成为性能瓶颈。你可以通过 [**Performance Overview > SQL Execute Time Overview**](/grafana-performance-overview-dashboard.md#sql-execute-time-overview) 面板检查 TSO 等待时间是否占据 SQL 执行时间的较大比例。如果 TSO 等待时间较高,可考虑以下优化措施: - 对于不需要严格一致性的读操作,启用低精度 TSO([`tidb_low_resolution_tso`](/system-variables.md#tidb_low_resolution_tso))。详见 [方案 1:低精度 TSO](#方案-1低精度-tso)。 - 尽量将多个小事务合并为较大的事务。详见 [方案 2:TSO 请求并行模式](#方案-2tso-请求并行模式)。 #### 方案 1:低精度 TSO -你可以通过启用低精度 TSO 功能([`tidb_low_resolution_tso`](/system-variables.md#tidb_low_resolution_tso))来减少 TSO 等待时间。启用后,TiDB 会使用缓存的时间戳进行读取,从而降低 TSO 等待,但可能会读取到略微过时的数据。 +你可以通过启用低精度 TSO 功能 ([`tidb_low_resolution_tso`](/system-variables.md#tidb_low_resolution_tso)) 来减少 TSO 等待时间。启用后,TiDB 会使用缓存的时间戳进行读取,从而降低 TSO 等待,但可能会读取到过时的数据。 此优化特别适用于以下场景: -- 读为主的负载,且对数据新鲜度要求不高。 +- 以读操作为主的负载,且对数据新鲜度要求不高。 - 对查询延迟要求高于绝对一致性的场景。 - 应用可以容忍读取到几秒内的历史数据。 优势与权衡: -- 通过使用缓存的 TSO 实现延迟读取,减少每次查询获取新时间戳的开销,从而降低查询延迟。 -- 适用于可接受一定程度数据延迟的场景,不建议在强一致性要求下使用。 +- 通过启用使用缓存 TSO 的读取过时数据的功能,可以减少查询延迟,无需请求新的时间戳。 +- 在性能与数据一致性之间取得平衡:该功能仅适用于可接受读取过时数据的场景。不建议在需要严格数据一致性的场景中使用。 启用方法: @@ -388,7 +388,7 @@ SET GLOBAL tidb_tso_client_rpc_mode=PARALLEL; SET GLOBAL tidb_tso_client_rpc_mode=PARALLEL-FAST; ``` -### 针对读密集型负载调优下推计算结果缓存(Coprocessor Cache) +### 针对读密集型负载调优下推计算结果缓存 (Coprocessor Cache) 通过优化[下推计算结果缓存](/coprocessor-cache.md),可以提升读密集型负载下的查询性能。该缓存用于存储协处理器请求的结果,减少对热点数据的重复计算。优化建议如下: @@ -422,7 +422,7 @@ admission-min-process-ms = 0 - 对于复杂查询、大结果集的 OLAP 或分析型负载: - - 建议设置为 `1024`~`4096`。 + - 建议将其值设置为 `1024`~`4096`。 - 扫描大量数据时可提升吞吐量。 - 适用场景:聚合、大表扫描。 @@ -438,7 +438,7 @@ TiDB 提供多种事务模式和 DML 执行类型,你可以根据不同负载 你可以通过 [`tidb_txn_mode`](/system-variables.md#tidb_txn_mode) 系统变量设置事务模式。 -- [悲观事务模式](/pessimistic-transaction.md)(默认): +- [悲观事务模式](/pessimistic-transaction.md)(默认模式): - 适用于可能存在写冲突的一般负载。 - 提供更强的一致性保障。 @@ -463,7 +463,7 @@ TiDB 提供多种事务模式和 DML 执行类型,你可以根据不同负载 如需使用批量 DML 执行模式,将 `tidb_dml_type` 设置为 `"bulk"`。该模式适用于无冲突的大批量数据写入,可降低大规模写入时的内存消耗。使用前请确保: -- 已开启自动提交(auto-commit)。 +- 已开启自动提交事务 [`autocommit`](/system-variables.md#autocommit)。 - [`pessimistic-auto-commit`](/tidb-configuration-file.md#pessimistic-auto-commit) 配置项设置为 `false`。 ```sql @@ -483,7 +483,7 @@ TiDB 支持将聚合操作下推到 TiKV 层执行,以减少数据传输和处 - **非理想场景**(可能出现性能下降): - 分组列的基数很高(NDV 较大)。 - - 唯一标识符或时间戳等几乎无重复值的列。 + - 不重复的标识符或时间戳。 - 典型示例:用户 ID、交易 ID 等。 #### 配置方法 @@ -500,7 +500,7 @@ SET GLOBAL tidb_opt_distinct_agg_push_down = ON; ### 使用内存引擎缓解 MVCC 版本积压 -在高读写热点区域或垃圾回收、压缩不及时的情况下,过多的 MVCC 版本会导致性能瓶颈。自 v8.5.0 起,你可以通过启用[TiKV MVCC 内存引擎](/tikv-in-memory-engine.md)来缓解该问题。只需在 TiKV 配置文件中添加如下内容: +在高读写热点区域或垃圾回收、压缩不及时的情况下,过多的 MVCC 版本会导致性能瓶颈。自 v8.5.0 起,你可以通过启用 [TiKV MVCC 内存引擎](/tikv-in-memory-engine.md)来缓解该问题。只需在 TiKV 配置文件中添加如下内容: > **注意:** > @@ -515,7 +515,7 @@ enable = true 通过管理统计信息的收集方式,可以在保持查询优化能力的同时提升批量操作的性能。本节介绍如何有效管理该过程。 -### 何时关闭自动统计信息分析(auto analyze) +#### 何时关闭自动统计信息分析(auto analyze) 在以下场景中,可以通过将系统变量 [`tidb_enable_auto_analyze`](/system-variables.md#tidb_enable_auto_analyze-从-v610-版本开始引入) 设置为 `OFF` 来关闭自动统计信息分析: @@ -545,7 +545,7 @@ enable = true ### 为不同实例类型优化线程池设置 -为提升 TiKV 的性能,应根据实例的 CPU 资源配置线程池。你可以参考以下指南进行优化: +为提升 TiKV 的性能,应根据实例的 CPU 资源配置线程池。你可以参考以下原则进行优化: - 对于 8 至 16 核的实例,默认设置通常已经足够。 From 6ec3bd97e88f842d094bfc7c754baf666cae9b66 Mon Sep 17 00:00:00 2001 From: houfaxin Date: Thu, 7 Aug 2025 11:28:04 +0800 Subject: [PATCH 09/15] Update tidb-performance-tuning-config.md --- tidb-performance-tuning-config.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tidb-performance-tuning-config.md b/tidb-performance-tuning-config.md index 1b368240f733..9169518d89b1 100644 --- a/tidb-performance-tuning-config.md +++ b/tidb-performance-tuning-config.md @@ -27,7 +27,7 @@ summary: 了解如何通过配置关键参数和应对边缘场景来优化 TiDB 以下配置项常用于优化 TiDB 性能: - 增强执行计划缓存,如 [SQL 预处理执行计划缓存](/sql-prepared-plan-cache.md)、[非预处理计划缓存](/sql-non-prepared-plan-cache.md)和[实例级执行计划缓存](/system-variables.md#tidb_enable_instance_plan_cache-从-v840-版本开始引入)。 -- 通过 [Optimizer Fix Controls ](/optimizer-fix-controls.md) 优化 TiDB 优化器行为。 +- 通过 [Optimizer Fix Controls](/optimizer-fix-controls.md) 优化 TiDB 优化器行为。 - 更积极地使用 [Titan](/storage-engine/titan-overview.md) 存储引擎。 - 微调 TiKV 的压缩与流控配置,确保写入密集型负载下的性能与稳定性。 From 12d6e2693a8145ea00c6ccdd2b98f300410e9e5a Mon Sep 17 00:00:00 2001 From: houfaxin Date: Thu, 7 Aug 2025 14:46:53 +0800 Subject: [PATCH 10/15] Update tidb-performance-tuning-config.md --- tidb-performance-tuning-config.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tidb-performance-tuning-config.md b/tidb-performance-tuning-config.md index 9169518d89b1..95b0d8d31028 100644 --- a/tidb-performance-tuning-config.md +++ b/tidb-performance-tuning-config.md @@ -274,8 +274,8 @@ sysbench oltp_read_only run --mysql-host={host} --mysql-port={port} --mysql-user | 指标 | 基线配置 (OPS) | 优化配置 (OPS) | 提升幅度 | | ---------| ---- | ----| ----| -| 加载数据 | 2858.5 | 5074.3 | +77.59% | -| 负载 | 2243.0 | 12804.3 | +470.86% | +| 加载数据 | 2858.5 | 5074.3 | +77.59% | +| Workloada | 2243.0 | 12804.3 | +470.86% | #### 性能分析 From 38c5c2bb6260be086b7ab5b5fd3e0596e490811e Mon Sep 17 00:00:00 2001 From: houfaxin Date: Thu, 7 Aug 2025 15:39:14 +0800 Subject: [PATCH 11/15] Update tidb-performance-tuning-config.md --- tidb-performance-tuning-config.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tidb-performance-tuning-config.md b/tidb-performance-tuning-config.md index 95b0d8d31028..e1ce723fa62d 100644 --- a/tidb-performance-tuning-config.md +++ b/tidb-performance-tuning-config.md @@ -274,7 +274,7 @@ sysbench oltp_read_only run --mysql-host={host} --mysql-port={port} --mysql-user | 指标 | 基线配置 (OPS) | 优化配置 (OPS) | 提升幅度 | | ---------| ---- | ----| ----| -| 加载数据 | 2858.5 | 5074.3 | +77.59% | +| Load data | 2858.5 | 5074.3 | +77.59% | | Workloada | 2243.0 | 12804.3 | +470.86% | #### 性能分析 From 712f5d4ee3af2f8278ac68ddfacac7f60cd61ac5 Mon Sep 17 00:00:00 2001 From: houfaxin Date: Thu, 7 Aug 2025 15:52:15 +0800 Subject: [PATCH 12/15] Update tidb-performance-tuning-config.md --- tidb-performance-tuning-config.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tidb-performance-tuning-config.md b/tidb-performance-tuning-config.md index e1ce723fa62d..72154b2b2674 100644 --- a/tidb-performance-tuning-config.md +++ b/tidb-performance-tuning-config.md @@ -124,14 +124,14 @@ soft-pending-compaction-bytes-limit = "192GiB" | 配置项 | 说明 | 注意事项 | | ---------| ---- | ----| -| [`concurrent-send-snap-limit`](/tikv-configuration-file.md#concurrent-send-snap-limit)、[`concurrent-recv-snap-limit`](/tikv-configuration-file.md#concurrent-recv-snap-limit)、[`snap-io-max-bytes-per-sec`](/tikv-configuration-file.md#snap-io-max-bytes-per-sec) | 设置 TiKV 扩容时快照并发传输和 I/O 带宽的上限。提高这些上限可以通过加快数据迁移速度,缩短扩容耗时。 | 需权衡扩容速度与在线业务性能。 | -| [`in-memory-peer-size-limit`](/tikv-configuration-file.md#in-memory-peer-size-limit-从-v840-版本开始引入)、[`in-memory-instance-size-limit`](/tikv-configuration-file.md#in-memory-instance-size-limit-从-v840-版本开始引入) | 控制悲观锁缓存的 Region 级和实例级的内存分配,将锁存储在内存中可减少磁盘 I/O 并提升事务性能。 | 提高上限会提升性能,但也会增加内存消耗。 | +|
  • [`concurrent-send-snap-limit`](/tikv-configuration-file.md#concurrent-send-snap-limit)
  • [`concurrent-recv-snap-limit`](/tikv-configuration-file.md#concurrent-recv-snap-limit)
  • [`snap-io-max-bytes-per-sec`](/tikv-configuration-file.md#snap-io-max-bytes-per-sec)
| 设置 TiKV 扩容时快照并发传输和 I/O 带宽的上限。提高这些上限可以通过加快数据迁移速度,缩短扩容耗时。 | 需权衡扩容速度与在线业务性能。 | +|
  • [`in-memory-peer-size-limit`](/tikv-configuration-file.md#in-memory-peer-size-limit-从-v840-版本开始引入)
  • [`in-memory-instance-size-limit`](/tikv-configuration-file.md#in-memory-instance-size-limit-从-v840-版本开始引入)
| 控制悲观锁缓存的 Region 级和实例级的内存分配,将锁存储在内存中可减少磁盘 I/O 并提升事务性能。 | 提高上限会提升性能,但也会增加内存消耗。 | | [`rocksdb.max-manifest-file-size`](/tikv-configuration-file.md#max-manifest-file-size) | 设置 RocksDB Manifest 文件的最大大小。Manifest 文件记录 SST 文件和数据库状态变更的元数据。增大该值可减少 Manifest 文件的写频率,从而降低其对前台写入性能的影响。 | 默认值为 `128MiB`。在存在大量 SST 文件(如数十万级别)的环境下,Manifest 文件频繁的写操作会影响写入性能。建议将该参数调高至 `256MiB` 或更大,以保持最佳性能。 | -| [`rocksdb.titan`](/tikv-configuration-file.md#rocksdbtitan)、[`rocksdb.defaultcf.titan`](/tikv-configuration-file.md#rocksdbdefaultcftitan)、[`min-blob-size`](/tikv-configuration-file.md#min-blob-size) 和 [`blob-file-compression`](/tikv-configuration-file.md#blob-file-compression) | 启用 Titan 存储引擎以降低写放大并缓解磁盘 I/O 瓶颈。尤其适用于 RocksDB 压缩无法跟上写入压力、待压缩字节持续积压的场景。 | 仅当写放大成为主要瓶颈时建议开启。需权衡以下因素:
  • 1. 主键范围扫描可能受影响。
  • 2. 空间放大会增加(极端情况下最高 2 倍)。
  • 3. Blob 缓存会占用更多内存。
| +|
  • [`rocksdb.titan`](/tikv-configuration-file.md#rocksdbtitan)
  • [`rocksdb.defaultcf.titan`](/tikv-configuration-file.md#rocksdbdefaultcftitan)
  • [`min-blob-size`](/tikv-configuration-file.md#min-blob-size)
  • [`blob-file-compression`](/tikv-configuration-file.md#blob-file-compression)
| 启用 Titan 存储引擎以降低写放大并缓解磁盘 I/O 瓶颈。尤其适用于 RocksDB 压缩无法跟上写入压力、待压缩字节持续积压的场景。 | 仅当写放大成为主要瓶颈时建议开启。需权衡以下因素:
  • 1. 主键范围扫描可能受影响。
  • 2. 空间放大会增加(极端情况下最高 2 倍)。
  • 3. Blob 缓存会占用更多内存。
| | [`storage.scheduler-pending-write-threshold`](/tikv-configuration-file.md#scheduler-pending-write-threshold) | 设置 TiKV 调度器写入队列的最大大小。当待写入任务的总大小超过该阈值时,TiKV 会拒绝新的写入请求并返回 `Server Is Busy` 错误。 | 默认值为 `100MiB`。在高并发写入或短时写入突发场景下,适当提高该阈值(如 `512MiB`)有助于缓解压力。但若写入队列持续积压并反复超限,可能说明存在底层性能瓶颈,需进一步排查。 | | [`storage.flow-control.l0-files-threshold`](/tikv-configuration-file.md#l0-files-threshold) | 根据 kvDB L0 文件数量控制写入流控的触发时机。提高该阈值可在高写入负载下减少写入阻塞。 | 阈值过高时,若 L0 文件数量较多,可能导致更激进的压缩操作。 | | [`storage.flow-control.soft-pending-compaction-bytes-limit`](/tikv-configuration-file.md#soft-pending-compaction-bytes-limit) | 控制待压缩字节数的阈值,用于管理写入流控。超过阈值后会部分拒绝写入请求。 | 默认软阈值为 `192GiB`。在写入密集型场景下,如果压缩进程跟不上,待压缩字节会持续积压,可能触发流控。适当调高该阈值可增加缓冲空间,但若持续积压,说明底层存在性能瓶颈,需进一步排查。 | -| [`rocksdb.(defaultcf\|writecf\|lockcf).level0-slowdown-writes-trigger`](/tikv-configuration-file.md#level0-slowdown-writes-trigger)、[`rocksdb.(defaultcf\|writecf\|lockcf).soft-pending-compaction-bytes-limit`](/tikv-configuration-file.md#level0-slowdown-writes-trigger) | 需要手动将 `level0-slowdown-writes-trigger` 和 `soft-pending-compaction-bytes-limit` 设置回默认值,以避免受流控参数影响。同时,建议将 RocksDB 相关参数设置为默认值,以保持压缩效率。 | 详情参见 [Issue 18708](https://github.com/tikv/tikv/issues/18708)。 | +|
  • [`rocksdb.(defaultcf\|writecf\|lockcf).level0-slowdown-writes-trigger`](/tikv-configuration-file.md#level0-slowdown-writes-trigger)
  • [`rocksdb.(defaultcf\|writecf\|lockcf).soft-pending-compaction-bytes-limit`](/tikv-configuration-file.md#level0-slowdown-writes-trigger)
| 需要手动将 `level0-slowdown-writes-trigger` 和 `soft-pending-compaction-bytes-limit` 设置回默认值,以避免受流控参数影响。同时,建议将 RocksDB 相关参数设置为默认值,以保持压缩效率。 | 详情参见 [Issue 18708](https://github.com/tikv/tikv/issues/18708)。 | 请注意,上述表格中的压缩与流控参数调整,主要适用于以下规格的 TiKV 部署实例: From 695726fec0aa6ac54fcbabf8f58187c3399f9dba Mon Sep 17 00:00:00 2001 From: houfaxin Date: Fri, 8 Aug 2025 08:44:21 +0800 Subject: [PATCH 13/15] Update tidb-performance-tuning-config.md --- tidb-performance-tuning-config.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tidb-performance-tuning-config.md b/tidb-performance-tuning-config.md index 72154b2b2674..0bc728d46d0d 100644 --- a/tidb-performance-tuning-config.md +++ b/tidb-performance-tuning-config.md @@ -12,13 +12,13 @@ summary: 了解如何通过配置关键参数和应对边缘场景来优化 TiDB > **注意:** > -> 本文介绍的优化技术有助于提升 TiDB 的性能,但性能调优通常需要在多个因素之间权衡,并不存在一劳永逸的方案解决所有的性能问题。部分优化方法涉及实验性特性,已在文中标注。虽然这些优化可以显著提升性能,但可能并不适合生产环境,实施前请充分评估。 +> 本文介绍的优化技术有助于提升 TiDB 的性能,但性能调优通常需要在多个因素之间权衡,并不存在一劳永逸的方案解决所有的性能问题。部分优化方法涉及实验特性,已在文中标注。虽然这些优化可以显著提升性能,但可能并不适合生产环境,实施前请充分评估。 ## 概述 要实现 TiDB 的最佳性能,需要对多项配置进行细致调优。很多情况下,达到最佳性能需要调大默认值的配置。 -默认的配置优先考虑的是稳定性而不是性能。若要最大化性能,可能需要配置更激进的参数,甚至启用实验性特性。本文推荐的配置基于生产环境经验和对性能优化的研究。 +默认的配置优先考虑的是稳定性而不是性能。若要最大化性能,可能需要配置更激进的参数,甚至启用实验特性。本文推荐的配置基于生产环境经验和对性能优化的研究。 本文档详细说明了非默认配置项,包括其优势和潜在权衡。请根据实际业务需求合理调整。 @@ -58,7 +58,7 @@ SET GLOBAL tidb_opt_fix_control = '44262:ON,44389:ON,44823:10000,44830:ON,44855: | 系统变量 | 说明 | 注意事项 | | ---------| ---- | ----| -| [`tidb_enable_instance_plan_cache`](/system-variables.md#tidb_enable_instance_plan_cache-从-v840-版本开始引入) 和 [`tidb_instance_plan_cache_max_size`](/system-variables.md#tidb_instance_plan_cache_max_size-从-v840-版本开始引入) | 启用实例级计划缓存而不是会话级缓存,适合高并发连接或频繁使用预处理语句的场景。 | 实验性特性,建议先在测试环境验证,并关注内存占用。 | +| [`tidb_enable_instance_plan_cache`](/system-variables.md#tidb_enable_instance_plan_cache-从-v840-版本开始引入) 和 [`tidb_instance_plan_cache_max_size`](/system-variables.md#tidb_instance_plan_cache_max_size-从-v840-版本开始引入) | 启用实例级计划缓存而不是会话级缓存,适合高并发连接或频繁使用预处理语句的场景。 | 实验特性,建议先在测试环境验证,并关注内存占用。 | | [`tidb_enable_non_prepared_plan_cache`](/system-variables.md#tidb_enable_non_prepared_plan_cache) | 启用[非 Prepare 语句执行计划缓存](/sql-non-prepared-plan-cache.md),降低不使用预处理语句应用的编译开销。 | 无 | | [`tidb_ignore_prepared_cache_close_stmt`](/system-variables.md#tidb_ignore_prepared_cache_close_stmt-从-v600-版本开始引入) | 针对每次执行后关闭计划的应用,缓存其计划。 | 无 | | [`tidb_analyze_column_options`](/system-variables.md#tidb_analyze_column_options-从-v830-版本开始引入) | 收集所有列的统计信息,避免因缺失统计导致执行计划不佳。默认情况下,TiDB 仅收集 [`PREDICATE COLUMNS`](/statistics.md#收集部分列的统计信息) 的统计信息。 | 默认值为 `'PREDICATE'`。如果设为 `'ALL'` 会增加 `ANALYZE TABLE` 的资源消耗。 | From 0ee823e118a3abe7c73520c164dbbcfc58d9fb7e Mon Sep 17 00:00:00 2001 From: houfaxin Date: Fri, 8 Aug 2025 09:40:05 +0800 Subject: [PATCH 14/15] Update tidb-performance-tuning-config.md --- tidb-performance-tuning-config.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tidb-performance-tuning-config.md b/tidb-performance-tuning-config.md index 0bc728d46d0d..620347256da4 100644 --- a/tidb-performance-tuning-config.md +++ b/tidb-performance-tuning-config.md @@ -64,7 +64,7 @@ SET GLOBAL tidb_opt_fix_control = '44262:ON,44389:ON,44823:10000,44830:ON,44855: | [`tidb_analyze_column_options`](/system-variables.md#tidb_analyze_column_options-从-v830-版本开始引入) | 收集所有列的统计信息,避免因缺失统计导致执行计划不佳。默认情况下,TiDB 仅收集 [`PREDICATE COLUMNS`](/statistics.md#收集部分列的统计信息) 的统计信息。 | 默认值为 `'PREDICATE'`。如果设为 `'ALL'` 会增加 `ANALYZE TABLE` 的资源消耗。 | | [`tidb_stats_load_sync_wait`](/system-variables.md#tidb_stats_load_sync_wait-从-v540-版本开始引入) | 将同步加载统计信息的超时时间从默认 100ms 提高到 2s,确保编译前加载完毕。 | 调大该变量的值会导致编译等待时间变长。 | | [`tidb_opt_limit_push_down_threshold`](/system-variables.md#tidb_opt_limit_push_down_threshold) | 提高 `Limit` 或 `TopN` 下推到 TiKV 的阈值。 | 当存在多个索引选项时,调大该变量的值后,优化器更倾向于选择能优化 `ORDER BY` 和 `Limit` 算子的索引。 | -| [`tidb_opt_derive_topn`](/system-variables.md#tidb_opt_derive_topn-从-v700-版本开始引入) | 启用[从窗口函数中推导 `TopN` 或 `Limit`](/derive-topn-from-window.md) | 仅支持 `ROW_NUMBER()` 窗口函数。 | +| [`tidb_opt_derive_topn`](/system-variables.md#tidb_opt_derive_topn-从-v700-版本开始引入) | 启用[从窗口函数中推导 `TopN` 或 `Limit`](/derive-topn-from-window.md)。 | 仅支持 `ROW_NUMBER()` 窗口函数。 | | [`tidb_runtime_filter_mode`](/system-variables.md#tidb_runtime_filter_mode-从-v720-版本开始引入) | 启用本地模式的 [Runtime Filter](/runtime-filter.md#runtime-filter-mode),提升 Hash Join 效率。 | v7.2.0 引入,默认关闭。 | | [`tidb_opt_enable_mpp_shared_cte_execution`](/system-variables.md#tidb_opt_enable_mpp_shared_cte_execution-从-v720-版本开始引入) | 启用非递归 CTE 下推到 TiFlash。 | 实验特性。 | | [`tidb_rc_read_check_ts`](/system-variables.md#tidb_rc_read_check_ts-从-v600-版本开始引入) | 在读已提交隔离级别下,启动该变量可以避免获取全局时间戳,优化事务读延迟。 | 与可重复读隔离级别不兼容。 | @@ -127,7 +127,7 @@ soft-pending-compaction-bytes-limit = "192GiB" |
  • [`concurrent-send-snap-limit`](/tikv-configuration-file.md#concurrent-send-snap-limit)
  • [`concurrent-recv-snap-limit`](/tikv-configuration-file.md#concurrent-recv-snap-limit)
  • [`snap-io-max-bytes-per-sec`](/tikv-configuration-file.md#snap-io-max-bytes-per-sec)
| 设置 TiKV 扩容时快照并发传输和 I/O 带宽的上限。提高这些上限可以通过加快数据迁移速度,缩短扩容耗时。 | 需权衡扩容速度与在线业务性能。 | |
  • [`in-memory-peer-size-limit`](/tikv-configuration-file.md#in-memory-peer-size-limit-从-v840-版本开始引入)
  • [`in-memory-instance-size-limit`](/tikv-configuration-file.md#in-memory-instance-size-limit-从-v840-版本开始引入)
| 控制悲观锁缓存的 Region 级和实例级的内存分配,将锁存储在内存中可减少磁盘 I/O 并提升事务性能。 | 提高上限会提升性能,但也会增加内存消耗。 | | [`rocksdb.max-manifest-file-size`](/tikv-configuration-file.md#max-manifest-file-size) | 设置 RocksDB Manifest 文件的最大大小。Manifest 文件记录 SST 文件和数据库状态变更的元数据。增大该值可减少 Manifest 文件的写频率,从而降低其对前台写入性能的影响。 | 默认值为 `128MiB`。在存在大量 SST 文件(如数十万级别)的环境下,Manifest 文件频繁的写操作会影响写入性能。建议将该参数调高至 `256MiB` 或更大,以保持最佳性能。 | -|
  • [`rocksdb.titan`](/tikv-configuration-file.md#rocksdbtitan)
  • [`rocksdb.defaultcf.titan`](/tikv-configuration-file.md#rocksdbdefaultcftitan)
  • [`min-blob-size`](/tikv-configuration-file.md#min-blob-size)
  • [`blob-file-compression`](/tikv-configuration-file.md#blob-file-compression)
| 启用 Titan 存储引擎以降低写放大并缓解磁盘 I/O 瓶颈。尤其适用于 RocksDB 压缩无法跟上写入压力、待压缩字节持续积压的场景。 | 仅当写放大成为主要瓶颈时建议开启。需权衡以下因素:
  • 1. 主键范围扫描可能受影响。
  • 2. 空间放大会增加(极端情况下最高 2 倍)。
  • 3. Blob 缓存会占用更多内存。
| +|
  • [`rocksdb.titan`](/tikv-configuration-file.md#rocksdbtitan)
  • [`rocksdb.defaultcf.titan`](/tikv-configuration-file.md#rocksdbdefaultcftitan)
  • [`min-blob-size`](/tikv-configuration-file.md#min-blob-size)
  • [`blob-file-compression`](/tikv-configuration-file.md#blob-file-compression)
| 启用 Titan 存储引擎以降低写放大并缓解磁盘 I/O 瓶颈。尤其适用于 RocksDB 压缩无法跟上写入压力、待压缩字节持续积压的场景。 | 仅当写放大成为主要瓶颈时建议开启。需权衡以下因素:
  • 主键范围扫描可能受影响。
  • 空间放大会增加(极端情况下最高 2 倍)。
  • Blob 缓存会占用更多内存。
| | [`storage.scheduler-pending-write-threshold`](/tikv-configuration-file.md#scheduler-pending-write-threshold) | 设置 TiKV 调度器写入队列的最大大小。当待写入任务的总大小超过该阈值时,TiKV 会拒绝新的写入请求并返回 `Server Is Busy` 错误。 | 默认值为 `100MiB`。在高并发写入或短时写入突发场景下,适当提高该阈值(如 `512MiB`)有助于缓解压力。但若写入队列持续积压并反复超限,可能说明存在底层性能瓶颈,需进一步排查。 | | [`storage.flow-control.l0-files-threshold`](/tikv-configuration-file.md#l0-files-threshold) | 根据 kvDB L0 文件数量控制写入流控的触发时机。提高该阈值可在高写入负载下减少写入阻塞。 | 阈值过高时,若 L0 文件数量较多,可能导致更激进的压缩操作。 | | [`storage.flow-control.soft-pending-compaction-bytes-limit`](/tikv-configuration-file.md#soft-pending-compaction-bytes-limit) | 控制待压缩字节数的阈值,用于管理写入流控。超过阈值后会部分拒绝写入请求。 | 默认软阈值为 `192GiB`。在写入密集型场景下,如果压缩进程跟不上,待压缩字节会持续积压,可能触发流控。适当调高该阈值可增加缓冲空间,但若持续积压,说明底层存在性能瓶颈,需进一步排查。 | From 81305ffafd230e241c4122fe9604e8eb9e40dbcd Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Thu, 21 Aug 2025 09:08:46 +0800 Subject: [PATCH 15/15] Update tidb-performance-tuning-config.md --- tidb-performance-tuning-config.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/tidb-performance-tuning-config.md b/tidb-performance-tuning-config.md index 620347256da4..37c4bb82831f 100644 --- a/tidb-performance-tuning-config.md +++ b/tidb-performance-tuning-config.md @@ -154,15 +154,13 @@ soft-pending-compaction-bytes-limit = "192GiB" > > TiKV 在调度层实现了流控机制,以保障系统稳定性。当关键阈值(如待压缩字节数或写入队列大小)被突破时,TiKV 会拒绝新的写入请求,并返回 `ServerIsBusy` 错误。这通常意味着后台压缩进程无法跟上前台写入的速度。流控触发后,系统会出现延迟抖动和 QPS(吞吐量)下降等现象。为避免此类性能退化,建议提前做好容量规划,并合理配置压缩参数和存储设置。 -### TiFlash 配置 +### TiFlash-learner 配置 -在 TiFlash 配置文件中添加如下内容: +在 TiFlash-learner 配置文件中添加如下内容: ```toml -[raftstore-proxy.server] +[server] snap-io-max-bytes-per-sec = "300MiB" -``` - | 配置项 | 说明 | 注意事项 | | ---------| ---- | ----| | [`snap-io-max-bytes-per-sec`](/tikv-configuration-file.md#snap-io-max-bytes-per-sec) | 控制从 TiKV 到 TiFlash 的数据复制时允许使用的最大磁盘带宽。提高该值可以加快初始数据加载和追赶同步的速度。 | 带宽占用增加可能影响在线业务性能,请在同步速度与系统稳定性之间进行合理权衡。 |

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 **注意:** +> +> 本文介绍的优化技术有助于提升 TiDB 的性能,但性能调优通常需要在多个因素之间权衡,没有一种方案能解决所有性能问题。部分优化方法涉及实验性特性,已在文中标注。虽然这些优化可以显著提升性能,但可能并不适合生产环境,实施前请充分评估。 + +## 概述 + +要实现 TiDB 的最佳性能,需要对多项配置进行细致调优。很多情况下,达到最佳性能需要超出默认值的配置。 + +默认的配置优先考虑的是稳定性而不是性能。若要最大化性能,可能需要采用更激进的参数,甚至启用实验性特性。本文推荐的配置基于生产环境经验和对性能优化的研究。 + +本文档详细说明了非默认配置项,包括其优势和潜在权衡。请根据实际业务需求合理调整。 + +## 常见负载的关键配置 + +以下配置项常用于优化 TiDB 性能: + +- 增强执行计划缓存,如 [SQL 预处理执行计划缓存](/sql-prepared-plan-cache.md)、[非预处理计划缓存](/sql-non-prepared-plan-cache.md)和[实例级执行计划缓存](/system-variables.md#tidb_enable_instance_plan_cache-从-v840-版本开始引入)。 +- 通过[优化器修复控制](/optimizer-fix-controls.md) 优化 TiDB 优化器行为。 +- 更积极地使用 [Titan](/storage-engine/titan-overview.md) 存储引擎。 +- 微调 TiKV 的压缩与流控配置,确保写入密集型负载下的性能与稳定性。 + +这些配置可显著提升多种负载的性能。但如同所有优化措施,务必在生产环境部署前充分测试。 + +### 系统变量 + +执行以下 SQL 命令应用推荐配置: + +```sql +SET GLOBAL tidb_enable_instance_plan_cache=on; +SET GLOBAL tidb_instance_plan_cache_max_size=2GiB; +SET GLOBAL tidb_enable_non_prepared_plan_cache=on; +SET GLOBAL tidb_ignore_prepared_cache_close_stmt=on; +SET GLOBAL tidb_analyze_column_options='ALL'; +SET GLOBAL tidb_stats_load_sync_wait=2000; +SET GLOBAL tidb_opt_limit_push_down_threshold=10000; +SET GLOBAL tidb_opt_derive_topn=on; +SET GLOBAL tidb_runtime_filter_mode=LOCAL; +SET GLOBAL tidb_opt_enable_mpp_shared_cte_execution=on; +SET GLOBAL tidb_rc_read_check_ts=on; +SET GLOBAL tidb_guarantee_linearizability=off; +SET GLOBAL pd_enable_follower_handle_region=on; +SET GLOBAL tidb_opt_fix_control = '44262:ON,44389:ON,44823:10000,44830:ON,44855:ON,52869:ON'; +``` + +下表简要说明了主要系统变量的作用及注意事项: + +| 系统变量 | 说明 | 注意事项 | +| ---------| ---- | ----| +| [`tidb_enable_instance_plan_cache`](/system-variables.md#tidb_enable_instance_plan_cache-从-v840-版本开始引入) 和 [`tidb_instance_plan_cache_max_size`](/system-variables.md#tidb_instance_plan_cache_max_size-从-v840-版本开始引入) | 启用实例级计划缓存,适合高并发连接或频繁使用预处理语句的场景。 | 实验性特性,建议先在测试环境验证,并关注内存占用。 | +| [`tidb_enable_non_prepared_plan_cache`](/system-variables.md#tidb_enable_non_prepared_plan_cache) | 启用非预处理计划缓存,降低不使用预处理语句应用的编译开销。 | 无 | +| [`tidb_ignore_prepared_cache_close_stmt`](/system-variables.md#tidb_ignore_prepared_cache_close_stmt-从-v600-版本开始引入) | 针对每次执行后关闭计划的应用,缓存其计划。 | 无 | +| [`tidb_analyze_column_options`](/system-variables.md#tidb_analyze_column_options-new-in-v830) | 收集所有列的统计信息,避免因缺失统计导致执行计划不佳。 | 设为 `'ALL'` 会增加 `ANALYZE TABLE` 的资源消耗。 | +| [`tidb_stats_load_sync_wait`](/system-variables.md#tidb_stats_load_sync_wait-从-v540-版本开始引入) | 将同步加载统计信息的超时时间从默认 100ms 提高到 2s,确保编译前加载完毕。 | 超时时间增加,编译等待时间变长。 | +| [`tidb_opt_limit_push_down_threshold`](/system-variables.md#tidb_opt_limit_push_down_threshold) | 提高 `Limit` 或 `TopN` 下推到 TiKV 的阈值。 | 提高后优化器更倾向选择能优化 `ORDER BY` 和 `Limit` 的索引。 | +| [`tidb_opt_derive_topn`](/system-variables.md#tidb_opt_derive_topn-从-v700-版本开始引入) | 启用从窗口函数派生 TopN/Limit 的优化,仅适用于 `ROW_NUMBER()`。 | 仅支持 `ROW_NUMBER()`。 | +| [`tidb_runtime_filter_mode`](/system-variables.md#tidb_runtime_filter_mode-从-v720-版本开始引入) | 启用本地模式的 [Runtime Filter](/runtime-filter.md#runtime-filter-mode),提升 Hash Join 效率。 | v7.2.0 引入,默认关闭。 | +| [`tidb_opt_enable_mpp_shared_cte_execution`](/system-variables.md#tidb_opt_enable_mpp_shared_cte_execution-从-v720-版本开始引入) | 启用非递归 CTE 下推到 TiFlash。 | 实验性特性。 | +| [`tidb_rc_read_check_ts`](/system-variables.md#tidb_rc_read_check_ts-从-v600-版本开始引入) | 在读已提交隔离级别下,避免获取全局时间戳,优化事务读延迟。 | 与可重复读隔离级别不兼容。 | +| [`tidb_guarantee_linearizability`](/system-variables.md#tidb_guarantee_linearizability-从-v50-版本开始引入) | 跳过从 PD 获取提交时间戳,提升性能,仅保证因果一致性。 | 不适用于需要严格线性一致性的场景。 | +| [`pd_enable_follower_handle_region`](/system-variables.md#pd_enable_follower_handle_region-从-v760-版本开始引入) | 启用 PD Follower 处理 Region 请求,均衡 PD 负载。 | 实验性特性,建议先测试。 | +| [`tidb_opt_fix_control`](/system-variables.md#tidb_opt_fix_control-从-v653-和-v710-版本开始引入) | 启用高级查询优化策略,提升查询性能。 | 不同负载效果不同,需充分测试。 | + +以下为优化器控制配置项的详细说明,这些配置项可启用额外的优化能力: + +- [`44262:ON`](/optimizer-fix-controls.md#44262-从-v653-和-v720-版本开始引入):当分区表缺少 [GlobalStats](/statistics.md#collect-statistics-of-partitioned-tables-in-dynamic-pruning-mode) 时,使用 [动态裁剪模式](/partitioned-table.md#dynamic-pruning-mode) 访问分区表。 +- [`44389:ON`](/optimizer-fix-controls.md#44389-从-v653-和-v720-版本开始引入):对于如 `c = 10 and (a = 'xx' or (a = 'kk' and b = 1))` 这样的过滤条件,为 `IndexRangeScan` 构建更全面的扫描范围。 +- [`44823:10000`](/optimizer-fix-controls.md#44823-从-v730-版本开始引入):为节省内存,计划缓存不会缓存参数数量超过该变量值的查询。将参数上限从默认的 `200` 提高到 `10000`,使带有超长 in-list 的查询也能命中计划缓存。 +- [`44830:ON`](/optimizer-fix-controls.md#44830-从-v657-和-v730-版本开始引入):允许计划缓存缓存物理优化阶段生成的包含 `PointGet` 算子的执行计划。 +- [`44855:ON`](/optimizer-fix-controls.md#44855-从-v654-和-v730-版本开始引入):当 `IndexJoin` 的 `Probe` 端包含 `Selection` 算子时,优化器可选择 `IndexJoin` 算子。 +- [`52869:ON`](/optimizer-fix-controls.md#52869-从-v810-版本开始引入):当优化器能为查询选择单一索引扫描(非全表扫描)时,自动选择索引合并(index merge)方式。 + +### TiKV 配置 + +在 TiKV 配置文件中添加如下内容: + +```toml +[server] +concurrent-send-snap-limit = 64 +concurrent-recv-snap-limit = 64 +snap-io-max-bytes-per-sec = "400MiB" + +[pessimistic-txn] +in-memory-peer-size-limit = "32MiB" +in-memory-instance-size-limit = "512MiB" + +[rocksdb] +max-manifest-file-size = "256MiB" +[rocksdb.titan] +enabled = true +[rocksdb.defaultcf.titan] +min-blob-size = "1KB" +blob-file-compression = "zstd" + +[storage] +scheduler-pending-write-threshold = "512MiB" +[storage.flow-control] +l0-files-threshold = 50 +soft-pending-compaction-bytes-limit = "512GiB" + +[rocksdb.writecf] +level0-slowdown-writes-trigger = 20 +soft-pending-compaction-bytes-limit = "192GiB" +[rocksdb.defaultcf] +level0-slowdown-writes-trigger = 20 +soft-pending-compaction-bytes-limit = "192GiB" +[rocksdb.lockcf] +level0-slowdown-writes-trigger = 20 +soft-pending-compaction-bytes-limit = "192GiB" +``` + +下表简要说明主要配置项及注意事项: + +| 配置项 | 说明 | 注意事项 | +| ---------| ---- | ----| +| [`concurrent-send-snap-limit`](/tikv-configuration-file.md#concurrent-send-snap-limit)、[`concurrent-recv-snap-limit`](/tikv-configuration-file.md#concurrent-recv-snap-limit)、[`snap-io-max-bytes-per-sec`](/tikv-configuration-file.md#snap-io-max-bytes-per-sec) | 设置 TiKV 扩容时快照并发传输和 I/O 带宽的上限。提高这些上限可以加快数据迁移速度,缩短扩容耗时。 | 需权衡扩容速度与在线业务性能。 | +| [`in-memory-peer-size-limit`](/tikv-configuration-file.md#in-memory-peer-size-limit-从-v840-版本开始引入)、[`in-memory-instance-size-limit`](/tikv-configuration-file.md#in-memory-instance-size-limit-从-v840-版本开始引入) | 控制悲观锁缓存的 Region 级和实例级内存分配,将锁存储在内存中可减少磁盘 I/O 并提升事务性能。 | 提高上限会增加内存消耗,需监控内存。 | +| [`rocksdb.max-manifest-file-size`](/tikv-configuration-file.md#max-manifest-file-size) | 设置 RocksDB Manifest 文件的最大大小。Manifest 文件记录 SST 文件和数据库状态变更的元数据。增大该值可减少 Manifest 文件重写的频率,从而降低其对前台写入性能的影响。 | 默认值为 `128MiB`。在存在大量 SST 文件(如数十万级别)的环境下,Manifest 文件频繁重写会影响写入性能。建议将该参数调高至 `256MiB` 或更大,以保持最佳性能。 | +| [`rocksdb.titan`](/tikv-configuration-file.md#rocksdbtitan)、[`rocksdb.defaultcf.titan`](/tikv-configuration-file.md#rocksdbdefaultcftitan)、[`min-blob-size`](/tikv-configuration-file.md#min-blob-size) 和 [`blob-file-compression`](/tikv-configuration-file.md#blob-file-compression) | 启用 Titan 存储引擎以降低写放大并缓解磁盘 I/O 瓶颈。适用于 RocksDB 压缩无法跟上写入压力、待压缩字节持续积压的场景。 | 仅当写放大成为主要瓶颈时建议开启。需权衡:1. 主键范围扫描可能受影响。2. 空间放大会增加(极端情况下最高 2 倍)。3. Blob 缓存会占用更多内存。 | +| [`storage.scheduler-pending-write-threshold`](/tikv-configuration-file.md#scheduler-pending-write-threshold) | 设置 TiKV 调度器写入队列的最大大小。当待写入任务的总大小超过该阈值时,TiKV 会拒绝新的写入请求并返回 `Server Is Busy` 错误。 | 默认值为 `100MiB`。在高并发写入或短时写入突发场景下,适当提高该阈值(如 `512MiB`)有助于缓解压力。但若写入队列持续积压并反复超限,可能说明存在底层性能瓶颈,需进一步排查。 | +| [`storage.flow-control.l0-files-threshold`](/tikv-configuration-file.md#l0-files-threshold) | 根据 kvDB L0 文件数量控制写入流控的触发时机。提高该阈值可在高写入负载下减少写入阻塞。 | 阈值过高时,若 L0 文件数量较多,可能导致更激进的压缩操作。 | +| [`storage.flow-control.soft-pending-compaction-bytes-limit`](/tikv-configuration-file.md#soft-pending-compaction-bytes-limit) | 控制待压缩字节数的软阈值,用于管理写入流控。超过软阈值后会部分拒绝写入请求。 | 默认软阈值为 `192GiB`。在写入密集型场景下,如果压缩进程跟不上,待压缩字节会持续积压,可能触发流控。适当调高该阈值可增加缓冲空间,但若持续积压,说明底层存在性能瓶颈,需进一步排查。 | +| [`rocksdb.(defaultcf\|writecf\|lockcf).level0-slowdown-writes-trigger`](/tikv-configuration-file.md#level0-slowdown-writes-trigger) [`rocksdb.(defaultcf\|writecf\|lockcf).soft-pending-compaction-bytes-limit`](/tikv-configuration-file.md#level0-slowdown-writes-trigger) | 需要手动将 `level0-slowdown-writes-trigger` 和 `soft-pending-compaction-bytes-limit` 设置回默认值,以避免受流控参数影响。同时,建议将 RocksDB 相关参数设置为默认值,以保持压缩效率。 | 详情参见 [Issue 18708](https://github.com/tikv/tikv/issues/18708)。 | + +请注意,上述表格中的压缩与流控参数调整,主要适用于以下规格的 TiKV 部署实例: + +- CPU:32 核 +- 内存:128 GiB +- 存储:5 TiB EBS +- 磁盘吞吐:1 GiB/s + +#### 写入密集型负载推荐调整 + +为优化 TiKV 在写入密集型负载下的性能与稳定性,建议根据实例的硬件规格,调整部分压缩与流控参数。例如: + +- [`rocksdb.rate-bytes-per-sec`](/tikv-configuration-file.md#rate-bytes-per-sec):通常建议保持默认值。如果发现压缩 I/O 占用了大量磁盘带宽,可将该速率限制为磁盘最大吞吐量的约 60%,以平衡压缩与前台写入,避免磁盘饱和。例如,若磁盘吞吐为 **1 GiB/s**,可设置为约 `600MiB`。 + +- [`storage.flow-control.soft-pending-compaction-bytes-limit`](/tikv-configuration-file.md#soft-pending-compaction-bytes-limit-1) 和 [`storage.flow-control.hard-pending-compaction-bytes-limit`](/tikv-configuration-file.md#hard-pending-compaction-bytes-limit-1):可根据磁盘空间适当提高这两个阈值(如分别设置为 1 TiB 和 2 TiB),为压缩进程提供更大的缓冲空间。 + +这些设置有助于提升资源利用率,并在高峰写入期间减少潜在瓶颈。 + +> **注意:** +> +TiKV 在调度层实现了流控机制,以保障系统稳定性。当关键阈值(如待压缩字节数或写入队列大小)被突破时,TiKV 会拒绝新的写入请求,并返回 `ServerIsBusy` 错误。这通常意味着后台压缩进程无法跟上前台写入的速度。流控触发后,系统会出现延迟抖动和 QPS(吞吐量)下降等现象。为避免此类性能退化,建议提前做好容量规划,并合理配置压缩参数和存储设置。 + +### TiFlash 配置 + +在 TiFlash 配置文件中添加如下内容: + +```toml +[raftstore-proxy.server] +snap-io-max-bytes-per-sec = "300MiB" +``` + +| 配置项 | 说明 | 注意事项 | +| ---------| ---- | ----| +| [`snap-io-max-bytes-per-sec`](/tikv-configuration-file.md#snap-io-max-bytes-per-sec) | 控制从 TiKV 到 TiFlash 的数据复制时允许使用的最大磁盘带宽。提高该值可以加快初始数据加载和追赶同步的速度。 | 带宽占用增加可能影响在线业务性能,请在同步速度与系统稳定性之间进行合理权衡。 | + +## Benchmark + +本节对比了默认配置(基线)与基于前文[常见负载的关键配置](#常见负载的关键配置)优化后的性能表现。 + +### Sysbench workloads on 1000 tables + +#### 测试环境 + +测试环境如下: + +- 3 台 TiDB 服务器(16 核 CPU,64 GiB 内存) +- 3 台 TiKV 服务器(16 核 CPU,64 GiB 内存) +- TiDB 版本:v8.4.0 +- 测试负载:[sysbench oltp_read_only](https://github.com/akopytov/sysbench/blob/master/src/lua/oltp_read_only.lua) + +#### 性能对比 + +下表对比了基线配置与优化配置下的吞吐量、延迟和执行计划缓存命中率。 + +| 指标 | 基线配置 | 优化配置 | 提升幅度 | +| ---------| ---- | ----| ----| +| QPS | 89,100 | 100,128 | +12.38% | +| 平均延迟(毫秒)| 35.87 | 31.92 | -11.01% | +| P95 延迟(毫秒)| 58.92 | 51.02 | -13.41% | +| 执行计划缓存命中率(%) | 56.89% | 87.51% | +53.82% | +| 计划缓存内存占用(MiB) | 95.3 | 70.2 | -26.34% | + +#### 主要优势 + +实例级执行计划缓存(Instance Plan Cache)相比基线配置带来了显著的性能提升: + +- 更高的命中率:提升 53.82%(从 56.89% 增加到 87.51%)。 +- 更低的内存占用:降低 26.34%(从 95.3 MiB 降至 70.2 MiB)。 +- 更优的性能表现: + + - QPS 提升 12.38%。 + - 平均延迟降低 11.01%。 + - P95 延迟降低 13.41%。 + +#### 工作原理 + +实例级执行计划缓存通过以下机制提升性能: + +- 将 `SELECT` 语句的执行计划缓存在内存中。 +- 在同一 TiDB 实例的所有连接(最多 200 个)之间共享缓存的执行计划。 +- 可高效存储多达 1000 张表、5000 条 `SELECT` 语句的执行计划。 +- 仅 `BEGIN` 和 `COMMIT` 语句会出现缓存未命中的情况。 + +#### 实际应用收益 + +虽然基于简单 sysbench `oltp_read_only` 查询(每个执行计划约 14 KB)的基准测试仅显示了有限的提升,但在真实业务场景下,实例级执行计划缓存的收益会更显著: + +- 复杂查询的执行速度可提升至原来的 20 倍。 +- 相比会话级计划缓存,内存利用率更高。 + +实例级执行计划缓存特别适用于以下场景: + +- 拥有大量列的大表。 +- 复杂的 SQL 查询。 +- 高并发连接。 +- 多样化的查询模式。 + +#### 内存效率 + +实例级执行计划缓存(Instance Plan Cache)相比会话级计划缓存(Session Plan Cache)具有更高的内存利用率,原因如下: + +- 执行计划在所有连接间共享 +- 无需为每个会话重复存储执行计划 +- 能以更少的内存实现更高的命中率 + +在多连接和复杂查询场景下,若使用会话级计划缓存,为达到类似命中率需消耗更多内存,因此实例级计划缓存更高效。 + +![Instance plan cache: Queries Using Plan Cache OPS](/media/performance/instance-plan-cache.png) + +#### 测试负载 + +以下 `sysbench oltp_read_only prepare` 命令用于加载数据: + +```bash +sysbench oltp_read_only prepare --mysql-host={host} --mysql-port={port} --mysql-user=root --db-driver=mysql --mysql-db=test --threads=100 --time=900 --report-interval=10 --tables=1000 --table-size=10000 +``` + +以下 `sysbench oltp_read_only run` 命令用于运行测试负载: + +```bash +sysbench oltp_read_only run --mysql-host={host} --mysql-port={port} --mysql-user=root --db-driver=mysql --mysql-db=test --threads=200 --time=900 --report-interval=10 --tables=1000 --table-size=10000 +``` + +更多信息,请参阅[如何用 Sysbench 测试 TiDB](/benchmark/benchmark-tidb-using-sysbench.md)。 + +### 大记录值下的 YCSB 测试负载 + +#### 测试环境 + +测试环境如下: + +- 3 台 TiDB 服务器(16 核 CPU,64 GiB 内存) +- 3 台 TiKV 服务器(16 核 CPU,64 GiB 内存) +- TiDB 版本:v8.4.0 +- 测试负载:[go-ycsb workloada](https://github.com/pingcap/go-ycsb/blob/master/workloads/workloada) +#### 性能对比 + +下表对比了基线配置与优化配置下的吞吐量(每秒操作数,OPS)。 + +| 指标 | 基线配置(OPS) | 优化配置(OPS) | 提升幅度 | +| ---------| ---- | ----| ----| +| 加载数据 | 2858.5 | 5074.3 | +77.59% | +| workloada | 2243.0 | 12804.3 | +470.86% | +#### 性能分析 + +自 v7.6.0 起,Titan 默认启用,TiDB v8.4.0 中 Titan 的默认 `min-blob-size` 为 `32KiB`。基线配置采用 `31KiB` 的记录大小,确保数据存储在 RocksDB 中。而在关键配置中,将 `min-blob-size` 设置为 `1KiB`,使数据存储在 Titan。 + +关键配置下的性能提升,主要归因于 Titan 显著减少了 RocksDB 的压缩操作。如下图所示: + +- 基线配置:RocksDB 压缩总吞吐量超过 1 GiB/s,峰值超过 3 GiB/s。 +- 关键配置:RocksDB 压缩峰值吞吐量低于 100 MiB/s。 + +压缩开销的大幅降低,是关键配置下整体吞吐量提升的主要原因。 + +![Titan RocksDB compaction:](/media/performance/titan-rocksdb-compactions.png) + +#### 测试负载 + +以下 `go-ycsb load` 命令用于加载数据: + +```bash +go-ycsb load mysql -P /ycsb/workloads/workloada -p {host} -p mysql.port={port} -p threadcount=100 -p recordcount=5000000 -p operationcount=5000000 -p workload=core -p requestdistribution=uniform -pfieldcount=31 -p fieldlength=1024 +``` + +以下 `go-ycsb run` 命令用于运行测试负载: + +```bash +go-ycsb run mysql -P /ycsb/workloads/workloada -p {host} -p mysql.port={port} -p mysql.db=test -p threadcount=100 -p recordcount=5000000 -p operationcount=5000000 -p workload=core -prequestdistribution=uniform -p fieldcount=31 -p fieldlength=1024 +``` + +## 边缘场景与专项优化 + +本节介绍如何针对特定场景进行专项优化,超越基础参数调优,帮助你根据实际业务需求对 TiDB 进行更有针对性的配置和调整。 + +### 识别边缘场景 + +要识别边缘场景,请执行以下步骤: + +1. 分析查询模式和负载特征。 +2. 监控系统指标,定位性能瓶颈。 +3. 收集应用团队关于具体问题的反馈。 + +### 常见边缘场景 + +以下列举了一些常见的边缘场景: + +- 高频小查询导致 TSO 等待时间过高 +- 针对不同负载选择合适的最大 chunk 大小 +- 针对读密集型负载调优 coprocessor cache +- 根据负载特性优化 chunk 大小 +- 针对不同负载优化事务模式和 DML 类型 +- 通过 TiKV 下推优化 `GROUP BY` 和 `DISTINCT` 操作 +- 使用内存引擎缓解 MVCC 版本积压 +- 批量操作期间优化统计信息收集 +- 针对不同实例类型优化线程池设置 + +后续小节将分别介绍如何应对这些场景。针对每种情况,你需要调整不同参数或使用 TiDB 的特定功能。 + +> **注意:** +> +> 请谨慎应用这些优化措施,并在生产环境部署前充分测试,因为其效果会因业务场景和数据特性而异。 + +### 高频小查询导致 TSO 等待时间过高 + +#### 问题排查 + +如果你的业务负载包含大量高频小事务或频繁请求时间戳的查询,[TSO(Timestamp Oracle)](/glossary.md#timestamp-oracle-tso) 可能成为性能瓶颈。你可以通过 [**Performance Overview > SQL Execute Time Overview**](/grafana-performance-overview-dashboard.md#sql-execute-time-overview) 面板检查 TSO 等待时间是否占据 SQL 执行时间的较大比例。如果 TSO 等待时间较高,可考虑以下优化措施: + +- 对于不需要严格一致性的读操作,启用低精度 TSO([`tidb_low_resolution_tso`](/system-variables.md#tidb_low_resolution_tso))。详见 [方案 1:低精度 TSO](#方案-1-低精度-TSO)。 +- 尽量将多个小事务合并为较大的事务。详见 [方案 2:TSO 请求并行模式](#方案-2-TSO-请求并行模式)。 +#### 方案 1:低精度 TSO + +你可以通过启用低精度 TSO 功能([`tidb_low_resolution_tso`](/system-variables.md#tidb_low_resolution_tso))来减少 TSO 等待时间。启用后,TiDB 会使用缓存的时间戳进行读取,从而降低 TSO 等待,但可能会读取到略微过时的数据。 + +此优化特别适用于以下场景: + +- 读为主的负载,且对数据新鲜度要求不高。 +- 对查询延迟要求高于绝对一致性的场景。 +- 应用可以容忍读取到几秒内的历史数据。 + +优势与权衡: + +- 通过使用缓存的 TSO 实现延迟读取,减少每次查询获取新时间戳的开销,从而降低查询延迟。 +- 适用于可接受一定程度数据延迟的场景,不建议在强一致性要求下使用。 + +启用方法: + +```sql +SET GLOBAL tidb_low_resolution_tso=ON; +``` +#### 方案 2:TSO 请求并行模式 + +[`tidb_tso_client_rpc_mode`](/system-variables.md#tidb_tso_client_rpc_mode-从-v840-版本开始引入) 系统变量用于切换 TiDB 向 PD 发送 TSO RPC 请求的模式。默认值为 `DEFAULT`。当满足以下条件时,可以考虑将该变量切换为 `PARALLEL` 或 `PARALLEL-FAST`,以获得潜在的性能提升: + +- TSO 等待时间在 SQL 查询总执行时间中占比较高。 +- PD 的 TSO 分配尚未成为瓶颈。 +- PD 和 TiDB 节点的 CPU 资源充足。 +- TiDB 与 PD 之间的网络延迟明显高于 PD 分配 TSO 的耗时(即,TSO RPC 的耗时主要由网络延迟决定)。 + - 可通过 Grafana TiDB 面板的 **PD Client > PD TSO RPC Duration** 查看 TSO RPC 请求耗时。 + - 可通过 Grafana PD 面板的 **TiDB > PD server TSO handle duration** 查看 PD 分配 TSO 的耗时。 +- TiDB 与 PD 之间因更多 TSO RPC 请求(`PARALLEL` 模式下为 2 倍,`PARALLEL-FAST` 模式下为 4 倍)带来的额外网络流量在可接受范围内。 + +切换并行模式的方法如下: + +```sql +-- Use the PARALLEL mode +SET GLOBAL tidb_tso_client_rpc_mode=PARALLEL; + +-- Use the PARALLEL-FAST mode +SET GLOBAL tidb_tso_client_rpc_mode=PARALLEL-FAST; +``` + +### 针对读密集型负载调优下推计算结果缓存(Coprocessor Cache) + +通过优化[下推计算结果缓存](/coprocessor-cache.md),可以提升读密集型负载下的查询性能。该缓存用于存储协处理器请求的结果,减少对热点数据的重复计算。优化建议如下: + +1. 通过[下推计算结果缓存](/coprocessor-cache.md#view-the-grafana-monitoring-panel)监控面板观察缓存命中率。 +2. 增大缓存容量,以提升大工作集下的命中率。 +3. 根据查询模式调整缓存准入阈值。 + +以下为读密集型负载推荐配置: + +```toml +[tikv-client.copr-cache] +capacity-mb = 4096 +admission-max-ranges = 5000 +admission-max-result-mb = 10 +admission-min-process-ms = 0 +``` + +### 根据负载特性优化 chunk 大小 + +[`tidb_max_chunk_size`](/system-variables.md#tidb_max_chunk_size) 系统变量用于设置执行过程中每个 chunk 的最大行数。根据不同负载调整该值,可提升查询性能。 + +- 对于高并发、小事务的 OLTP 负载: + + - 建议设置为 `128`~`256`(默认值为 `1024`)。 + - 可降低内存占用,加快 limit 查询。 + - 适用场景:点查、小范围扫描。 + + ```sql + SET GLOBAL tidb_max_chunk_size = 128; + ``` + +- 对于复杂查询、大结果集的 OLAP 或分析型负载: + + - 建议设置为 `1024`~`4096`。 + - 扫描大量数据时可提升吞吐量。 + - 适用场景:聚合、大表扫描。 + + ```sql + SET GLOBAL tidb_max_chunk_size = 4096; + ``` + +### 针对不同负载优化事务模式与 DML 类型 + +TiDB 提供多种事务模式和 DML 执行类型,你可以根据不同负载模式优化性能。 +#### 事务模式 + +你可以通过 [`tidb_txn_mode`](/system-variables.md#tidb_txn_mode) 系统变量设置事务模式。 + +- [悲观事务模式](/pessimistic-transaction.md)(默认): + + - 适用于可能存在写冲突的一般负载。 + - 提供更强的一致性保障。 + + ```sql + SET SESSION tidb_txn_mode = "pessimistic"; + ``` + +- [乐观事务模式](/optimistic-transaction.md): + + - 适用于写冲突较少的负载。 + - 多语句事务下性能更优。 + - 示例:`BEGIN; INSERT...; INSERT...; COMMIT;`。 + + ```sql + SET SESSION tidb_txn_mode = "optimistic"; + ``` +#### DML 类型 + +你可以通过 [`tidb_dml_type`](/system-variables.md#tidb_dml_type-从-v800-版本开始引入) 系统变量(自 v8.0.0 引入)控制 DML 语句的执行模式。 + +如需使用批量 DML 执行模式,将 `tidb_dml_type` 设置为 `"bulk"`。该模式适用于无冲突的大批量数据写入,可降低大规模写入时的内存消耗。使用前请确保: + +- 已开启自动提交(auto-commit)。 +- [`pessimistic-auto-commit`](/tidb-configuration-file.md#pessimistic-auto-commit-new-in-v600) 配置项设置为 `false`。 + +```sql +SET SESSION tidb_dml_type = "bulk"; +``` + +### 通过 TiKV 下推优化 `GROUP BY` 和 `DISTINCT` 操作 + +TiDB 支持将聚合操作下推到 TiKV 层执行,以减少数据传输和处理开销。性能提升幅度取决于数据分布和查询特征。 + +#### 适用场景 + +- **理想场景**(性能提升明显): + - 分组列的基数较低(NDV 较小)。 + - 数据中存在大量重复值。 + - 典型示例:状态字段、类别编码、日期分组等。 + +- **非理想场景**(可能出现性能下降): + - 分组列的基数很高(NDV 较大)。 + - 唯一标识符或时间戳等几乎无重复值的列。 + - 典型示例:用户 ID、交易 ID 等。 + +#### 配置方法 + +可在会话级或全局级别启用聚合下推优化: + +```sql +-- Enable regular aggregation pushdown +SET GLOBAL tidb_opt_agg_push_down = ON; + +-- Enable distinct aggregation pushdown +SET GLOBAL tidb_opt_distinct_agg_push_down = ON; +``` + +### 使用内存引擎缓解 MVCC 版本积压 + +在高读写热点区域或垃圾回收、压缩不及时的情况下,过多的 MVCC 版本会导致性能瓶颈。自 v8.5.0 起,你可以通过启用[TiKV MVCC 内存引擎](/tikv-in-memory-engine.md)来缓解该问题。只需在 TiKV 配置文件中添加如下内容: + +> **注意:** +> +> 内存引擎有助于降低 MVCC 版本积压带来的影响,但会增加内存消耗。启用后请关注系统内存使用情况。 + +```toml +[in-memory-engine] +enable = true +``` + +### 在批量操作期间优化统计信息收集 + +通过管理统计信息的收集方式,可以在保持查询优化能力的同时提升批量操作的性能。本节介绍如何有效管理该过程。 + +### 何时关闭自动统计信息分析(auto analyze) + +在以下场景中,可以通过将系统变量 [`tidb_enable_auto_analyze`](/system-variables.md#tidb_enable_auto_analyze-从-v610-版本开始引入) 设置为 `OFF` 来关闭自动统计信息分析: + +- 进行大规模数据导入时。 +- 执行批量更新操作时。 +- 处理对时间敏感的批处理任务时。 +- 需要完全控制统计信息收集时机时。 + +#### 最佳实践 + +- 批量操作之前: + + ```sql + -- Disable auto analyze + SET GLOBAL tidb_enable_auto_analyze = OFF; + ``` + +- 批量操作之后: + + ```sql + -- Manually collect statistics + ANALYZE TABLE your_table; + + -- Re-enable auto analyze + SET GLOBAL tidb_enable_auto_analyze = ON; + ``` + +### 为不同实例类型优化线程池设置 + +为提升 TiKV 的性能,应根据实例的 CPU 资源配置线程池。你可以参考以下指南进行优化: + +- 对于 8 至 16 核的实例,默认设置通常已经足够。 + +- 对于 32 核及以上的实例,建议增大线程池大小,以更充分地利用资源。可按如下方式调整设置: + + ```toml + [server] + # Increase gRPC thread pool + grpc-concurrency = 10 + + [raftstore] + # Optimize for write-intensive workloads + apply-pool-size = 4 + store-pool-size = 4 + store-io-pool-size = 2 + ``` From 58509fdc79fc7b7b428af1f552ac6908fa405dc0 Mon Sep 17 00:00:00 2001 From: houfaxin Date: Mon, 4 Aug 2025 13:31:12 +0800 Subject: [PATCH 02/15] Update tidb-performance-tuning-config.md --- tidb-performance-tuning-config.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tidb-performance-tuning-config.md b/tidb-performance-tuning-config.md index a4f0c3746e37..9c543bbb22c5 100644 --- a/tidb-performance-tuning-config.md +++ b/tidb-performance-tuning-config.md @@ -170,7 +170,7 @@ snap-io-max-bytes-per-sec = "300MiB" 本节对比了默认配置(基线)与基于前文[常见负载的关键配置](#常见负载的关键配置)优化后的性能表现。 -### Sysbench workloads on 1000 tables +### 在 1000 张表上运行的 Sysbench 负载 #### 测试环境 @@ -266,6 +266,7 @@ sysbench oltp_read_only run --mysql-host={host} --mysql-port={port} --mysql-user - 3 台 TiKV 服务器(16 核 CPU,64 GiB 内存) - TiDB 版本:v8.4.0 - 测试负载:[go-ycsb workloada](https://github.com/pingcap/go-ycsb/blob/master/workloads/workloada) + #### 性能对比 下表对比了基线配置与优化配置下的吞吐量(每秒操作数,OPS)。 @@ -274,6 +275,7 @@ sysbench oltp_read_only run --mysql-host={host} --mysql-port={port} --mysql-user | ---------| ---- | ----| ----| | 加载数据 | 2858.5 | 5074.3 | +77.59% | | workloada | 2243.0 | 12804.3 | +470.86% | + #### 性能分析 自 v7.6.0 起,Titan 默认启用,TiDB v8.4.0 中 Titan 的默认 `min-blob-size` 为 `32KiB`。基线配置采用 `31KiB` 的记录大小,确保数据存储在 RocksDB 中。而在关键配置中,将 `min-blob-size` 设置为 `1KiB`,使数据存储在 Titan。 @@ -341,6 +343,7 @@ go-ycsb run mysql -P /ycsb/workloads/workloada -p {host} -p mysql.port={port} -p - 对于不需要严格一致性的读操作,启用低精度 TSO([`tidb_low_resolution_tso`](/system-variables.md#tidb_low_resolution_tso))。详见 [方案 1:低精度 TSO](#方案-1-低精度-TSO)。 - 尽量将多个小事务合并为较大的事务。详见 [方案 2:TSO 请求并行模式](#方案-2-TSO-请求并行模式)。 + #### 方案 1:低精度 TSO 你可以通过启用低精度 TSO 功能([`tidb_low_resolution_tso`](/system-variables.md#tidb_low_resolution_tso))来减少 TSO 等待时间。启用后,TiDB 会使用缓存的时间戳进行读取,从而降低 TSO 等待,但可能会读取到略微过时的数据。 @@ -361,6 +364,7 @@ go-ycsb run mysql -P /ycsb/workloads/workloada -p {host} -p mysql.port={port} -p ```sql SET GLOBAL tidb_low_resolution_tso=ON; ``` + #### 方案 2:TSO 请求并行模式 [`tidb_tso_client_rpc_mode`](/system-variables.md#tidb_tso_client_rpc_mode-从-v840-版本开始引入) 系统变量用于切换 TiDB 向 PD 发送 TSO RPC 请求的模式。默认值为 `DEFAULT`。当满足以下条件时,可以考虑将该变量切换为 `PARALLEL` 或 `PARALLEL-FAST`,以获得潜在的性能提升: @@ -428,6 +432,7 @@ admission-min-process-ms = 0 ### 针对不同负载优化事务模式与 DML 类型 TiDB 提供多种事务模式和 DML 执行类型,你可以根据不同负载模式优化性能。 + #### 事务模式 你可以通过 [`tidb_txn_mode`](/system-variables.md#tidb_txn_mode) 系统变量设置事务模式。 @@ -450,6 +455,7 @@ TiDB 提供多种事务模式和 DML 执行类型,你可以根据不同负载 ```sql SET SESSION tidb_txn_mode = "optimistic"; ``` + #### DML 类型 你可以通过 [`tidb_dml_type`](/system-variables.md#tidb_dml_type-从-v800-版本开始引入) 系统变量(自 v8.0.0 引入)控制 DML 语句的执行模式。 From ead4b95ea61cdfb7be6a9cf6b52cfb7dbf0faa57 Mon Sep 17 00:00:00 2001 From: houfaxin Date: Mon, 4 Aug 2025 13:47:33 +0800 Subject: [PATCH 03/15] Update tidb-performance-tuning-config.md --- tidb-performance-tuning-config.md | 1 + 1 file changed, 1 insertion(+) diff --git a/tidb-performance-tuning-config.md b/tidb-performance-tuning-config.md index 9c543bbb22c5..0af3a2ec20c7 100644 --- a/tidb-performance-tuning-config.md +++ b/tidb-performance-tuning-config.md @@ -1,6 +1,7 @@ --- title: 配置 TiDB 以优化性能 summary: 了解如何通过配置关键参数和应对边缘场景来优化 TiDB 性能。 +--- # 配置 TiDB 以优化性能 From 1edf48091f364f80a50b2380fc9ac94170f4b5e4 Mon Sep 17 00:00:00 2001 From: houfaxin Date: Mon, 4 Aug 2025 14:42:31 +0800 Subject: [PATCH 04/15] Update tidb-performance-tuning-config.md --- tidb-performance-tuning-config.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tidb-performance-tuning-config.md b/tidb-performance-tuning-config.md index 0af3a2ec20c7..4bf7a255a5e5 100644 --- a/tidb-performance-tuning-config.md +++ b/tidb-performance-tuning-config.md @@ -61,7 +61,7 @@ SET GLOBAL tidb_opt_fix_control = '44262:ON,44389:ON,44823:10000,44830:ON,44855: | [`tidb_enable_instance_plan_cache`](/system-variables.md#tidb_enable_instance_plan_cache-从-v840-版本开始引入) 和 [`tidb_instance_plan_cache_max_size`](/system-variables.md#tidb_instance_plan_cache_max_size-从-v840-版本开始引入) | 启用实例级计划缓存,适合高并发连接或频繁使用预处理语句的场景。 | 实验性特性,建议先在测试环境验证,并关注内存占用。 | | [`tidb_enable_non_prepared_plan_cache`](/system-variables.md#tidb_enable_non_prepared_plan_cache) | 启用非预处理计划缓存,降低不使用预处理语句应用的编译开销。 | 无 | | [`tidb_ignore_prepared_cache_close_stmt`](/system-variables.md#tidb_ignore_prepared_cache_close_stmt-从-v600-版本开始引入) | 针对每次执行后关闭计划的应用,缓存其计划。 | 无 | -| [`tidb_analyze_column_options`](/system-variables.md#tidb_analyze_column_options-new-in-v830) | 收集所有列的统计信息,避免因缺失统计导致执行计划不佳。 | 设为 `'ALL'` 会增加 `ANALYZE TABLE` 的资源消耗。 | +| [`tidb_analyze_column_options`](/system-variables.md#tidb_analyze_column_options-从-v830-版本开始引入) | 收集所有列的统计信息,避免因缺失统计导致执行计划不佳。 | 设为 `'ALL'` 会增加 `ANALYZE TABLE` 的资源消耗。 | | [`tidb_stats_load_sync_wait`](/system-variables.md#tidb_stats_load_sync_wait-从-v540-版本开始引入) | 将同步加载统计信息的超时时间从默认 100ms 提高到 2s,确保编译前加载完毕。 | 超时时间增加,编译等待时间变长。 | | [`tidb_opt_limit_push_down_threshold`](/system-variables.md#tidb_opt_limit_push_down_threshold) | 提高 `Limit` 或 `TopN` 下推到 TiKV 的阈值。 | 提高后优化器更倾向选择能优化 `ORDER BY` 和 `Limit` 的索引。 | | [`tidb_opt_derive_topn`](/system-variables.md#tidb_opt_derive_topn-从-v700-版本开始引入) | 启用从窗口函数派生 TopN/Limit 的优化,仅适用于 `ROW_NUMBER()`。 | 仅支持 `ROW_NUMBER()`。 | @@ -74,7 +74,7 @@ SET GLOBAL tidb_opt_fix_control = '44262:ON,44389:ON,44823:10000,44830:ON,44855: 以下为优化器控制配置项的详细说明,这些配置项可启用额外的优化能力: -- [`44262:ON`](/optimizer-fix-controls.md#44262-从-v653-和-v720-版本开始引入):当分区表缺少 [GlobalStats](/statistics.md#collect-statistics-of-partitioned-tables-in-dynamic-pruning-mode) 时,使用 [动态裁剪模式](/partitioned-table.md#dynamic-pruning-mode) 访问分区表。 +- [`44262:ON`](/optimizer-fix-controls.md#44262-从-v653-和-v720-版本开始引入):当分区表缺少 [GlobalStats](/statistics.md#收集动态裁剪模式下的分区表统计信息) 时,使用 [动态裁剪模式](/partitioned-table.md#动态裁剪模式) 访问分区表。 - [`44389:ON`](/optimizer-fix-controls.md#44389-从-v653-和-v720-版本开始引入):对于如 `c = 10 and (a = 'xx' or (a = 'kk' and b = 1))` 这样的过滤条件,为 `IndexRangeScan` 构建更全面的扫描范围。 - [`44823:10000`](/optimizer-fix-controls.md#44823-从-v730-版本开始引入):为节省内存,计划缓存不会缓存参数数量超过该变量值的查询。将参数上限从默认的 `200` 提高到 `10000`,使带有超长 in-list 的查询也能命中计划缓存。 - [`44830:ON`](/optimizer-fix-controls.md#44830-从-v657-和-v730-版本开始引入):允许计划缓存缓存物理优化阶段生成的包含 `PointGet` 算子的执行计划。 @@ -342,8 +342,8 @@ go-ycsb run mysql -P /ycsb/workloads/workloada -p {host} -p mysql.port={port} -p 如果你的业务负载包含大量高频小事务或频繁请求时间戳的查询,[TSO(Timestamp Oracle)](/glossary.md#timestamp-oracle-tso) 可能成为性能瓶颈。你可以通过 [**Performance Overview > SQL Execute Time Overview**](/grafana-performance-overview-dashboard.md#sql-execute-time-overview) 面板检查 TSO 等待时间是否占据 SQL 执行时间的较大比例。如果 TSO 等待时间较高,可考虑以下优化措施: -- 对于不需要严格一致性的读操作,启用低精度 TSO([`tidb_low_resolution_tso`](/system-variables.md#tidb_low_resolution_tso))。详见 [方案 1:低精度 TSO](#方案-1-低精度-TSO)。 -- 尽量将多个小事务合并为较大的事务。详见 [方案 2:TSO 请求并行模式](#方案-2-TSO-请求并行模式)。 +- 对于不需要严格一致性的读操作,启用低精度 TSO([`tidb_low_resolution_tso`](/system-variables.md#tidb_low_resolution_tso))。详见 [方案 1:低精度 TSO](#方案-1低精度-TSO)。 +- 尽量将多个小事务合并为较大的事务。详见 [方案 2:TSO 请求并行模式](#方案-2TSO-请求并行模式)。 #### 方案 1:低精度 TSO @@ -392,7 +392,7 @@ SET GLOBAL tidb_tso_client_rpc_mode=PARALLEL-FAST; 通过优化[下推计算结果缓存](/coprocessor-cache.md),可以提升读密集型负载下的查询性能。该缓存用于存储协处理器请求的结果,减少对热点数据的重复计算。优化建议如下: -1. 通过[下推计算结果缓存](/coprocessor-cache.md#view-the-grafana-monitoring-panel)监控面板观察缓存命中率。 +1. 通过[下推计算结果缓存](/coprocessor-cache.md#查看-grafana-监控面板)监控面板观察缓存命中率。 2. 增大缓存容量,以提升大工作集下的命中率。 3. 根据查询模式调整缓存准入阈值。 @@ -464,7 +464,7 @@ TiDB 提供多种事务模式和 DML 执行类型,你可以根据不同负载 如需使用批量 DML 执行模式,将 `tidb_dml_type` 设置为 `"bulk"`。该模式适用于无冲突的大批量数据写入,可降低大规模写入时的内存消耗。使用前请确保: - 已开启自动提交(auto-commit)。 -- [`pessimistic-auto-commit`](/tidb-configuration-file.md#pessimistic-auto-commit-new-in-v600) 配置项设置为 `false`。 +- [`pessimistic-auto-commit`](/tidb-configuration-file.md#pessimistic-auto-commit-从-v600-版本开始引入) 配置项设置为 `false`。 ```sql SET SESSION tidb_dml_type = "bulk"; From 900245d300b85129866dc2d1fbd4800763f03582 Mon Sep 17 00:00:00 2001 From: houfaxin Date: Mon, 4 Aug 2025 14:43:24 +0800 Subject: [PATCH 05/15] Update tidb-performance-tuning-config.md --- tidb-performance-tuning-config.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tidb-performance-tuning-config.md b/tidb-performance-tuning-config.md index 4bf7a255a5e5..b71f02f891cd 100644 --- a/tidb-performance-tuning-config.md +++ b/tidb-performance-tuning-config.md @@ -74,7 +74,7 @@ SET GLOBAL tidb_opt_fix_control = '44262:ON,44389:ON,44823:10000,44830:ON,44855: 以下为优化器控制配置项的详细说明,这些配置项可启用额外的优化能力: -- [`44262:ON`](/optimizer-fix-controls.md#44262-从-v653-和-v720-版本开始引入):当分区表缺少 [GlobalStats](/statistics.md#收集动态裁剪模式下的分区表统计信息) 时,使用 [动态裁剪模式](/partitioned-table.md#动态裁剪模式) 访问分区表。 +- [`44262:ON`](/optimizer-fix-controls.md#44262-从-v653-和-v720-版本开始引入):当分区表缺少 [GlobalStats](/statistics.md#收集动态裁剪模式下的分区表统计信息) 时,使用[动态裁剪模式](/partitioned-table.md#动态裁剪模式)访问分区表。 - [`44389:ON`](/optimizer-fix-controls.md#44389-从-v653-和-v720-版本开始引入):对于如 `c = 10 and (a = 'xx' or (a = 'kk' and b = 1))` 这样的过滤条件,为 `IndexRangeScan` 构建更全面的扫描范围。 - [`44823:10000`](/optimizer-fix-controls.md#44823-从-v730-版本开始引入):为节省内存,计划缓存不会缓存参数数量超过该变量值的查询。将参数上限从默认的 `200` 提高到 `10000`,使带有超长 in-list 的查询也能命中计划缓存。 - [`44830:ON`](/optimizer-fix-controls.md#44830-从-v657-和-v730-版本开始引入):允许计划缓存缓存物理优化阶段生成的包含 `PointGet` 算子的执行计划。 From 1ecc0a2662edb4ab21f0a467aae585974faa1533 Mon Sep 17 00:00:00 2001 From: houfaxin Date: Mon, 4 Aug 2025 14:52:39 +0800 Subject: [PATCH 06/15] Update tidb-performance-tuning-config.md --- tidb-performance-tuning-config.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tidb-performance-tuning-config.md b/tidb-performance-tuning-config.md index b71f02f891cd..820bd1d5c960 100644 --- a/tidb-performance-tuning-config.md +++ b/tidb-performance-tuning-config.md @@ -342,8 +342,8 @@ go-ycsb run mysql -P /ycsb/workloads/workloada -p {host} -p mysql.port={port} -p 如果你的业务负载包含大量高频小事务或频繁请求时间戳的查询,[TSO(Timestamp Oracle)](/glossary.md#timestamp-oracle-tso) 可能成为性能瓶颈。你可以通过 [**Performance Overview > SQL Execute Time Overview**](/grafana-performance-overview-dashboard.md#sql-execute-time-overview) 面板检查 TSO 等待时间是否占据 SQL 执行时间的较大比例。如果 TSO 等待时间较高,可考虑以下优化措施: -- 对于不需要严格一致性的读操作,启用低精度 TSO([`tidb_low_resolution_tso`](/system-variables.md#tidb_low_resolution_tso))。详见 [方案 1:低精度 TSO](#方案-1低精度-TSO)。 -- 尽量将多个小事务合并为较大的事务。详见 [方案 2:TSO 请求并行模式](#方案-2TSO-请求并行模式)。 +- 对于不需要严格一致性的读操作,启用低精度 TSO([`tidb_low_resolution_tso`](/system-variables.md#tidb_low_resolution_tso))。详见 [方案 1:低精度 TSO](#方案-1低精度-tso)。 +- 尽量将多个小事务合并为较大的事务。详见 [方案 2:TSO 请求并行模式](#方案-2tso-请求并行模式)。 #### 方案 1:低精度 TSO @@ -464,7 +464,7 @@ TiDB 提供多种事务模式和 DML 执行类型,你可以根据不同负载 如需使用批量 DML 执行模式,将 `tidb_dml_type` 设置为 `"bulk"`。该模式适用于无冲突的大批量数据写入,可降低大规模写入时的内存消耗。使用前请确保: - 已开启自动提交(auto-commit)。 -- [`pessimistic-auto-commit`](/tidb-configuration-file.md#pessimistic-auto-commit-从-v600-版本开始引入) 配置项设置为 `false`。 +- [`pessimistic-auto-commit`](/tidb-configuration-file.md#pessimistic-auto-commit) 配置项设置为 `false`。 ```sql SET SESSION tidb_dml_type = "bulk"; From 5a5a15f470a2f0c5bbe63db5f6f192684436be20 Mon Sep 17 00:00:00 2001 From: houfaxin Date: Mon, 4 Aug 2025 18:49:08 +0800 Subject: [PATCH 07/15] Update tidb-performance-tuning-config.md --- tidb-performance-tuning-config.md | 38 +++++++++++++++---------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/tidb-performance-tuning-config.md b/tidb-performance-tuning-config.md index 820bd1d5c960..cb079af0fd25 100644 --- a/tidb-performance-tuning-config.md +++ b/tidb-performance-tuning-config.md @@ -12,13 +12,13 @@ summary: 了解如何通过配置关键参数和应对边缘场景来优化 TiDB > **注意:** > -> 本文介绍的优化技术有助于提升 TiDB 的性能,但性能调优通常需要在多个因素之间权衡,没有一种方案能解决所有性能问题。部分优化方法涉及实验性特性,已在文中标注。虽然这些优化可以显著提升性能,但可能并不适合生产环境,实施前请充分评估。 +> 本文介绍的优化技术有助于提升 TiDB 的性能,但性能调优通常需要在多个因素之间权衡,并不存在一劳永逸的方案解决所有的性能问题。部分优化方法涉及实验性特性,已在文中标注。虽然这些优化可以显著提升性能,但可能并不适合生产环境,实施前请充分评估。 ## 概述 -要实现 TiDB 的最佳性能,需要对多项配置进行细致调优。很多情况下,达到最佳性能需要超出默认值的配置。 +要实现 TiDB 的最佳性能,需要对多项配置进行细致调优。很多情况下,达到最佳性能需要调大默认值的配置。 -默认的配置优先考虑的是稳定性而不是性能。若要最大化性能,可能需要采用更激进的参数,甚至启用实验性特性。本文推荐的配置基于生产环境经验和对性能优化的研究。 +默认的配置优先考虑的是稳定性而不是性能。若要最大化性能,可能需要配置更激进的参数,甚至启用实验性特性。本文推荐的配置基于生产环境经验和对性能优化的研究。 本文档详细说明了非默认配置项,包括其优势和潜在权衡。请根据实际业务需求合理调整。 @@ -27,11 +27,11 @@ summary: 了解如何通过配置关键参数和应对边缘场景来优化 TiDB 以下配置项常用于优化 TiDB 性能: - 增强执行计划缓存,如 [SQL 预处理执行计划缓存](/sql-prepared-plan-cache.md)、[非预处理计划缓存](/sql-non-prepared-plan-cache.md)和[实例级执行计划缓存](/system-variables.md#tidb_enable_instance_plan_cache-从-v840-版本开始引入)。 -- 通过[优化器修复控制](/optimizer-fix-controls.md) 优化 TiDB 优化器行为。 +- 通过 [Optimizer Fix Controls ](/optimizer-fix-controls.md) 优化 TiDB 优化器行为。 - 更积极地使用 [Titan](/storage-engine/titan-overview.md) 存储引擎。 - 微调 TiKV 的压缩与流控配置,确保写入密集型负载下的性能与稳定性。 -这些配置可显著提升多种负载的性能。但如同所有优化措施,务必在生产环境部署前充分测试。 +这些配置可显著提升多种负载的性能。但和所有的优化措施一样,请务必在生产环境部署前进行充分测试。 ### 系统变量 @@ -58,28 +58,28 @@ SET GLOBAL tidb_opt_fix_control = '44262:ON,44389:ON,44823:10000,44830:ON,44855: | 系统变量 | 说明 | 注意事项 | | ---------| ---- | ----| -| [`tidb_enable_instance_plan_cache`](/system-variables.md#tidb_enable_instance_plan_cache-从-v840-版本开始引入) 和 [`tidb_instance_plan_cache_max_size`](/system-variables.md#tidb_instance_plan_cache_max_size-从-v840-版本开始引入) | 启用实例级计划缓存,适合高并发连接或频繁使用预处理语句的场景。 | 实验性特性,建议先在测试环境验证,并关注内存占用。 | -| [`tidb_enable_non_prepared_plan_cache`](/system-variables.md#tidb_enable_non_prepared_plan_cache) | 启用非预处理计划缓存,降低不使用预处理语句应用的编译开销。 | 无 | +| [`tidb_enable_instance_plan_cache`](/system-variables.md#tidb_enable_instance_plan_cache-从-v840-版本开始引入) 和 [`tidb_instance_plan_cache_max_size`](/system-variables.md#tidb_instance_plan_cache_max_size-从-v840-版本开始引入) | 启用实例级计划缓存而不是会话级缓存,适合高并发连接或频繁使用预处理语句的场景。 | 实验性特性,建议先在测试环境验证,并关注内存占用。 | +| [`tidb_enable_non_prepared_plan_cache`](/system-variables.md#tidb_enable_non_prepared_plan_cache) | 启用[非 Prepare 语句执行计划缓存](/sql-non-prepared-plan-cache.md),降低不使用预处理语句应用的编译开销。 | 无 | | [`tidb_ignore_prepared_cache_close_stmt`](/system-variables.md#tidb_ignore_prepared_cache_close_stmt-从-v600-版本开始引入) | 针对每次执行后关闭计划的应用,缓存其计划。 | 无 | -| [`tidb_analyze_column_options`](/system-variables.md#tidb_analyze_column_options-从-v830-版本开始引入) | 收集所有列的统计信息,避免因缺失统计导致执行计划不佳。 | 设为 `'ALL'` 会增加 `ANALYZE TABLE` 的资源消耗。 | -| [`tidb_stats_load_sync_wait`](/system-variables.md#tidb_stats_load_sync_wait-从-v540-版本开始引入) | 将同步加载统计信息的超时时间从默认 100ms 提高到 2s,确保编译前加载完毕。 | 超时时间增加,编译等待时间变长。 | -| [`tidb_opt_limit_push_down_threshold`](/system-variables.md#tidb_opt_limit_push_down_threshold) | 提高 `Limit` 或 `TopN` 下推到 TiKV 的阈值。 | 提高后优化器更倾向选择能优化 `ORDER BY` 和 `Limit` 的索引。 | -| [`tidb_opt_derive_topn`](/system-variables.md#tidb_opt_derive_topn-从-v700-版本开始引入) | 启用从窗口函数派生 TopN/Limit 的优化,仅适用于 `ROW_NUMBER()`。 | 仅支持 `ROW_NUMBER()`。 | +| [`tidb_analyze_column_options`](/system-variables.md#tidb_analyze_column_options-从-v830-版本开始引入) | 收集所有列的统计信息,避免因缺失统计导致执行计划不佳。默认情况下,TiDB 仅收集 [`PREDICATE COLUMNS`](/statistics.md#收集部分列的统计信息) 的统计信息。 | 默认值为 `'PREDICATE'`。如果设为 `'ALL'` 会增加 `ANALYZE TABLE` 的资源消耗。 | +| [`tidb_stats_load_sync_wait`](/system-variables.md#tidb_stats_load_sync_wait-从-v540-版本开始引入) | 将同步加载统计信息的超时时间从默认 100ms 提高到 2s,确保编译前加载完毕。 | 调大该变量的值会导致编译等待时间变长。 | +| [`tidb_opt_limit_push_down_threshold`](/system-variables.md#tidb_opt_limit_push_down_threshold) | 提高 `Limit` 或 `TopN` 下推到 TiKV 的阈值。 | 当存在多个索引选项时,调大该变量的值后,优化器更倾向于选择能优化 `ORDER BY` 和 `Limit` 算子的索引。 | +| [`tidb_opt_derive_topn`](/system-variables.md#tidb_opt_derive_topn-从-v700-版本开始引入) | 启用[从窗口函数中推导 `TopN` 或 `Limit`](/derive-topn-from-window.md) | 仅支持 `ROW_NUMBER()` 窗口函数。 | | [`tidb_runtime_filter_mode`](/system-variables.md#tidb_runtime_filter_mode-从-v720-版本开始引入) | 启用本地模式的 [Runtime Filter](/runtime-filter.md#runtime-filter-mode),提升 Hash Join 效率。 | v7.2.0 引入,默认关闭。 | -| [`tidb_opt_enable_mpp_shared_cte_execution`](/system-variables.md#tidb_opt_enable_mpp_shared_cte_execution-从-v720-版本开始引入) | 启用非递归 CTE 下推到 TiFlash。 | 实验性特性。 | -| [`tidb_rc_read_check_ts`](/system-variables.md#tidb_rc_read_check_ts-从-v600-版本开始引入) | 在读已提交隔离级别下,避免获取全局时间戳,优化事务读延迟。 | 与可重复读隔离级别不兼容。 | -| [`tidb_guarantee_linearizability`](/system-variables.md#tidb_guarantee_linearizability-从-v50-版本开始引入) | 跳过从 PD 获取提交时间戳,提升性能,仅保证因果一致性。 | 不适用于需要严格线性一致性的场景。 | -| [`pd_enable_follower_handle_region`](/system-variables.md#pd_enable_follower_handle_region-从-v760-版本开始引入) | 启用 PD Follower 处理 Region 请求,均衡 PD 负载。 | 实验性特性,建议先测试。 | -| [`tidb_opt_fix_control`](/system-variables.md#tidb_opt_fix_control-从-v653-和-v710-版本开始引入) | 启用高级查询优化策略,提升查询性能。 | 不同负载效果不同,需充分测试。 | +| [`tidb_opt_enable_mpp_shared_cte_execution`](/system-variables.md#tidb_opt_enable_mpp_shared_cte_execution-从-v720-版本开始引入) | 启用非递归 CTE 下推到 TiFlash。 | 实验特性。 | +| [`tidb_rc_read_check_ts`](/system-variables.md#tidb_rc_read_check_ts-从-v600-版本开始引入) | 在读已提交隔离级别下,启动该变量可以避免获取全局时间戳,优化事务读延迟。 | 与可重复读隔离级别不兼容。 | +| [`tidb_guarantee_linearizability`](/system-variables.md#tidb_guarantee_linearizability-从-v50-版本开始引入) | 通过跳过从 PD 获取提交时间戳,提升性能。 | 为了提升性能,这种方式牺牲了线性一致性 (Linearizability),仅保证因果一致性。不适用于需要严格线性一致性的场景。| +| [`pd_enable_follower_handle_region`](/system-variables.md#pd_enable_follower_handle_region-从-v760-版本开始引入) | 启用 PD Follower 特性,允许 PD Follower 节点处理 Region 请求。该特性有助于将负载均匀分摊到所有 PD 节点,降低 PD Leader 的 CPU 压力。 | 实验特性,建议先在非生产环境中测试。 | +| [`tidb_opt_fix_control`](/system-variables.md#tidb_opt_fix_control-从-v653-和-v710-版本开始引入) | 启用高级查询优化策略,通过引入额外的优化规则和启发式方法来提升性能。 | 不同负载效果不同,需充分测试。 | 以下为优化器控制配置项的详细说明,这些配置项可启用额外的优化能力: -- [`44262:ON`](/optimizer-fix-controls.md#44262-从-v653-和-v720-版本开始引入):当分区表缺少 [GlobalStats](/statistics.md#收集动态裁剪模式下的分区表统计信息) 时,使用[动态裁剪模式](/partitioned-table.md#动态裁剪模式)访问分区表。 +- [`44262:ON`](/optimizer-fix-controls.md#44262-从-v653-和-v720-版本开始引入):当分区表缺少[全局统计信息](/statistics.md#收集动态裁剪模式下的分区表统计信息)时,使用[动态裁剪模式](/partitioned-table.md#动态裁剪模式)访问分区表。 - [`44389:ON`](/optimizer-fix-controls.md#44389-从-v653-和-v720-版本开始引入):对于如 `c = 10 and (a = 'xx' or (a = 'kk' and b = 1))` 这样的过滤条件,为 `IndexRangeScan` 构建更全面的扫描范围。 -- [`44823:10000`](/optimizer-fix-controls.md#44823-从-v730-版本开始引入):为节省内存,计划缓存不会缓存参数数量超过该变量值的查询。将参数上限从默认的 `200` 提高到 `10000`,使带有超长 in-list 的查询也能命中计划缓存。 +- [`44823:10000`](/optimizer-fix-controls.md#44823-从-v730-版本开始引入):为节省内存,计划缓存不会缓存参数数量超过该变量值的查询。将参数上限从默认的 `200` 提高到 `10000`,使带有超长 `in-list` 的查询也能命中计划缓存。 - [`44830:ON`](/optimizer-fix-controls.md#44830-从-v657-和-v730-版本开始引入):允许计划缓存缓存物理优化阶段生成的包含 `PointGet` 算子的执行计划。 - [`44855:ON`](/optimizer-fix-controls.md#44855-从-v654-和-v730-版本开始引入):当 `IndexJoin` 的 `Probe` 端包含 `Selection` 算子时,优化器可选择 `IndexJoin` 算子。 -- [`52869:ON`](/optimizer-fix-controls.md#52869-从-v810-版本开始引入):当优化器能为查询选择单一索引扫描(非全表扫描)时,自动选择索引合并(index merge)方式。 +- [`52869:ON`](/optimizer-fix-controls.md#52869-从-v810-版本开始引入):当优化器能为查询选择单一索引扫描(非全表扫描)时,自动选择索引合并(Index Merge)方式。 ### TiKV 配置 From c590b8946667c114d9fd47cb82c60e6fcee3a75d Mon Sep 17 00:00:00 2001 From: houfaxin Date: Thu, 7 Aug 2025 10:52:28 +0800 Subject: [PATCH 08/15] Update tidb-performance-tuning-config.md --- tidb-performance-tuning-config.md | 64 +++++++++++++++---------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/tidb-performance-tuning-config.md b/tidb-performance-tuning-config.md index cb079af0fd25..1b368240f733 100644 --- a/tidb-performance-tuning-config.md +++ b/tidb-performance-tuning-config.md @@ -124,14 +124,14 @@ soft-pending-compaction-bytes-limit = "192GiB" | 配置项 | 说明 | 注意事项 | | ---------| ---- | ----| -| [`concurrent-send-snap-limit`](/tikv-configuration-file.md#concurrent-send-snap-limit)、[`concurrent-recv-snap-limit`](/tikv-configuration-file.md#concurrent-recv-snap-limit)、[`snap-io-max-bytes-per-sec`](/tikv-configuration-file.md#snap-io-max-bytes-per-sec) | 设置 TiKV 扩容时快照并发传输和 I/O 带宽的上限。提高这些上限可以加快数据迁移速度,缩短扩容耗时。 | 需权衡扩容速度与在线业务性能。 | -| [`in-memory-peer-size-limit`](/tikv-configuration-file.md#in-memory-peer-size-limit-从-v840-版本开始引入)、[`in-memory-instance-size-limit`](/tikv-configuration-file.md#in-memory-instance-size-limit-从-v840-版本开始引入) | 控制悲观锁缓存的 Region 级和实例级内存分配,将锁存储在内存中可减少磁盘 I/O 并提升事务性能。 | 提高上限会增加内存消耗,需监控内存。 | -| [`rocksdb.max-manifest-file-size`](/tikv-configuration-file.md#max-manifest-file-size) | 设置 RocksDB Manifest 文件的最大大小。Manifest 文件记录 SST 文件和数据库状态变更的元数据。增大该值可减少 Manifest 文件重写的频率,从而降低其对前台写入性能的影响。 | 默认值为 `128MiB`。在存在大量 SST 文件(如数十万级别)的环境下,Manifest 文件频繁重写会影响写入性能。建议将该参数调高至 `256MiB` 或更大,以保持最佳性能。 | -| [`rocksdb.titan`](/tikv-configuration-file.md#rocksdbtitan)、[`rocksdb.defaultcf.titan`](/tikv-configuration-file.md#rocksdbdefaultcftitan)、[`min-blob-size`](/tikv-configuration-file.md#min-blob-size) 和 [`blob-file-compression`](/tikv-configuration-file.md#blob-file-compression) | 启用 Titan 存储引擎以降低写放大并缓解磁盘 I/O 瓶颈。适用于 RocksDB 压缩无法跟上写入压力、待压缩字节持续积压的场景。 | 仅当写放大成为主要瓶颈时建议开启。需权衡:1. 主键范围扫描可能受影响。2. 空间放大会增加(极端情况下最高 2 倍)。3. Blob 缓存会占用更多内存。 | +| [`concurrent-send-snap-limit`](/tikv-configuration-file.md#concurrent-send-snap-limit)、[`concurrent-recv-snap-limit`](/tikv-configuration-file.md#concurrent-recv-snap-limit)、[`snap-io-max-bytes-per-sec`](/tikv-configuration-file.md#snap-io-max-bytes-per-sec) | 设置 TiKV 扩容时快照并发传输和 I/O 带宽的上限。提高这些上限可以通过加快数据迁移速度,缩短扩容耗时。 | 需权衡扩容速度与在线业务性能。 | +| [`in-memory-peer-size-limit`](/tikv-configuration-file.md#in-memory-peer-size-limit-从-v840-版本开始引入)、[`in-memory-instance-size-limit`](/tikv-configuration-file.md#in-memory-instance-size-limit-从-v840-版本开始引入) | 控制悲观锁缓存的 Region 级和实例级的内存分配,将锁存储在内存中可减少磁盘 I/O 并提升事务性能。 | 提高上限会提升性能,但也会增加内存消耗。 | +| [`rocksdb.max-manifest-file-size`](/tikv-configuration-file.md#max-manifest-file-size) | 设置 RocksDB Manifest 文件的最大大小。Manifest 文件记录 SST 文件和数据库状态变更的元数据。增大该值可减少 Manifest 文件的写频率,从而降低其对前台写入性能的影响。 | 默认值为 `128MiB`。在存在大量 SST 文件(如数十万级别)的环境下,Manifest 文件频繁的写操作会影响写入性能。建议将该参数调高至 `256MiB` 或更大,以保持最佳性能。 | +| [`rocksdb.titan`](/tikv-configuration-file.md#rocksdbtitan)、[`rocksdb.defaultcf.titan`](/tikv-configuration-file.md#rocksdbdefaultcftitan)、[`min-blob-size`](/tikv-configuration-file.md#min-blob-size) 和 [`blob-file-compression`](/tikv-configuration-file.md#blob-file-compression) | 启用 Titan 存储引擎以降低写放大并缓解磁盘 I/O 瓶颈。尤其适用于 RocksDB 压缩无法跟上写入压力、待压缩字节持续积压的场景。 | 仅当写放大成为主要瓶颈时建议开启。需权衡以下因素: