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 47fca044560 add some tips for workload group cpu soft limit (#3225)
47fca044560 is described below
commit 47fca044560609abf477778ac31c65238f211a81
Author: yiguolei <[email protected]>
AuthorDate: Thu Dec 25 18:10:32 2025 +0800
add some tips for workload group cpu soft limit (#3225)
## Versions
- [x] dev
- [x] 4.x
- [x] 3.x
- [x] 2.1
## Languages
- [ ] Chinese
- [ ] English
## Docs Checklist
- [ ] Checked by AI
- [ ] Test Cases Built
Co-authored-by: yiguolei <[email protected]>
---
docs/query-acceleration/query-profile.md | 2 +-
.../version-2.1/admin-manual/workload-management/workload-group.md | 3 ++-
.../version-3.x/admin-manual/workload-management/workload-group.md | 3 ++-
.../version-2.1/admin-manual/workload-management/workload-group.md | 3 ++-
.../version-3.x/admin-manual/workload-management/workload-group.md | 3 ++-
versioned_docs/version-4.x/query-acceleration/query-profile.md | 2 +-
6 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/docs/query-acceleration/query-profile.md
b/docs/query-acceleration/query-profile.md
index 724039279b1..cb5b8c4adf7 100644
--- a/docs/query-acceleration/query-profile.md
+++ b/docs/query-acceleration/query-profile.md
@@ -1,6 +1,6 @@
---
{
- "title": "Query Profile Analysis Guide",
+ "title": "Query Profile Analysis",
"language": "en",
"description": "Apache Doris provides Query Profile to expose query
execution details. This article covers the overall architecture and practical
guidance, including:"
}
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/workload-management/workload-group.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/workload-management/workload-group.md
index 380193a265a..74e2d0defbf 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/workload-management/workload-group.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/admin-manual/workload-management/workload-group.md
@@ -153,7 +153,6 @@ Query OK, 0 rows affected (0.03 sec)
| 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 带宽。
|
@@ -165,6 +164,8 @@ Query OK, 0 rows affected (0.03 sec)
3. 需要注意 CGroup v1 CGroup v2 版本 CPU 软限默认值是有区别的,CGroup v1 的 CPU 软限默认值为
1024,取值范围为 2 到 262144。而 CGroup v2 的 CPU 软限默认值为 100,取值范围是 1 到 10000。
如果软限填了一个超出范围的值,这会导致 CPU 软限在 BE 修改失败。如果在 CGroup v1 的环境上如果按照 CGroup v2 的默认值
100 设置,这可能导致这个 workload group 的优先级在该机器上是最低的。
+
+4. CPU 软限的核心是 “相对权重分配” —— 它不限制任务的绝对 CPU 使用时间,而是在 CPU 资源被争用(整体利用率≥100%)
时,按权重比例分配 CPU 时间片;若 CPU 空闲,任务可无限制使用全部 CPU 资源。所以非常难评估效果,建议线上使用硬限。
:::
## 为用户设置 Workload Group
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.x/admin-manual/workload-management/workload-group.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.x/admin-manual/workload-management/workload-group.md
index 655396cc7fd..741de5b8421 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.x/admin-manual/workload-management/workload-group.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.x/admin-manual/workload-management/workload-group.md
@@ -153,7 +153,6 @@ Query OK, 0 rows affected (0.03 sec)
| 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 带宽。
|
@@ -165,6 +164,8 @@ Query OK, 0 rows affected (0.03 sec)
3. 需要注意 CGroup v1 CGroup v2 版本 CPU 软限默认值是有区别的,CGroup v1 的 CPU 软限默认值为
1024,取值范围为 2 到 262144。而 CGroup v2 的 CPU 软限默认值为 100,取值范围是 1 到 10000。
如果软限填了一个超出范围的值,这会导致 CPU 软限在 BE 修改失败。如果在 CGroup v1 的环境上如果按照 CGroup v2 的默认值
100 设置,这可能导致这个 workload group 的优先级在该机器上是最低的。
+
+4. CPU 软限的核心是 “相对权重分配” —— 它不限制任务的绝对 CPU 使用时间,而是在 CPU 资源被争用(整体利用率≥100%)
时,按权重比例分配 CPU 时间片;若 CPU 空闲,任务可无限制使用全部 CPU 资源。所以非常难评估效果,建议线上使用硬限。
:::
## 为用户设置 Workload Group
diff --git
a/versioned_docs/version-2.1/admin-manual/workload-management/workload-group.md
b/versioned_docs/version-2.1/admin-manual/workload-management/workload-group.md
index 5deae02d8e2..14a0e51c629 100644
---
a/versioned_docs/version-2.1/admin-manual/workload-management/workload-group.md
+++
b/versioned_docs/version-2.1/admin-manual/workload-management/workload-group.md
@@ -165,7 +165,6 @@ The CPU limit configured at this point is a soft limit.
Since version 2.1, Doris
| scan_thread_num | Integer | -1 | [1, 2147483647]
| Optional. Specifies the number of threads used for scanning in the
current Workload Group. When this property is set to -1, it means it is not
active, and the actual scan thread num on the BE will default to the
doris_scanner_thread_pool_thread_num configuration in the BE.
[...]
| max_remote_scan_thread_num | Integer | -1 | [1, 2147483647]
| Optional. Specifies the maximum number of threads in the scan thread
pool for reading external data sources. When this property is set to -1, the
actual number of threads is determined by the BE, typically based on the number
of CPU cores.
[...]
| min_remote_scan_thread_num | Integer | -1 | [1, 2147483647]
| Optional. Specifies the minimum number of threads in the scan thread
pool for reading external data sources. When this property is set to -1, the
actual number of threads is determined by the BE, typically based on the number
of CPU cores.
[...]
-| tag | String | empty | -
| This feature has been discontinued and is not recommended for use in
production environments; Specifies tags for the Workload Group. The cumulative
resource values of Workload Groups with the same tag cannot exceed 100%. To
specify multiple values, use commas to separate them.
[...]
| read_bytes_per_second | Integer | -1 | [1,
9223372036854775807] | Optional. Specifies the maximum I/O throughput when
reading internal tables in Doris. The default value is -1, meaning no I/O
bandwidth limit is applied. It is important to note that this value is not tied
to individual disks but to directories. For example, if Doris is configured
with two directories to store internal table data, the maximum read I/O for
each directory will not exceed this value. If [...]
| remote_read_bytes_per_second | Integer | -1 | [1,
9223372036854775807] | Optional. Specifies the maximum I/O throughput when
reading external tables in Doris. The default value is -1, meaning no I/O
bandwidth limit is applied.
[...]
@@ -178,6 +177,8 @@ At any given time, a cluster can only have either a soft
limit or a hard limit.
3. It is important to note that the default values for CPU soft limits differ
between CGroup v1 and CGroup v2. The default CPU soft limit for CGroup v1 is
1024, with a valid range from 2 to 262144, while the default for CGroup v2 is
100, with a valid range from 1 to 10000.
If a value outside the range is set for the soft limit, it may cause the
CPU soft limit modification to fail in BE. If the default value of 100 from
CGroup v2 is applied in a CGroup v1 environment, it could result in this
Workload Group having the lowest priority on the machine.
+
+4. CPU soft limit is relative weight allocation: it does not restrict the
absolute CPU time consumed by a task. Instead, it allocates CPU time slices in
proportion to the assigned weights when CPU resources are contended (overall
utilization ≥ 100%). If the CPU is idle, tasks can consume all available CPU
resources without any restrictions. Therefore, it is extremely difficult to
evaluate its actual effectiveness, and it is recommended to use CPU hard limit
in production environments.
:::
## Set Workload Group for user
diff --git
a/versioned_docs/version-3.x/admin-manual/workload-management/workload-group.md
b/versioned_docs/version-3.x/admin-manual/workload-management/workload-group.md
index 5ab0baed540..0b713ae1f20 100644
---
a/versioned_docs/version-3.x/admin-manual/workload-management/workload-group.md
+++
b/versioned_docs/version-3.x/admin-manual/workload-management/workload-group.md
@@ -165,7 +165,6 @@ The CPU limit configured at this point is a soft limit.
Since version 2.1, Doris
| scan_thread_num | Integer | -1 | [1, 2147483647]
| Optional. Specifies the number of threads used for scanning in the
current Workload Group. When this property is set to -1, it means it is not
active, and the actual scan thread num on the BE will default to the
doris_scanner_thread_pool_thread_num configuration in the BE.
[...]
| max_remote_scan_thread_num | Integer | -1 | [1, 2147483647]
| Optional. Specifies the maximum number of threads in the scan thread
pool for reading external data sources. When this property is set to -1, the
actual number of threads is determined by the BE, typically based on the number
of CPU cores.
[...]
| min_remote_scan_thread_num | Integer | -1 | [1, 2147483647]
| Optional. Specifies the minimum number of threads in the scan thread
pool for reading external data sources. When this property is set to -1, the
actual number of threads is determined by the BE, typically based on the number
of CPU cores.
[...]
-| tag | String | empty | -
| This feature has been discontinued and is not recommended for use in
production environments; Specifies tags for the Workload Group. The cumulative
resource values of Workload Groups with the same tag cannot exceed 100%. To
specify multiple values, use commas to separate them.
[...]
| read_bytes_per_second | Integer | -1 | [1,
9223372036854775807] | Optional. Specifies the maximum I/O throughput when
reading internal tables in Doris. The default value is -1, meaning no I/O
bandwidth limit is applied. It is important to note that this value is not tied
to individual disks but to directories. For example, if Doris is configured
with two directories to store internal table data, the maximum read I/O for
each directory will not exceed this value. If [...]
| remote_read_bytes_per_second | Integer | -1 | [1,
9223372036854775807] | Optional. Specifies the maximum I/O throughput when
reading external tables in Doris. The default value is -1, meaning no I/O
bandwidth limit is applied.
[...]
@@ -178,6 +177,8 @@ At any given time, a cluster can only have either a soft
limit or a hard limit.
3. It is important to note that the default values for CPU soft limits differ
between CGroup v1 and CGroup v2. The default CPU soft limit for CGroup v1 is
1024, with a valid range from 2 to 262144, while the default for CGroup v2 is
100, with a valid range from 1 to 10000.
If a value outside the range is set for the soft limit, it may cause the
CPU soft limit modification to fail in BE. If the default value of 100 from
CGroup v2 is applied in a CGroup v1 environment, it could result in this
Workload Group having the lowest priority on the machine.
+
+4. CPU soft limit is relative weight allocation: it does not restrict the
absolute CPU time consumed by a task. Instead, it allocates CPU time slices in
proportion to the assigned weights when CPU resources are contended (overall
utilization ≥ 100%). If the CPU is idle, tasks can consume all available CPU
resources without any restrictions. Therefore, it is extremely difficult to
evaluate its actual effectiveness, and it is recommended to use CPU hard limit
in production environments.
:::
## Set Workload Group for user
diff --git a/versioned_docs/version-4.x/query-acceleration/query-profile.md
b/versioned_docs/version-4.x/query-acceleration/query-profile.md
index 724039279b1..cb5b8c4adf7 100644
--- a/versioned_docs/version-4.x/query-acceleration/query-profile.md
+++ b/versioned_docs/version-4.x/query-acceleration/query-profile.md
@@ -1,6 +1,6 @@
---
{
- "title": "Query Profile Analysis Guide",
+ "title": "Query Profile Analysis",
"language": "en",
"description": "Apache Doris provides Query Profile to expose query
execution details. This article covers the overall architecture and practical
guidance, including:"
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]