Skip to content

Commit

Permalink
fix
Browse files Browse the repository at this point in the history
Signed-off-by: nolouch <[email protected]>
  • Loading branch information
nolouch committed Jan 2, 2025
1 parent c90600b commit 51b12b0
Show file tree
Hide file tree
Showing 48 changed files with 83 additions and 83 deletions.
4 changes: 2 additions & 2 deletions TOC.md
Original file line number Diff line number Diff line change
Expand Up @@ -258,8 +258,8 @@
- [基于多副本的单集群容灾](/dr-multi-replica.md)
- [基于备份与恢复的容灾](/dr-backup-restore.md)
- 资源管控
- [使用资源管控 (Resource Control) 实现资源组限制和流控](/tidb-resource-control-ru-groups.md)
- [管理资源消耗超出预期的查询](/tidb-resource-control-runaway.md)
- [使用资源管控 (Resource Control) 实现限制和流控](/tidb-resource-control-ru-groups.md)
- [管理资源消耗超出预期的查询](/tidb-resource-control-runaway-queries.md)
- [限制后台任务资源使用](/tidb-resource-control-background-tasks.md)
- [修改时区](/configure-time-zone.md)
- [日常巡检](/daily-check.md)
Expand Down
6 changes: 3 additions & 3 deletions basic-features.md
Original file line number Diff line number Diff line change
Expand Up @@ -256,9 +256,9 @@ aliases: ['/docs-cn/dev/basic-features/','/docs-cn/dev/experimental-features-4.0
| [全局内存控制](/configure-memory-usage.md#如何配置-tidb-server-实例使用内存的阈值) | Y | Y | Y | Y | Y | N | N | N | N | N |
| [RawKV 跨集群复制](/tikv-configuration-file.md#api-version-从-v610-版本开始引入) | E | E | E| E | E | N | N | N | N | N |
| [Green GC](/system-variables.md#tidb_gc_scan_lock_mode-从-v50-版本开始引入) | E | E | E | E | E | E | E | E | E | E |
| [资源管控 (Resource Control)](/tidb-resource-control.md) | Y | Y | Y | Y | N | N | N | N | N | N |
| [Runaway Queries 自动管理](/tidb-resource-control.md#管理资源消耗超出预期的查询-runaway-queries) | Y | Y | E | N | N | N | N | N | N | N |
| [后台任务资源管控](/tidb-resource-control.md#管理后台任务) | E | E | E | N | N | N | N | N | N | N |
| [资源管控 (Resource Control)](/tidb-resource-control-ru-groups.md) | Y | Y | Y | Y | N | N | N | N | N | N |
| [Runaway Queries 自动管理](/tidb-resource-control-runaway-queries.md) | Y | Y | E | N | N | N | N | N | N | N |
| [后台任务资源管控](/tidb-resource-control-background-tasks.md) | E | E | E | N | N | N | N | N | N | N |
| [TiFlash 存算分离架构与 S3 支持](/tiflash/tiflash-disaggregated-and-s3.md) | Y | Y | Y | E | N | N | N | N | N | N |
| [选择执行分布式执行框架任务的 TiDB 节点](/system-variables.md#tidb_service_scope-从-v740-版本开始引入) | Y | Y | Y | N | N | N | N | N | N | N |
| 通过系统变量 [`tidb_enable_tso_follower_proxy`](/system-variables.md#tidb_enable_tso_follower_proxy-从-v530-版本开始引入) 控制 PD Follower Proxy 功能 | Y | Y | Y | Y | Y | Y | Y | Y | N | N |
Expand Down
2 changes: 1 addition & 1 deletion dashboard/dashboard-intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ TiDB Dashboard 在 GitHub 上[开源](https://github.com/pingcap-incubator/tidb-

## 预估资源管控容量

为使用[资源管控 (Resource Control)](/tidb-resource-control.md) 特性实现资源隔离,集群管理员可以定义资源组 (Resource Group),通过资源组限定配额。
为使用[资源管控 (Resource Control)](/tidb-resource-control-ru-groups.md) 特性实现资源隔离,集群管理员可以定义资源组 (Resource Group),通过资源组限定配额。

在进行资源规划之前,你需要了解集群的整体容量。参阅[资源管控页面](/dashboard/dashboard-resource-manager.md)了解详情。

Expand Down
4 changes: 2 additions & 2 deletions dashboard/dashboard-resource-manager.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ summary: 介绍如何使用 TiDB Dashboard 的资源管控页面查看资源管

# TiDB Dashboard 资源管控页面

为使用[资源管控 (Resource Control)](/tidb-resource-control.md) 特性实现资源隔离,集群管理员可以定义资源组 (Resource Group),通过资源组限定配额。在进行资源规划之前,你需要了解集群的整体容量。该页面可以帮助你查看资源管控相关信息,以便预估集群容量,更好地进行资源配置。
为使用[资源管控 (Resource Control)](/tidb-resource-control-ru-groups.md) 特性实现资源隔离,集群管理员可以定义资源组 (Resource Group),通过资源组限定配额。在进行资源规划之前,你需要了解集群的整体容量。该页面可以帮助你查看资源管控相关信息,以便预估集群容量,更好地进行资源配置。

## 访问方式

Expand Down Expand Up @@ -34,7 +34,7 @@ summary: 介绍如何使用 TiDB Dashboard 的资源管控页面查看资源管

## 容量估算

在进行资源规划之前,你需要了解集群的整体容量。目前提供两种估算方式预估当前集群的 [Request Unit (RU)](/tidb-resource-control.md#什么是-request-unit-ru#什么是-request-unit-ru) 的容量:
在进行资源规划之前,你需要了解集群的整体容量。目前提供两种估算方式预估当前集群的 [Request Unit (RU)](/tidb-resource-control-ru-groups.md#什么是-request-unit-ru#什么是-request-unit-ru) 的容量:

- [基于硬件部署估算容量](/sql-statements/sql-statement-calibrate-resource.md#基于硬件部署估算容量) (Calibrate by Hardware)

Expand Down
6 changes: 3 additions & 3 deletions error-codes.md
Original file line number Diff line number Diff line change
Expand Up @@ -404,7 +404,7 @@ TiDB 兼容 MySQL 的错误码,在大多数情况下,返回和 MySQL 一样

* Error Number: 8249

资源组不存在。在修改或绑定不存在的资源组时返回该错误。请参考[创建资源组](/tidb-resource-control.md#创建资源组)。
资源组不存在。在修改或绑定不存在的资源组时返回该错误。请参考[创建资源组](/tidb-resource-control-ru-groups.md#创建资源组)。

* Error Number: 8250

Expand All @@ -428,11 +428,11 @@ TiDB 兼容 MySQL 的错误码,在大多数情况下,返回和 MySQL 一样

* Error Number: 8253

查询终止,因为满足 Runaway Queries 的条件。请参考 [Runaway Queries](/tidb-resource-control.md#管理资源消耗超出预期的查询-runaway-queries)。
查询终止,因为满足 Runaway Queries 的条件。请参考 [Runaway Queries](/tidb-resource-control-runaway-queries.md)。

* Error Number: 8254

查询终止,因为被 Runaway Queries 免疫命中。请参考 [Runaway Queries](/tidb-resource-control.md#管理资源消耗超出预期的查询-runaway-queries)。
查询终止,因为被 Runaway Queries 免疫命中。请参考 [Runaway Queries](/tidb-resource-control-runaway-queries.md)。

* Error Number: 8260

Expand Down
4 changes: 2 additions & 2 deletions faq/sql-faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ TiDB 包含一个基于成本的优化器。在大多数情况下,优化器会

## 如何阻止特定的 SQL 语句执行(或者将某个 SQL 语句加入黑名单)?

对于 v7.5.0 及以上版本,你可以使用 [`QUERY WATCH`](/sql-statements/sql-statement-query-watch.md) 语句将特定的 SQL 查询加入黑名单。具体使用方法参见[管理资源消耗超出预期的查询 (Runaway Queries)](/tidb-resource-control.md#query-watch-语句说明)
对于 v7.5.0 及以上版本,你可以使用 [`QUERY WATCH`](/sql-statements/sql-statement-query-watch.md) 语句将特定的 SQL 查询加入黑名单。具体使用方法参见[管理资源消耗超出预期的查询 (Runaway Queries)](/tidb-resource-control-runaway-queries.md#query-watch-语句说明)

对于 v7.5.0 之前版本,你可以使用 [`MAX_EXECUTION_TIME`](/optimizer-hints.md#max_execution_timen) Hint 来创建 [SQL 绑定](/sql-plan-management.md#执行计划绑定-sql-binding),将特定语句的执行时间限制为一个较小的值(例如 1ms)。这样,语句就会在超过限制时自动终止。

Expand Down Expand Up @@ -209,7 +209,7 @@ TiDB 支持改变[全局](/system-variables.md#tidb_force_priority)或单个语

> **注意:**
>
> TiDB 从 v6.6.0 版本开始支持[使用资源管控 (Resource Control) 实现资源隔离](/tidb-resource-control.md)功能。该功能可以将不同优先级的语句放在不同的资源组中执行,并为这些资源组分配不同的配额和优先级,可以达到更好的资源管控效果。在开启资源管控功能后,语句的调度主要受资源组的控制,`PRIORITY` 将不再生效。建议在支持资源管控的版本优先使用资源管控功能。
> TiDB 从 v6.6.0 版本开始支持[使用资源管控 (Resource Control) 实现资源组限制和流控](/tidb-resource-control-ru-groups.md)功能。该功能可以将不同优先级的语句放在不同的资源组中执行,并为这些资源组分配不同的配额和优先级,可以达到更好的资源管控效果。在开启资源管控功能后,语句的调度主要受资源组的控制,`PRIORITY` 将不再生效。建议在支持资源管控的版本优先使用资源管控功能。

以上两种参数可以结合 TiDB 的 DML 语言进行使用,使用方法举例如下:

Expand Down
4 changes: 2 additions & 2 deletions functions-and-operators/tidb-functions.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ summary: 学习使用 TiDB 特有的函数。

| 函数名 | 函数说明 |
| :-------------- | :------------------------------------- |
| [`CURRENT_RESOURCE_GROUP()`](#current_resource_group) | 用于查询当前连接绑定的资源组名。参见[使用资源管控 (Resource Control) 实现资源隔离](/tidb-resource-control.md)|
| [`CURRENT_RESOURCE_GROUP()`](#current_resource_group) | 用于查询当前连接绑定的资源组名。参见[使用资源管控 (Resource Control) 实现资源组限制和流控](/tidb-resource-control-ru-groups.md)|
| [`TIDB_BOUNDED_STALENESS()`](#tidb_bounded_staleness) | 指示 TiDB 在指定时间范围内读取尽可能新的数据。参见[使用 `AS OF TIMESTAMP` 语法读取历史数据](/as-of-timestamp.md)|
| [`TIDB_CURRENT_TSO()`](#tidb_current_tso) | 返回当前的 [TimeStamp Oracle (TSO)](/tso.md)|
| [`TIDB_DECODE_BINARY_PLAN()`](#tidb_decode_binary_plan) | 用于解码以二进制格式编码的执行计划。 |
Expand All @@ -27,7 +27,7 @@ summary: 学习使用 TiDB 特有的函数。

## CURRENT_RESOURCE_GROUP

`CURRENT_RESOURCE_GROUP()` 函数用于查询当前连接绑定的资源组名称。当开启[资源管控 (Resource Control)](/tidb-resource-control.md) 功能时,执行 SQL 语句对资源的占用会受到所绑定的资源组资源配置的限制。
`CURRENT_RESOURCE_GROUP()` 函数用于查询当前连接绑定的资源组名称。当开启[资源管控 (Resource Control)](/tidb-resource-control-ru-groups.md) 功能时,执行 SQL 语句对资源的占用会受到所绑定的资源组资源配置的限制。

在会话建立时,TiDB 默认会将连接绑定至登录用户绑定的资源组,如果用户没有绑定任何资源组,则会将连接绑定至 `default` 资源组。在会话建立之后,绑定的资源组默认不会发生变化,即使执行了[修改用户绑定的资源组](/sql-statements/sql-statement-alter-user.md#修改用户绑定的资源组)。如需修改当前会话绑定的资源组,可以使用 [`SET RESOURCE GROUP`](/sql-statements/sql-statement-set-resource-group.md) 语句。

Expand Down
2 changes: 1 addition & 1 deletion glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ RPC(远程过程调用)是软件组件之间的一种通信方式。在 TiDB

### Request Unit (RU)

RU 是 TiDB 中资源使用的统一抽象单位,用于在[资源管控](/tidb-resource-control.md)功能中衡量资源的使用情况。
RU 是 TiDB 中资源使用的统一抽象单位,用于在[资源管控](/tidb-resource-control-ru-groups.md)功能中衡量资源的使用情况。

### Restore

Expand Down
4 changes: 2 additions & 2 deletions grafana-resource-control-dashboard.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@ summary: 了解资源管控 (Resource Control) 的 Grafana Dashboard 中所展

目前 Grafana Dashboard 整体分为 PD、TiDB、TiKV、Node_exporter、Overview、Performance_overview 等。

如果你的集群配置了 [Resource Control](/tidb-resource-control.md) ,通过观察 Resource Control 面板上的 Metrics,你可以了解当前集群整体的资源消耗状态。
如果你的集群配置了 [Resource Control](/tidb-resource-control-ru-groups.md) ,通过观察 Resource Control 面板上的 Metrics,你可以了解当前集群整体的资源消耗状态。

TiDB 使用[令牌桶算法](https://en.wikipedia.org/wiki/Token_bucket) 做流控,正如资源管控实现机制 ([RFC: Global Resource Control in TiDB](https://github.com/pingcap/tidb/blob/master/docs/design/2022-11-25-global-resource-control.md#distributed-token-buckets)) 中所描述:一个 TiDB 节点可能存在多个 Resource Group(资源组),将在 PD 端的 GAC(Global Admission Control)进行流控。每个 TiDB 节点中的本地令牌桶(Local Token Buckets)将定期(默认 5 秒)与 PD 端的 GAC 进行通信,以重新配置本地令牌。其中的本地令牌桶(Local Token Buckets)具体实现为 Resource Controller Client。

以下为 **Resource Control** 关键监控指标的说明。

## Request Unit 相关指标

- RU:以 Resource Group(资源组)为单位进行实时统计的 [Request Unit (RU)](/tidb-resource-control.md#什么是-request-unit-ru) 消耗信息。`total` 为当前所有 Resource Group 消耗的 Request Unit 之和。每个 Resource Group 的 Request Unit 消耗等于其读消耗 (Read Request Unit) 和写消耗 (Write Request Unit) 之和。
- RU:以 Resource Group(资源组)为单位进行实时统计的 [Request Unit (RU)](/tidb-resource-control-ru-groups.md#什么是-request-unit-ru) 消耗信息。`total` 为当前所有 Resource Group 消耗的 Request Unit 之和。每个 Resource Group 的 Request Unit 消耗等于其读消耗 (Read Request Unit) 和写消耗 (Write Request Unit) 之和。
- RU Per Query:平均每个 SQL 语句消耗的 Request Unit 数量。计算方法是将前述 Request Unit 监控指标除以当前每秒执行的 SQL 语句数量。
- RRU:以 Resource Group 为单位进行实时统计的读请求 Read Request Unit 消耗信息。`total` 为当前所有 Resource Group 消耗的 Read Request Unit 之和。
- RRU Per Query:平均每个 SQL 语句消耗的 Read Request Unit 数量。计算方法是将前述 Read Request Unit 监控指标除以当前每秒执行的 SQL 语句数量。
Expand Down
4 changes: 2 additions & 2 deletions information-schema/information-schema-resource-groups.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ summary: 了解 information_schema 表 `RESOURCE_GROUPS`。

# RESOURCE_GROUPS

`RESOURCE_GROUPS` 表展示所有资源组 (resource group) 的信息,见[使用资源管控 (Resource Control) 实现资源隔离](/tidb-resource-control.md)
`RESOURCE_GROUPS` 表展示所有资源组 (resource group) 的信息,见[使用资源管控 (Resource Control) 实现资源组限制和流控](/tidb-resource-control-ru-groups.md)

```sql
USE information_schema;
Expand Down Expand Up @@ -75,7 +75,7 @@ SELECT * FROM information_schema.resource_groups WHERE NAME = 'rg1'; -- 查看
`RESOURCE_GROUPS` 表中列的含义如下:

* `NAME`:资源组名称。
* `RU_PER_SEC`:资源组的回填速度,单位为每秒回填的 [Request Unit (RU)](/tidb-resource-control.md#什么是-request-unit-ru) 数量。
* `RU_PER_SEC`:资源组的回填速度,单位为每秒回填的 [Request Unit (RU)](/tidb-resource-control-ru-groups.md#什么是-request-unit-ru) 数量。
* `PRIORITY`:任务在 TiKV 上处理的绝对优先级。不同的资源按照 `PRIORITY` 的设置进行调度,`PRIORITY` 高的任务会被优先调度。如果资源组的 `PRIORITY` 相同,则会根据 `RU_PER_SEC` 的配置按比例调度。如果不指定 `PRIORITY`,资源组的默认优先级为 `MEDIUM`
* `BURSTABLE`:是否允许此资源组超额使用剩余的系统资源。

Expand Down
2 changes: 1 addition & 1 deletion information-schema/information-schema-runaway-watches.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ summary: 了解 INFORMATION_SCHEMA 表 `RUNAWAY_WATCHES`。

# RUNAWAY_WATCHES

`RUNAWAY_WATCHES` 表展示资源消耗超出预期的查询 Runaway Queries 监控列表,见 [Runaway Queries](/tidb-resource-control.md#管理资源消耗超出预期的查询-runaway-queries)
`RUNAWAY_WATCHES` 表展示资源消耗超出预期的查询 Runaway Queries 监控列表,见 [Runaway Queries](/tidb-resource-control-runaway-queries.md#管理资源消耗超出预期的查询-runaway-queries)

```sql
USE INFORMATION_SCHEMA;
Expand Down
2 changes: 1 addition & 1 deletion optimizer-hints.md
Original file line number Diff line number Diff line change
Expand Up @@ -860,7 +860,7 @@ SELECT /*+ NTH_PLAN(3) */ count(*) from t where a > 5;

### RESOURCE_GROUP(resource_group_name)

`RESOURCE_GROUP(resource_group_name)` 用于[使用资源管控 (Resource Control) 实现资源隔离](/tidb-resource-control.md)。此 Hint 将临时使用指定的资源组执行当前的语句。如果指定的资源组不存在,则该 Hint 将被忽略。
`RESOURCE_GROUP(resource_group_name)` 用于[使用资源管控 (Resource Control) 实现资源组限制和流控](/tidb-resource-control-ru-groups.md)。此 Hint 将临时使用指定的资源组执行当前的语句。如果指定的资源组不存在,则该 Hint 将被忽略。

示例:

Expand Down
4 changes: 2 additions & 2 deletions pd-configuration-file.md
Original file line number Diff line number Diff line change
Expand Up @@ -498,7 +498,7 @@ Region 同步模式相关的配置项。更多详情,请参阅[启用自适应

## controller

PD 中内置的 [Resource Control](/tidb-resource-control.md) 相关的配置项。
PD 中内置的 [Resource Control](/tidb-resource-control-ru-groups.md) 相关的配置项。

### `degraded-mode-wait-duration`

Expand All @@ -508,7 +508,7 @@ PD 中内置的 [Resource Control](/tidb-resource-control.md) 相关的配置项

### `request-unit`

下面是 [Request Unit (RU)](/tidb-resource-control.md#什么是-request-unit-ru) 相关的配置项。
下面是 [Request Unit (RU)](/tidb-resource-control-ru-groups.md#什么是-request-unit-ru) 相关的配置项。

#### `read-base-cost`

Expand Down
2 changes: 1 addition & 1 deletion pd-control.md
Original file line number Diff line number Diff line change
Expand Up @@ -1262,7 +1262,7 @@ resource-manager config controller show
}
```

- `ltb-max-wait-duration`:本地令牌桶 (Local Token Bucket, LTB) 的最大等待时间。默认值为 `30s`,取值范围为 `[0, 24h]`。如果 SQL 请求预估消耗的 [Request Unit (RU)](/tidb-resource-control.md#什么是-request-unit-ru) 超过了当前 LTB 积累的 RU,则需要等待一定时间。如果预估等待时间超过了此最大等待时间,则会提前向应用返回错误 [`ERROR 8252 (HY000) : Exceeded resource group quota limitation`](/error-codes.md)。增大该值可以减少某些突发并发增加、大事务和大查询的情况下容易报错 `ERROR 8252` 的问题。
- `ltb-max-wait-duration`:本地令牌桶 (Local Token Bucket, LTB) 的最大等待时间。默认值为 `30s`,取值范围为 `[0, 24h]`。如果 SQL 请求预估消耗的 [Request Unit (RU)](/tidb-resource-control-ru-groups.md#什么是-request-unit-ru) 超过了当前 LTB 积累的 RU,则需要等待一定时间。如果预估等待时间超过了此最大等待时间,则会提前向应用返回错误 [`ERROR 8252 (HY000) : Exceeded resource group quota limitation`](/error-codes.md)。增大该值可以减少某些突发并发增加、大事务和大查询的情况下容易报错 `ERROR 8252` 的问题。
- `enable-controller-trace-log`:controller 诊断日志开关。

#### 修改 Resource Control 的 controller 配置
Expand Down
Loading

0 comments on commit 51b12b0

Please sign in to comment.