Skip to content

Commit

Permalink
Merge branch 'master' into autoid
Browse files Browse the repository at this point in the history
  • Loading branch information
Oreoxmt committed Nov 7, 2022
2 parents 81c79aa + cb429f0 commit 0ce2aa3
Show file tree
Hide file tree
Showing 89 changed files with 1,185 additions and 438 deletions.
5 changes: 4 additions & 1 deletion TOC.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
- 应用开发
- [概览](/develop/dev-guide-overview.md)
- 快速开始
- [使用 TiDB Cloud (Developer Tier) 构建 TiDB 集群](/develop/dev-guide-build-cluster-in-cloud.md)
- [使用 TiDB Cloud (Serverless Tier) 构建 TiDB 集群](/develop/dev-guide-build-cluster-in-cloud.md)
- [使用 TiDB 的增删改查 SQL](/develop/dev-guide-tidb-crud-sql.md)
- 构建简单的 CRUD 应用程序
- [Java](/develop/dev-guide-sample-application-java.md)
Expand Down Expand Up @@ -110,6 +110,7 @@
- [从大数据量分库分表 MySQL 合并迁移数据到 TiDB](/migrate-large-mysql-shards-to-tidb.md)
- [从 CSV 文件迁移数据到 TiDB](/migrate-from-csv-files-to-tidb.md)
- [从 SQL 文件迁移数据到 TiDB](/migrate-from-sql-files-to-tidb.md)
- [从 Parquet 文件迁移数据到 TiDB](/migrate-from-parquet-files-to-tidb.md)
- [从 TiDB 集群迁移数据至另一 TiDB 集群](/migrate-from-tidb-to-tidb.md)
- [从 TiDB 集群迁移数据至兼容 MySQL 的数据库](/migrate-from-tidb-to-mysql.md)
- 复杂迁移场景
Expand Down Expand Up @@ -232,6 +233,7 @@
- [Stale Read 使用场景介绍](/stale-read.md)
- [使用 `AS OF TIMESTAMP` 语法读取历史数据](/as-of-timestamp.md)
- [使用系统变量 `tidb_read_staleness` 读取历史数据](/tidb-read-staleness.md)
- [使用系统变量 `tidb_external_ts` 读取历史数据](/tidb-external-ts.md)
- [使用系统变量 `tidb_snapshot` 读取历史数据](/read-historical-data.md)
- 最佳实践
- [TiDB 最佳实践](/best-practices/tidb-best-practices.md)
Expand Down Expand Up @@ -653,6 +655,7 @@
- [`EXECUTE`](/sql-statements/sql-statement-execute.md)
- [`EXPLAIN ANALYZE`](/sql-statements/sql-statement-explain-analyze.md)
- [`EXPLAIN`](/sql-statements/sql-statement-explain.md)
- [`FLASHBACK CLUSTER TO TIMESTAMP`](/sql-statements/sql-statement-flashback-to-timestamp.md)
- [`FLASHBACK TABLE`](/sql-statements/sql-statement-flashback-table.md)
- [`FLUSH PRIVILEGES`](/sql-statements/sql-statement-flush-privileges.md)
- [`FLUSH STATUS`](/sql-statements/sql-statement-flush-status.md)
Expand Down
2 changes: 1 addition & 1 deletion backup-and-restore-use-cases-for-maintain.md
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ BR 会在备份结束时输出备份总结到控制台。

### 性能调优

