This is an automated email from the ASF dual-hosted git repository.

yiguolei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris-website.git


The following commit(s) were added to refs/heads/master by this push:
     new 71a254d6fc1 update wg document (#1627)
71a254d6fc1 is described below

commit 71a254d6fc1163248c14a6758632a111d08e71ad
Author: wangbo <[email protected]>
AuthorDate: Thu Dec 26 21:43:52 2024 +0800

    update wg document (#1627)
    
    ## Versions
    
    - [x] dev
    - [ ] 3.0
    - [ ] 2.1
    - [ ] 2.0
    
    ## Languages
    
    - [x] Chinese
    - [ ] English
    
    ## Docs Checklist
    
    - [ ] Checked by AI
    - [ ] Test Cases Built
---
 .../concurrency-control-and-queuing.md             | 10 +++---
 .../workload-management/sql-blocking.md            | 39 +++++++++++---------
 .../workload-management/workload-group.md          | 41 ++++++++--------------
 3 files changed, 42 insertions(+), 48 deletions(-)

diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-management/concurrency-control-and-queuing.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-management/concurrency-control-and-queuing.md
index c3212be24df..f9b2c0f7f24 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-management/concurrency-control-and-queuing.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-management/concurrency-control-and-queuing.md
@@ -41,12 +41,12 @@ properties (
 
 **参数说明**
 
-* max_concurrency:最大查询并发数,默认值为整型最大值,也就是不做并发的限制。运行中的查询数量达到该值时,新来的查询会进入排队的逻辑。
-
-* max_queue_size:查询排队队列的长度,当排队队列已满时,新来的查询会被拒绝。默认值为 0,含义是不排队,当查询数达到最大时查询会直接失败。
-
-* queue_timeout:查询在排队队列中的超时时间,单位为毫秒,如果查询在队列中的排队时间超过这个值,那么就会直接抛出异常给客户端。默认值为 
0,含义是不排队,查询进入队列后立即返回失败。
 
+| 属性名称                       | 数据类型  | 默认值 |  取值范围   | 说明                      
                                                                                
                                                                                
                                                                                
                                                                                
                 |
+|------------------------------|---------|-----|-----|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| max_concurrency              | 整型      | 2147483647 | [0, 2147483647] | 
可选,最大查询并发数,默认值为整型最大值,也就是不做并发的限制。运行中的查询数量达到最大并发时,新来的查询会进入排队的逻辑。                  
                                                                                
                                                                                
                                                                                
                                         |
+| max_queue_size               | 整型      | 0          | [0, 2147483647] | 
可选,查询排队队列的长度,当排队队列已满时,新来的查询会被拒绝。默认值为 0,含义是不排队。当排队队列已满时,新来的查询会直接失败。              
                                                                                
                                                                                
                                                                                
                                         |
+| queue_timeout                | 整型      | 0          | [0, 2147483647] | 
可选,查询在排队队列中的最大等待时间,单位为毫秒。如果查询在队列中的排队时间超过这个值,那么就会直接抛出异常给客户端。默认值为 
0,含义是不排队,查询进入队列后立即返回失败。                                                         
                                                                                
                                                                                
                                                         |
 
 
如果集群中目前有1台FE,那么这个配置的含义为,集群中同时运行的查询数最大不超过10个,当最大并发已满时,新来的查询会排队,队列的长度不超过20。查询在队列中排队的时间最长为3s,排队超过3s的查询会直接返回失败给客户端。
 
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-management/sql-blocking.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-management/sql-blocking.md
index 8da5b0904d8..55e91e02830 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-management/sql-blocking.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-management/sql-blocking.md
@@ -249,27 +249,32 @@ properties('enabled'='true');
 ```
 
 在创建 Workload Policy 时需要指定以下内容:
-- Conditions 表示策略触发条件,可以多个 Condition 串联,使用逗号“,”隔开,表示“与”的关系。在上例中 query_time > 
1000 表示在查询时间大于 1s 时触发 Policy;
-- Action 表示条件触发时采取的动作,目前一个 Policy 只能定义一个 Action(除 
set_session_variable)。在上例中,cancel_query 表示取消查询;
+- Conditions 表示策略触发条件,可以多个 Condition 串联,使用逗号“,”隔开,表示“与”的关系。在上例中 query_time > 
1000 表示在查询时间大于 1s 时触发 Policy;目前支持的 Conditions 有:
 
-- Properties,定义了当前 Policy 的属性,包括是否启用和优先级。
+| Conditions            | 说明                                                   
               |
+|-----------------------|---------------------------------------------------------------------|
+| username              | 查询携带的用户名,只会在FE触发 set_session_variable Action         
               |
+| be_scan_rows          | 一个 SQL 在单个 BE 进程内 scan 的行数,如果这个 SQL 在 BE 
上是多并发执行,那么就是多个并发的累加值。      |
+| be_scan_bytes         | 一个 SQL 在单个 BE 进程内 scan 的字节数,如果这个 SQL 在 BE 
上是多并发执行,那么就是多个并发的累加值,单位是字节。 |
+| query_time            | 一个 SQL 在单个 BE 进程上的运行时间,时间单位是毫秒。                      
               |
+| query_be_memory_bytes | 一个 SQL 在单个 BE 进程内使用的内存用量,如果这个 SQL 在 BE 
上是多并发执行,那么就是多个并发的累加值,单位是字节。  |
+
+- Action 表示条件触发时采取的动作,目前一个 Policy 只能定义一个 Action(除 
set_session_variable)。在上例中,cancel_query 表示取消查询;目前支持的 Actions 有:
 
-一个 Policy 只能指定作用在 FE 或 BE 其中一个组件,无法同时作用在 FE 与 BE 上。这是因为 FE 与 BE 有独立的 
Conditions 与 Actions 选项,Policy 不区分 FE 与 BE 组件。下表中列出 Policy 的子句选项:
-
-| 组件   | 子句         |   选项  |  说明   |
-|------|------------|-----|-----|
-| FE   | Conditions |  username   |  当一个查询的 username 为某个值时,就会触发相应的 Action。   |
-|      | Actions    | set_session_variable    | 触发 set session variable 语句。同一个 
Policy 可以有多个 set_session_variable 选项。    |
-| BE   | Conditions |     be_scan_rows                | 一个 SQL 在单个 BE 进程内 scan 
的行数,如果这个 SQL 在 BE 上是多并发执行,那么就是多个并发的累加值。                                         
                           |
-|      |            |     be_scan_bytes               | 一个 SQL 在单个 BE 进程内 scan 
的字节数,如果这个 SQL 在 BE 上是多并发执行,那么就是多个并发的累加值,单位是字节。                                  
                                                                                
      |
-|      |            |     query_time                  | 一个 SQL 在单个 BE 
进程上的运行时间,时间单位是毫秒。                                                               
                                                         |
-|      |            |      query_be_memory_bytes      | 一个 SQL 在单个 BE 
进程内使用的内存用量,如果这个 SQL 在 BE 上是多并发执行,那么就是多个并发的累加值,单位是字节。                            
                                                                                
            |
-|      | Actions    |    cancel_query                 | 取消查询。                  
                                                                                
                      |
-| FE&BE | properties | enabled                                | 取值为 true 或 
false,默认值为 true,表示当前 Policy 处于启用状态,false 表示当前 Policy 处于禁用状态。                    
                                                                                
                    |
-|      |            | priority                                | 取值范围为 0 到 100 
的正整数,默认值为 0,代表 Policy 的优先级,该值越大,优先级越高。这个属性的主要作用是,当匹配到多个 Policy 时,选择优先级最高的 
Policy。                                                                         
                                               |
-|      |            |  workload_group                         |  目前一个 Policy 
可以绑定一个 workload group,代表这个 Policy 只对某个 workload group 生效。默认为空,代表对所有查询生效。        
                                                                                
                               |
+| Conditions            | 说明                                                   
               |
+|-----------------------|---------------------------------------------------------------------|
+| username              | 查询携带的用户名,只会在FE触发 set_session_variable Action         
               |
+| be_scan_rows          | 一个 SQL 在单个 BE 进程内 scan 的行数,如果这个 SQL 在 BE 
上是多并发执行,那么就是多个并发的累加值。      |
+| be_scan_bytes         | 一个 SQL 在单个 BE 进程内 scan 的字节数,如果这个 SQL 在 BE 
上是多并发执行,那么就是多个并发的累加值,单位是字节。 |
+| query_time            | 一个 SQL 在单个 BE 进程上的运行时间,时间单位是毫秒。                      
               |
+| query_be_memory_bytes | 一个 SQL 在单个 BE 进程内使用的内存用量,如果这个 SQL 在 BE 
上是多并发执行,那么就是多个并发的累加值,单位是字节。  |
 
 
+- Properties,定义了当前 Policy 的属性,包括是否启用和优先级。
+  - enabled,取值为 true 或 false,默认值为 true,表示当前 Policy 处于启用状态,false 表示当前 Policy 
处于禁用状态。
+  - priority,取值范围为 0 到 100 的正整数,默认值为 0,代表 Policy 
的优先级,该值越大,优先级越高。这个属性的主要作用是,当匹配到多个 Policy 时,选择优先级最高的 Policy。
+  - workload_group,目前一个 Policy 可以绑定一个 workload group,代表这个 Policy 只对某个 workload 
group 生效。默认为空,代表对所有查询生效。
+
 ### 将熔断策略绑定 Workload Group
 默认情况下,Workload Policy 会对所有支持的查询生效。如果想指定 Policy 只针对与某一个 Workload Group,需要通过 
workload_group 选项绑定 Workload Group。语句如下:
 
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-management/workload-group.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-management/workload-group.md
index cba3b46c691..ee4422d29af 100644
--- 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-management/workload-group.md
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-management/workload-group.md
@@ -151,33 +151,22 @@ Query OK, 0 rows affected (0.03 sec)
 
 ### Workload Group属性
 
-* cpu_share: 可选,默认值为 -1。有效值的取值范围是正整数。用于设置 workload group 获取 CPU 时间的多少,可以实现 CPU 
资源软隔离。cpu_share 是相对值,表示正在运行的 workload group 可获取 CPU 资源的权重。例如,用户创建了 3 个 workload 
group g-a、g-b 和 g-c,cpu_share 分别为 10、30、40,某一时刻 g-a 和 g-b 正在跑任务,而 g-c 没有任务,此时 
g-a 可获得 25% (10 / (10 + 30)) 的 CPU 资源,而 g-b 可获得 75% 的 CPU 资源。如果系统只有一个 workload 
group 正在运行,则不管其 cpu_share 的值为多少,它都可获取全部的 CPU 资源。
 
-* memory_limit: 可选,默认值 -1,含义为不限制内存使用。有效值的取值范围 1%~100%,用于设置 workload group 可以使用 
be 内存的百分比。Workload Group 可用的最大内存,所有 group 的累加值不可以超过 100%,通常与 
enable_memory_overcommit 配合使用。如果一个机器的内存为 64G,mem_limit=50%,那么该 group 
的实际物理内存=64G * 90%(be conf mem_limit) * 50%= 28.8G,这里的 90% 是 BE 进程级别的 mem_limit 
参数,限制整个 BE 进程的内存用量。一个集群中所有 Workload Group 的 memory_limit 的累加值不能超过 100%。
-
-* enable_memory_overcommit: 可选,用于开启 workload group 内存软隔离,默认为 true。如果设置为 
false,则该 workload group 为内存硬隔离,系统检测到 workload group 内存使用超出限制后将立即 cancel 
组内内存占用最大的若干个任务,以释放超出的内存;如果设置为 true,则该 workload group 为内存软隔离,如果系统有空闲内存资源则该 
workload group 在超出 memory_limit 的限制后可继续使用系统内存,在系统总内存紧张时会 cancel 
组内内存占用最大的若干个任务,释放部分超出的内存以缓解系统内存压力。建议在有 workload group 开启该配置时,所有 workload group 
的 memory_limit 总和低于 100%,剩余部分用于 workload group 内存超发。
-
-* cpu_hard_limit:可选,默认值 -1,含义为不限制CPU上限。取值范围 1%~100%,CPU 硬限制模式下,Workload Group 
最大可用的 CPU 百分比,不管当前机器的 CPU 资源是否被用满,Workload Group 的最大 CPU 用量都不能超过 cpu_hard_limit,
-  所有 Workload Group 的 cpu_hard_limit 累加值不能超过 100%。2.1 版本新增属性,2.0版本不支持该功能。
-
-* max_concurrency:可选,最大查询并发数,默认值为整型最大值,也就是不做并发的限制。运行中的查询数量达到该值时,新来的查询会进入排队的逻辑。
-
-* max_queue_size:可选,查询排队队列的长度,当排队队列已满时,新来的查询会被拒绝。默认值为 
0,含义是不排队,当查询数达到最大时查询会直接失败。
-
-* queue_timeout:可选,查询在排队队列中的超时时间,单位为毫秒,如果查询在队列中的排队时间超过这个值,那么就会直接抛出异常给客户端。默认值为 
0,含义是不排队,查询进入队列后立即返回失败。
-
-* scan_thread_num:可选,当前 workload group 用于 scan 的线程个数,默认值为 -1,含义是不生效,此时以 be 
配置中的 scan 线程数为准。取值为大于 0 的整数。
-
-* 
max_remote_scan_thread_num:可选,读外部数据源的scan线程池的最大线程数,默认值为-1,当该值为-1时,实际的线程数由BE自行决定,通常和核数相关。
-
-* 
min_remote_scan_thread_num:可选,读外部数据源的scan线程池的最小线程数,默认值为-1,当该值为-1时,实际的线程数由BE自行决定,通常和核数相关。
-
-* tag:可选,默认为空,为Workload Group指定标签,相同标签的Workload 
Group资源累加值不能超过100%,如果期望指定多个值,可以使用英文逗号分隔。
-
-* 
read_bytes_per_second:可选,含义为读Doris内表时的最大IO吞吐,默认值为-1,也就是不限制IO带宽。需要注意的是这个值并不绑定磁盘,而是绑定文件夹。
-  
比如为Doris配置了2个文件夹用于存放内表数据,那么每个文件夹的最大读IO不会超过该值,如果这2个文件夹都配置到同一块盘上,最大吞吐控制就会变成2倍的read_bytes_per_second。落盘的文件目录也受该值的约束。
-
-* remote_read_bytes_per_second:可选,含义为读Doris外表时的最大IO吞吐,默认值为-1,也就是不限制IO带宽。
+| 属性名称                       | 数据类型  | 默认值 |  取值范围   | 说明                      
                                                                                
                                                                                
                                                                                
                                                                                
                 |
+|------------------------------|---------|-----|-----|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| cpu_share                    | 整型      | -1  |  [1, 10000]   | 
可选,CPU软限模式下生效,取值范围和使用的CGroup版本有关,下文有详细描述。cpu_share 代表了 Workload Group 
可获得CPU时间的权重,值越大,可获得的CPU时间越多。例如,用户创建了 3 个 Workload Group g-a、g-b 和 g-c,cpu_share 
分别为 10、30、40,某一时刻 g-a 和 g-b 正在跑任务,而 g-c 没有任务,此时 g-a 可获得 25% (10 / (10 + 30)) 的 
CPU 资源,而 g-b 可获得 75% 的 CPU 资源。如果系统只有一个 Workload Group 正在运行,则不管其 cpu_share 
的值为多少,它都可获取全部的 CPU 资源 。                                   |
+| memory_limit                 | 浮点      | -1         | (0%, 100%]      | 
可选,开启内存硬限时代表当前 Workload Group 最大可用内存,默认值代表不限制内存。所有 Workload Group 的 
memory_limit 累加值不可以超过 100%,通常与 enable_memory_overcommit 配合使用。如果一个机器的内存为 
64G,mem_limit=50%,那么该 group 的实际物理内存=64G * 90%(be conf mem_limit) * 50%= 
28.8G,这里的 90% 是 BE 进程级别的 mem_limit 参数,限制整个 BE 进程的内存用量。一个集群中所有 Workload Group 的 
memory_limit 的累加值不能超过 100%。                                           |
+| enable_memory_overcommit     | 布尔      | true       | true, false      | 
可选,用于控制当前 Workload Group 的内存限制是硬限还是软限,默认为 true。如果设置为 false,则该 workload group 
为内存硬隔离,系统检测到 workload group 内存使用超出限制后将立即 cancel 组内内存占用最大的若干个任务,以释放超出的内存;如果设置为 
true,则该 Workload Group 为内存软隔离,如果系统有空闲内存资源则该 Workload Group 在超出 memory_limit 
的限制后可继续使用系统内存,在系统总内存紧张时会 cancel 组内内存占用最大的若干个任务,释放部分超出的内存以缓解系统内存压力。建议所有 workload 
group 的 memory_limit 总和低于 100%,为BE进程中的其他组件保留一些内存。 |
+| cpu_hard_limit               | 整型      | -1         | [1%, 100%]      | 
可选,CPU 硬限制模式下生效,Workload Group 最大可用 CPU 百分比,不管当前机器的 CPU 资源是否被用满,Workload Group 
的最大 CPU 用量都不能超过 cpu_hard_limit,所有 Workload Group 的 cpu_hard_limit 累加值不能超过 
100%。2.1 版本新增属性,2.0版本不支持该功能。                                                    
                                                                                
                                                |
+| max_concurrency              | 整型      | 2147483647 | [0, 2147483647] | 
可选,最大查询并发数,默认值为整型最大值,也就是不做并发的限制。运行中的查询数量达到最大并发时,新来的查询会进入排队的逻辑。                  
                                                                                
                                                                                
                                                                                
                                         |
+| max_queue_size               | 整型      | 0          | [0, 2147483647] | 
可选,查询排队队列的长度,当排队队列已满时,新来的查询会被拒绝。默认值为 0,含义是不排队。当排队队列已满时,新来的查询会直接失败。              
                                                                                
                                                                                
                                                                                
                                         |
+| queue_timeout                | 整型      | 0          | [0, 2147483647] | 
可选,查询在排队队列中的最大等待时间,单位为毫秒。如果查询在队列中的排队时间超过这个值,那么就会直接抛出异常给客户端。默认值为 
0,含义是不排队,查询进入队列后立即返回失败。                                                         
                                                                                
                                                                                
                                                         |
+| scan_thread_num              | 整型      | -1         | [1, 2147483647] | 
可选,当前 workload group 用于 scan 的线程个数。当该属性为 -1,含义是不生效,此时在BE上的实际取值为 BE 
配置中的```doris_scanner_thread_pool_thread_num```。                                 
                                                                                
                                                                                
                                                      |
+| max_remote_scan_thread_num   | 整型      | -1         | [1, 2147483647] | 
可选,读外部数据源的scan线程池的最大线程数。当该属性为-1时,实际的线程数由BE自行决定,通常和核数相关。                         
                                                                                
                                                                                
                                                                                
                                         |
+| min_remote_scan_thread_num   | 整型      | -1         | [1, 2147483647] | 
可选,读外部数据源的scan线程池的最小线程数。当该属性为-1时,实际的线程数由BE自行决定,通常和核数相关。                         
                                                                                
                                                                                
                                                                                
                                         |
+| tag                          | 字符串     | 空          |   -   | 为Workload 
Group指定分组标签,相同标签的Workload Group资源累加值不能超过100%;如果期望指定多个值,可以使用英文逗号分隔。              
                                                                                
                                                                                
                                                                                
                               |
+| read_bytes_per_second        | 整型      | -1         | [1, 
9223372036854775807] | 
可选,含义为读Doris内表时的最大IO吞吐,默认值为-1,也就是不限制IO带宽。需要注意的是这个值并不绑定磁盘,而是绑定文件夹。比如为Doris配置了2个文件夹用于存放内表数据,那么每个文件夹的最大读IO不会超过该值,如果这2个文件夹都配置到同一块盘上,最大吞吐控制就会变成2倍的read_bytes_per_second。落盘的文件目录也受该值的约束。
                                                                                
                                                                                
                       |
+| remote_read_bytes_per_second | 整型      | -1    | [1, 9223372036854775807] | 
可选,含义为读Doris外表时的最大IO吞吐,默认值为-1,也就是不限制IO带宽。                                       
                                                                                
                                                                                
                                                                                
                                         |
 
 :::tip
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to