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

ambiguous words: clarify words #9907

Merged
merged 3 commits into from
Jun 21, 2022
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion alert-rules.md
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ aliases: ['/docs-cn/dev/alert-rules/','/docs-cn/dev/reference/alert-rules/']

* 规则描述:

Region 的副本数小于 `max-replicas` 配置的值。这通常是由于 TiKV 宕机等问题导致一段时间内一些 Region 缺副本。
Region 的副本数小于 `max-replicas` 配置的值。

* 处理方法:

Expand Down
2 changes: 1 addition & 1 deletion best-practices/java-app-best-practices.md
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ Java 的连接池实现很多 ([HikariCP](https://github.com/brettwooldridge/Hik

### 探活配置

连接池维护到 TiDB 的长连接,TiDB 默认不会主动关闭客户端连接(除非报错),但一般客户端到 TiDB 之间还会有 LVS 或 HAProxy 之类的网络代理,它们通常会在连接空闲一定时间后主动清理连接。除了注意代理的 idle 配置外,连接池还需要进行保活或探测连接。
连接池维护到 TiDB 的长连接,TiDB 默认不会主动关闭客户端连接(除非报错),但一般客户端到 TiDB 之间还会有 LVS 或 HAProxy 之类的网络代理,它们通常会在连接空闲一定时间(由代理的 idle 配置决定)后主动清理连接。除了注意代理的 idle 配置外,连接池还需要进行保活或探测连接。

如果常在 Java 应用中看到以下错误:

Expand Down
4 changes: 2 additions & 2 deletions dumpling-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -282,9 +282,9 @@ Dumpling 可以通过 `--snapshot` 指定导出某个 [tidb_snapshot](/read-hist

即可导出 TSO 为 `417773951312461825` 或 `2020-07-02 17:12:45` 时的 TiDB 历史数据快照。

### 控制导出 TiDB 大表时的内存使用
### 控制导出 TiDB 大表(超过 1 TB)时的内存使用

Dumpling 导出 TiDB 较大单表时,可能会因为导出数据过大导致 TiDB 内存溢出 (OOM),从而使连接中断导出失败。可以通过以下参数减少 TiDB 的内存使用。
Dumpling 导出 TiDB 较大单表(超过 1 TB)时,可能会因为导出数据过大导致 TiDB 内存溢出 (OOM),从而使连接中断导出失败。可以通过以下参数减少 TiDB 的内存使用。

+ 设置 `-r` 参数,可以划分导出数据区块减少 TiDB 扫描数据的内存开销,同时也可开启表内并发提高导出效率。当上游为 TiDB 且版本为 v3.0 或更新版本时,该参数大于 0 表示使用 TiDB region 信息划分表内并发,具体取值将不再生效。
+ 调小 `--tidb-mem-quota-query` 参数到 `8589934592` (8GB) 或更小。可控制 TiDB 单条查询语句的内存使用。
Expand Down
2 changes: 1 addition & 1 deletion faq/manage-cluster-faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -392,7 +392,7 @@ TiDB 设计的目标就是针对 MySQL 单台容量限制而被迫做的分库

### TiDB 主要备份方式?

目前,数据量大时推荐使用 [BR](/br/backup-and-restore-overview.md) 进行备份。其他场景推荐使用 [Dumpling](/dumpling-overview.md) 进行备份。
目前,数据量大时(大于 1 TB)推荐使用 [BR](/br/backup-and-restore-overview.md) 进行备份。其他场景推荐使用 [Dumpling](/dumpling-overview.md) 进行备份。

尽管 TiDB 也支持使用 MySQL 官方工具 `mysqldump` 进行数据备份和恢复,但其性能低于 [Dumpling](/dumpling-overview.md),并且 `mysqldump` 备份和恢复大量数据的耗费更长。

Expand Down
2 changes: 1 addition & 1 deletion shard-row-id-bits.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ aliases: ['/docs-cn/dev/shard-row-id-bits/']

对于非整数主键或没有主键的表,TiDB 会使用一个隐式的自增 rowid。大量执行 `INSERT` 插入语句时会把数据集中写入单个 Region,造成写入热点。

通过设置 `SHARD_ROW_ID_BITS`,可以把 rowid 打散写入多个不同的 Region,缓解写入热点问题。但是设置的过大会造成 RPC 请求数放大,增加 CPU 和网络开销。
通过设置 `SHARD_ROW_ID_BITS`,可以把 rowid 打散写入多个不同的 Region,缓解写入热点问题。

- `SHARD_ROW_ID_BITS = 4` 表示 16 个分片
- `SHARD_ROW_ID_BITS = 6` 表示 64 个分片
Expand Down
2 changes: 1 addition & 1 deletion sql-plan-management.md
Original file line number Diff line number Diff line change
Expand Up @@ -379,7 +379,7 @@ INSERT INTO mysql.capture_plan_baselines_blacklist(filter_type, filter_value) VA

当需要升级 TiDB 集群时,你可以利用自动捕获绑定对潜在的计划回退风险进行一定程度的防护,具体流程为:

1. 升级前打开自动捕获一段时间
1. 升级前打开自动捕获

> **注意:**
>
Expand Down
4 changes: 2 additions & 2 deletions statement-summary-tables.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,11 +125,11 @@ set global tidb_stmt_summary_history_size = 24;

> **注意:**
>
> `tidb_stmt_summary_history_size`、`tidb_stmt_summary_max_stmt_count`、`tidb_stmt_summary_max_sql_length` 这些配置都影响内存占用,建议根据实际情况调整不宜设置得过大。
> `tidb_stmt_summary_history_size`、`tidb_stmt_summary_max_stmt_count`、`tidb_stmt_summary_max_sql_length` 这些配置都影响内存占用,建议根据实际情况调整(取决于 SQL 大小、SQL 数量、机器配置)不宜设置得过大。内存大小可通过 `history_size` \* `max_stmt_count` \* `max_sql_length` \* `3` 来进行估算

### 为 statement summary 设定合适的大小

在系统运行一段时间后,可以查看 `statements_summary` 表检查是否发生了 evict,例如:
在系统运行一段时间后(视系统负载而定),可以查看 `statements_summary` 表检查是否发生了 evict,例如:

```sql
select @@global.tidb_stmt_summary_max_stmt_count;
Expand Down
4 changes: 2 additions & 2 deletions storage-engine/titan-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ aliases: ['/docs-cn/dev/storage-engine/titan-overview/','/docs-cn/dev/reference/

[Titan](https://github.com/pingcap/rocksdb/tree/titan-5.15) 是基于 [RocksDB](https://github.com/facebook/rocksdb) 的高性能单机 key-value 存储引擎插件。

当 value 较大的时候,Titan 在写、更新和点读等场景下性能都优于 RocksDB。但与此同时,Titan 会占用更多硬盘空间和部分舍弃范围查询。随着 SSD 价格的降低,Titan 的优势会更加突出,让用户更容易做出选择。
当 value 较大(1 KB 以上或 512 B 以上)的时候,Titan 在写、更新和点读等场景下性能都优于 RocksDB。但与此同时,Titan 会占用更多硬盘空间和部分舍弃范围查询。随着 SSD 价格的降低,Titan 的优势会更加突出,让用户更容易做出选择。

## 核心特性

Expand All @@ -27,7 +27,7 @@ Titan 适合在以下场景中使用:

- Value 较大。即 value 平均大小比较大,或者数据中大 value 的数据总大小占比比较大。目前 Titan 默认 1KB 以上大小的 value 是大 value,根据实际情况 512B 以上大小的 value 也可以看作是大 value。注:由于 TiKV Raft 层的限制,写入 TiKV 的 value 大小还是无法超过 8MB 的限制,可通过 [`raft-entry-max-size`](/tikv-configuration-file.md#raft-entry-max-size) 配置项调整该限制。
- 没有范围查询或者对范围查询性能不敏感。Titan 存储数据的顺序性较差,所以相比 RocksDB 范围查询的性能较差,尤其是大范围查询。在测试中 Titan 范围查询性能相比 RocksDB 下降 40% 到数倍不等。
- 磁盘剩余空间足够。Titan 降低写放大是通过牺牲空间放大达到的。另外由于 Titan 逐个压缩 value,压缩率比 RocksDB(逐个压缩 block)要差。这两个因素一起造成 Titan 占用磁盘空间比 RocksDB 要多,这是正常现象。根据实际情况和不同的配置,Titan 磁盘空间占用可能会比 RocksDB 多一倍。
- 磁盘剩余空间足够,推荐为相同数据量下 RocksDB 磁盘占用的两倍。Titan 降低写放大是通过牺牲空间放大达到的。另外由于 Titan 逐个压缩 value,压缩率比 RocksDB(逐个压缩 block)要差。这两个因素一起造成 Titan 占用磁盘空间比 RocksDB 要多,这是正常现象。根据实际情况和不同的配置,Titan 磁盘空间占用可能会比 RocksDB 多一倍。

性能提升请参考 [Titan 的设计与实现](https://pingcap.com/blog-cn/titan-design-and-implementation/#%E5%9F%BA%E5%87%86%E6%B5%8B%E8%AF%95)。

Expand Down
4 changes: 2 additions & 2 deletions system-variables.md
Original file line number Diff line number Diff line change
Expand Up @@ -571,7 +571,7 @@ MPP 是 TiFlash 引擎提供的分布式计算框架,允许节点之间的数
- 这个变量用来设置 DDL 操作 `re-organize` 阶段的 batch size。比如 `ADD INDEX` 操作,需要回填索引数据,通过并发 `tidb_ddl_reorg_worker_cnt` 个 worker 一起回填数据,每个 worker 以 batch 为单位进行回填。

- 如果 `ADD INDEX` 操作时有较多 `UPDATE` 操作或者 `REPLACE` 等更新操作,batch size 越大,事务冲突的概率也会越大,此时建议调小 batch size 的值,最小值是 32。
- 在没有事务冲突的情况下,batch size 可设为较大值,最大值是 10240,这样回填数据的速度更快,但是 TiKV 的写入压力也会变大。
- 在没有事务冲突的情况下,batch size 可设为较大值(需要参考 worker 数量,见[线上负载与 `ADD INDEX` 相互影响测试](/benchmark/online-workloads-and-add-index-operations.md)),最大值是 10240,这样回填数据的速度更快,但是 TiKV 的写入压力也会变大。

### `tidb_ddl_reorg_priority`

Expand Down Expand Up @@ -610,7 +610,7 @@ MPP 是 TiFlash 引擎提供的分布式计算框架,允许节点之间的数
- 范围:`[1, 256]`
- 这个变量用来设置 scan 操作的并发度。
- AP 类应用适合较大的值,TP 类应用适合较小的值。对于 AP 类应用,最大值建议不要超过所有 TiKV 节点的 CPU 核数。
- 若表的分区较多可以适当调小该参数,避免 TiKV 内存溢出 (OOM)。
- 若表的分区较多可以适当调小该参数(取决于扫描数据量的大小以及扫描频率),避免 TiKV 内存溢出 (OOM)。

### `tidb_dml_batch_size`

Expand Down
23 changes: 0 additions & 23 deletions ticdc/troubleshoot-ticdc.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,29 +112,6 @@ cdc cli changefeed query --pd=http://10.0.10.25:2379 --changefeed-id 28c43ffc-23

升级 TiDB 集群和 TiCDC 集群到最新版本。该 OOM 问题在 **v4.0.14 及之后的 v4.0 版本,v5.0.2 及之后的 v5.0 版本,更新的版本**上已得到缓解。

在这些版本上,可以开启 Unified Sorter 排序功能,该功能会在系统内存不足时使用磁盘进行排序。启用的方式是创建同步任务时在 `cdc cli` 内传入 `--sort-engine=unified`,使用示例如下:

{{< copyable "shell-regular" >}}

```shell
cdc cli changefeed update -c <changefeed-id> --sort-engine="unified" --pd=http://10.0.10.25:2379
```

如果无法升级到上述版本,需要在**之前的版本**上开启 Unified Sorter,可以在创建同步任务时在 `cdc cli` 内传入 `--sort-engine=unified` 和 `--sort-dir=/path/to/sort_dir`,使用示例如下:

{{< copyable "shell-regular" >}}

```shell
cdc cli changefeed update -c <changefeed-id> --sort-engine="unified" --sort-dir="/data/cdc/sort" --pd=http://10.0.10.25:2379
```

> **注意:**
>
> + TiCDC 从 4.0.9 版本起支持 Unified Sorter 排序引擎。
> + TiCDC(4.0 发布版本)还不支持动态修改排序引擎。在修改排序引擎设置前,请务必确保 changefeed 已经停止 (stopped)。
> + `sort-dir` 在不同版本之间有不同的行为,请参考 [`sort-dir` 及 `data-dir` 配置项的兼容性说明](/ticdc/ticdc-overview.md#sort-dir-及-data-dir-配置项的兼容性说明),谨慎配置。
> + 目前 Unified Sorter 排序引擎为实验特性,在数据表较多 (>= 100) 时可能出现性能问题,影响同步速度,故不建议在生产环境中使用。开启 Unified Sorter 前请保证各 TiCDC 节点机器上有足够硬盘空间。如果积攒的数据总量有可能超过 1 TB,则不建议使用 TiCDC 进行同步。

## TiCDC 的 `gc-ttl` 是什么?

从 TiDB v4.0.0-rc.1 版本起,PD 支持外部服务设置服务级别 GC safepoint。任何一个服务可以注册更新自己服务的 GC safepoint。PD 会保证任何晚于该 GC safepoint 的 KV 数据不会在 TiKV 中被 GC 清理掉。
Expand Down
4 changes: 2 additions & 2 deletions tidb-configuration-file.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ TiDB 配置文件比命令行参数支持更多的选项。你可以在 [config/

+ 为每个 table 建立单独的 Region。
+ 默认值:true
+ 如果需要创建大量的表,建议将此参数设置为 false。
+ 如果需要创建大量的表(例如 10 万张以上),建议将此参数设置为 false。

### `token-limit`

Expand Down Expand Up @@ -662,7 +662,7 @@ TiDB 服务状态相关配置。

+ 用来控制开启全局悲观事务模式下 (`tidb_txn_mode='pessimistic'`) 时,自动提交的事务使用的事务模式。默认情况下,即使开启全局悲观事务模式,自动提交事务依然使用乐观事务模式来执行。当开启该配置项后(设置为 `true`),在全局悲观事务模式下,自动提交事务将也使用悲观事务模式执行。行为与其他显式提交的悲观事务相同。
+ 对于存在冲突的场景,开启本开关可以将自动提交事务纳入全局等锁管理中,从而避免死锁,改善冲突造成死锁带来的时延尖刺。
+ 对于不存在冲突的场景,如果有大量自动提交事务且单个事务操作数据量较大的情况下,开启该配置项会造成性能回退。例如,自动提交的 `INSERT INTO SELECT` 语句。
+ 对于不存在冲突的场景,如果有大量自动提交事务(例如自动提交事务数量占业务数量的比例超过一半甚至更多,需要根据实际情况分析)且单个事务操作数据量较大的情况下,开启该配置项会造成性能回退。例如,自动提交的 `INSERT INTO SELECT` 语句。

+ 默认值:false

Expand Down
4 changes: 0 additions & 4 deletions tiflash/troubleshoot-tiflash.md
Original file line number Diff line number Diff line change
Expand Up @@ -214,10 +214,6 @@ show warnings;
- 是,PD 调度正常。
- 否,PD 调度异常,请联系 PingCAP 技术支持人员协助排查。

> **注意:**
>
> 当需要同步的表有很多小 Region 且 Region merge 参数已开启或取值较大时,可能会出现同步进度一段时间不变化或者变小的现象。

## TiFlash 数据同步卡住

如果 TiFlash 数据一开始可以正常同步,过一段时间后全部或者部分数据无法继续同步,你可以通过以下步骤确认或解决问题:
Expand Down
2 changes: 1 addition & 1 deletion tikv-configuration-file.md
Original file line number Diff line number Diff line change
Expand Up @@ -1660,7 +1660,7 @@ Raft Engine 相关的配置项。

用于前台限流 (Quota Limiter) 相关的配置项。

当 TiKV 部署的机型资源有限(如 4v CPU,16 G 内存)时,如果 TiKV 前台处理的读写请求量过大,会占用 TiKV 后台处理请求所需的 CPU 资源,最终影响 TiKV 性能的稳定性。此时,你可以使用前台限流相关的 quota 配置项以限制前台各类请求占用的 CPU 资源。触发该限制的请求会被强制等待一段时间以让出 CPU 资源。具体等待时间与新增请求量相关,最多不超过 [`max-delay-duration`](#max-delay-duration从-v600-版本开始引入) 的值。
当 TiKV 部署的机型资源有限(如 4v CPU,16 G 内存)时,如果 TiKV 前台处理的读写请求量过大,以至于占用 TiKV 后台处理请求所需的 CPU 资源,最终影响 TiKV 性能的稳定性。此时,你可以使用前台限流相关的 quota 配置项以限制前台各类请求占用的 CPU 资源。触发该限制的请求会被强制等待一段时间以让出 CPU 资源。具体等待时间与新增请求量相关,最多不超过 [`max-delay-duration`](#max-delay-duration从-v600-版本开始引入) 的值。

> **警告:**
>
Expand Down
2 changes: 1 addition & 1 deletion troubleshoot-hot-spot-issues.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ Value: null

对于主键非整数或没有主键的表或者是联合主键,TiDB 会使用一个隐式的自增 RowID,大量 INSERT 时会把数据集中写入单个 Region,造成写入热点。

通过设置 SHARD_ROW_ID_BITS,可以把 RowID 打散写入多个不同的 Region,缓解写入热点问题。但是设置的过大会造成 RPC 请求数放大,增加 CPU 和网络开销。
通过设置 SHARD_ROW_ID_BITS,可以把 RowID 打散写入多个不同的 Region,缓解写入热点问题。

```
SHARD_ROW_ID_BITS = 4 表示 16 个分片\
Expand Down