如果 TiKV 的资源使用没有出现明显的瓶颈(例如[备份过程中的运行指标](#备份过程中的运行指标)中的 **Backup CPU Utilization** 最高为 `1500%` 左右,**IO Utilization** 普遍低于 `30%`),可以尝试调大 `--concurrency`(默认是 4)参数以进行性能调优。该方法不适用于存在许多小表的场景。
如果 TiKV 的资源使用没有出现明显的瓶颈(例如[备份过程中的运行指标](#备份过程中的运行指标)中的 **Backup CPU Utilization** 最高为 `1500%` 左右,**IO Utilization** 普遍低于 `30%`),可以尝试调大 `--concurrency`(默认是 4)参数以进行性能调优。

示例如下:

Expand Down
41 changes: 21 additions & 20 deletions basic-features.md
Original file line number Diff line number Diff line change
Expand Up @@ -163,26 +163,27 @@ aliases: ['/docs-cn/dev/basic-features/']

## 管理,可视化和工具

| 管理,可视化和工具 | 6.3 | 6.2 | 6.1 | 6.0 | 5.4 | 5.3 | 5.2 | 5.1 | 5.0 | 4.0 |
|----------------------------------------------------------------------------| :------: | :------: | :------: | :------: | :------: | :------: | :------: | :------: | :------: | :------: |
| [TiDB Dashboard 图形化展示](/dashboard/dashboard-intro.md) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| [TiDB Dashboard 持续性能分析功能](/dashboard/continuous-profiling.md) | Y | Y | Y | Y | 实验特性 | 实验特性 | N | N | N | N |
| [TiDB Dashboard Top SQL 功能](/dashboard/top-sql.md) | Y | Y | Y | Y | 实验特性 | N | N | N | N | N |
| [TiDB Dashboard SQL 诊断功能](/information-schema/information-schema-sql-diagnostics.md) | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 |
| [Information schema](/information-schema/information-schema.md) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| [Metrics schema](/metrics-schema.md) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| [Statements summary tables](/statement-summary-tables.md) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| [慢查询日志](/identify-slow-queries.md) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| [TiUP 部署](/tiup/tiup-overview.md) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| Ansible 部署 | N | N | N | N | N | N | N | N | N | 已废弃 |
| [Kubernetes operator](https://docs.pingcap.com/tidb-in-kubernetes/stable) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| [内置物理备份](/br/backup-and-restore-use-cases.md) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| [Global Kill](/sql-statements/sql-statement-kill.md) | Y | Y | Y | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 |
| [Lock View](/information-schema/information-schema-data-lock-waits.md) | Y | Y | Y | Y | Y | Y | Y | 实验特性 | 实验特性 | 实验特性 |
| [`SHOW CONFIG`](/sql-statements/sql-statement-show-config.md) | Y | Y| Y | Y | Y | Y | Y | Y | Y | Y |
| [`SET CONFIG`](/dynamic-config.md) | Y | Y | Y | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 |
| [DM WebUI](/dm/dm-webui-guide.md) | 实验特性 | 实验特性 | 实验特性 | 实验特性 | N | N | N | N | N | N |
| [前台限流](/tikv-configuration-file.md#前台限流) | Y | Y | 实验特性 | 实验特性 | N | N | N | N | N | N |
| 管理,可视化和工具 | 6.4 | 6.3 | 6.2 | 6.1 | 6.0 | 5.4 | 5.3 | 5.2 | 5.1 | 5.0 | 4.0 |
|----------------------------------------------------------------------------| :------:| :------: | :------: | :------: | :------: | :------: | :------: | :------: | :------: | :------: | :------: |
| [TiDB Dashboard 图形化展示](/dashboard/dashboard-intro.md) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| [TiDB Dashboard 持续性能分析功能](/dashboard/continuous-profiling.md) | Y | Y | Y | Y | Y | 实验特性 | 实验特性 | N | N | N | N |
| [TiDB Dashboard Top SQL 功能](/dashboard/top-sql.md) | Y | Y | Y | Y | Y | 实验特性 | N | N | N | N | N |
| [TiDB Dashboard SQL 诊断功能](/information-schema/information-schema-sql-diagnostics.md) | Y | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 |
| [TiDB Dashboard 集群诊断功能](/dashboard/dashboard-diagnostics-access.md) | Y | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 |
| [Information schema](/information-schema/information-schema.md) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| [Metrics schema](/metrics-schema.md) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| [Statements summary tables](/statement-summary-tables.md) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| [慢查询日志](/identify-slow-queries.md) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| [TiUP 部署](/tiup/tiup-overview.md) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| Ansible 部署 | N | N | N | N | N | N | N | N | N | N | 已废弃 |
| [Kubernetes operator](https://docs.pingcap.com/tidb-in-kubernetes/stable) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| [内置物理备份](/br/backup-and-restore-use-cases.md) | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
| [Global Kill](/sql-statements/sql-statement-kill.md) | Y | Y | Y | Y | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 |
| [Lock View](/information-schema/information-schema-data-lock-waits.md) | Y | Y | Y | Y | Y | Y | Y | Y | 实验特性 | 实验特性 | 实验特性 |
| [`SHOW CONFIG`](/sql-statements/sql-statement-show-config.md) | Y | Y | Y| Y | Y | Y | Y | Y | Y | Y | Y |
| [`SET CONFIG`](/dynamic-config.md) | Y | Y | Y | Y | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | 实验特性 |
| [DM WebUI](/dm/dm-webui-guide.md) | 实验特 | 实验特性 | 实验特性 | 实验特性 | 实验特性 | N | N | N | N | N | N |
| [前台限流](/tikv-configuration-file.md#前台限流) | Y | Y | Y | 实验特性 | 实验特性 | N | N | N | N | N | N |

[^1]: TiDB 误将 latin1 处理为 utf8 的子集。见 [TiDB #18955](https://github.com/pingcap/tidb/issues/18955)

Expand Down
31 changes: 18 additions & 13 deletions best-practices/haproxy-best-practices.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,24 @@ aliases: ['/docs-cn/dev/best-practices/haproxy-best-practices/','/docs-cn/dev/re

![HAProxy 在 TiDB 中的最佳实践](/media/haproxy.jpg)

> **注意:**
>
> TiDB 支持的最小 HAProxy 版本为 v1.5。使用 v1.5 到 v2.1 之间的 HAProxy 时,需要在 `mysql-check` 中配置 `post-41`。建议使用 HAProxy v2.2 或更高版本。
## HAProxy 简介

HAProxy 是由 C 语言编写的自由开放源码的软件,为基于 TCP 和 HTTP 协议的应用程序提供高可用性、负载均衡和代理服务。因为 HAProxy 能够快速、高效使用 CPU 和内存,所以目前使用非常广泛,许多知名网站诸如 GitHub、Bitbucket、Stack Overflow、Reddit、Tumblr、Twitter 和 Tuenti 以及亚马逊网络服务系统都在使用 HAProxy。

HAProxy 由 Linux 内核的核心贡献者 Willy Tarreau 于 2000 年编写,他现在仍然负责该项目的维护,并在开源社区免费提供版本迭代。本文示例使用 HAProxy [2.5.0](https://www.haproxy.com/blog/announcing-haproxy-2-5/)。推荐使用最新稳定版的 HAProxy,详情见[已发布的 HAProxy 版本](http://www.haproxy.org/)
HAProxy 由 Linux 内核的核心贡献者 Willy Tarreau 于 2000 年编写,他现在仍然负责该项目的维护,并在开源社区免费提供版本迭代。本文示例使用 HAProxy [2.6](https://www.haproxy.com/blog/announcing-haproxy-2-6/)。推荐使用最新稳定版的 HAProxy,详情见[已发布的 HAProxy 版本](http://www.haproxy.org/)

## HAProxy 部分核心功能介绍

- [高可用性](http://cbonte.github.io/haproxy-dconv/2.5/intro.html#3.3.4):HAProxy 提供优雅关闭服务和无缝切换的高可用功能;
- [负载均衡](http://cbonte.github.io/haproxy-dconv/2.5/configuration.html#4.2-balance):L4 (TCP) 和 L7 (HTTP) 两种负载均衡模式,至少 9 类均衡算法,比如 roundrobin,leastconn,random 等;
- [健康检查](http://cbonte.github.io/haproxy-dconv/2.5/configuration.html#5.2-check):对 HAProxy 配置的 HTTP 或者 TCP 模式状态进行检查;
- [会话保持](http://cbonte.github.io/haproxy-dconv/2.5/intro.html#3.3.6):在应用程序没有提供会话保持功能的情况下,HAProxy 可以提供该项功能;
- [SSL](http://cbonte.github.io/haproxy-dconv/2.5/intro.html#3.3.2):支持 HTTPS 通信和解析;
- [监控与统计](http://cbonte.github.io/haproxy-dconv/2.5/intro.html#3.3.3):通过 web 页面可以实时监控服务状态以及具体的流量信息。
- [高可用性](http://cbonte.github.io/haproxy-dconv/2.6/intro.html#3.3.4):HAProxy 提供优雅关闭服务和无缝切换的高可用功能;
- [负载均衡](http://cbonte.github.io/haproxy-dconv/2.6/configuration.html#4.2-balance):L4 (TCP) 和 L7 (HTTP) 两种负载均衡模式,至少 9 类均衡算法,比如 roundrobin,leastconn,random 等;
- [健康检查](http://cbonte.github.io/haproxy-dconv/2.6/configuration.html#5.2-check):对 HAProxy 配置的 HTTP 或者 TCP 模式状态进行检查;
- [会话保持](http://cbonte.github.io/haproxy-dconv/2.6/intro.html#3.3.6):在应用程序没有提供会话保持功能的情况下,HAProxy 可以提供该项功能;
- [SSL](http://cbonte.github.io/haproxy-dconv/2.6/intro.html#3.3.2):支持 HTTPS 通信和解析;
- [监控与统计](http://cbonte.github.io/haproxy-dconv/2.6/intro.html#3.3.3):通过 web 页面可以实时监控服务状态以及具体的流量信息。

## 准备环境

Expand Down Expand Up @@ -72,32 +76,32 @@ yum -y install epel-release gcc systemd-devel

## 部署 HAProxy

HAProxy 配置 Database 负载均衡场景操作简单,以下部署操作具有普遍性,不具有特殊性,建议根据实际场景,个性化配置相关的[配置文件](http://cbonte.github.io/haproxy-dconv/2.5/configuration.html)
HAProxy 配置 Database 负载均衡场景操作简单,以下部署操作具有普遍性,不具有特殊性,建议根据实际场景,个性化配置相关的[配置文件](http://cbonte.github.io/haproxy-dconv/2.6/configuration.html)

### 安装 HAProxy

1. 下载 HAProxy 2.5.0 的源码包:
1. 下载 HAProxy 2.6.2 的源码包:

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

```bash
wget https://github.com/haproxy/haproxy/archive/refs/tags/v2.5.0.zip
wget https://www.haproxy.org/download/2.6/src/haproxy-2.6.2.tar.gz
```

2. 解压源码包:

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

```bash
unzip v2.5.0.zip
tar zxf haproxy-2.6.2.tar.gz
```

3. 从源码编译 HAProxy 应用:

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

```bash
cd haproxy-2.5.0
cd haproxy-2.6.2
make clean
make -j 8 TARGET=linux-glibc USE_THREAD=1
make PREFIX=${/app/haproxy} SBINDIR=${/app/haproxy/bin} install #`${/app/haproxy}``${/app/haproxy/bin}` 替换为自定义的实际路径。
Expand All @@ -109,6 +113,7 @@ HAProxy 配置 Database 负载均衡场景操作简单,以下部署操作具

```bash
echo 'export PATH=/app/haproxy/bin:$PATH' >> /etc/profile
. /etc/profile
```

5. 检查 HAProxy 是否安装成功:
Expand Down Expand Up @@ -158,7 +163,7 @@ haproxy --help
| `-x <unix_socket>` | 连接指定的 socket 并从旧进程中获取所有 listening socket,然后,使用这些 socket 而不是绑定新的。 |
| `-S <bind>[,<bind_options>...]` | 主从模式下,创建绑定到主进程的 socket,此 socket 可访问每个子进程的 socket。 |

更多有关 HAProxy 命令参数的信息,可参阅 [Management Guide of HAProxy](http://cbonte.github.io/haproxy-dconv/2.5/management.html) 和 [General Commands Manual of HAProxy](https://manpages.debian.org/buster-backports/haproxy/haproxy.1.en.html)。
更多有关 HAProxy 命令参数的信息,可参阅 [Management Guide of HAProxy](http://cbonte.github.io/haproxy-dconv/2.6/management.html) 和 [General Commands Manual of HAProxy](https://manpages.debian.org/buster-backports/haproxy/haproxy.1.en.html)。

### 配置 HAProxy

Expand Down
2 changes: 1 addition & 1 deletion br/backup-and-restore-use-cases.md
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ BR 会在备份结束时输出备份总结到控制台。

### 性能调优

如果 TiKV 的资源使用没有出现明显的瓶颈(例如[备份过程中的运行指标](#备份过程中的运行指标)中的 **Backup CPU Utilization** 最高为 `1500%` 左右,**IO Utilization** 普遍低于 `30%`),可以尝试调大 `--concurrency`(默认是 4)参数以进行性能调优。该方法不适用于存在许多小表的场景。
如果 TiKV 的资源使用没有出现明显的瓶颈(例如[备份过程中的运行指标](#备份过程中的运行指标)中的 **Backup CPU Utilization** 最高为 `1500%` 左右,**IO Utilization** 普遍低于 `30%`),可以尝试调大 `--concurrency`(默认是 4)参数以进行性能调优。

示例如下:

Expand Down
Loading

0 comments on commit 0ce2aa3

Please sign in to comment.