From 726cdd8eeae0acdfcc41dabae29b8c66090b65dd Mon Sep 17 00:00:00 2001 From: wangbo <506340561@qq.com> Date: Mon, 25 Nov 2024 14:59:12 +0800 Subject: [PATCH] update workload document --- .../resource-admin/use-workload-cpu-limit.md | 75 -- .../use-workload-local-io-limit.md | 133 --- .../resource-admin/use-workload-mem-limit.md | 130 --- .../use-workload-remote-io-limit.md | 144 --- .../resource-admin/workload-analysis.md | 173 --- .../resource-admin/workload-fusing.md | 97 -- .../resource-admin/workload-group.md | 357 ------ .../resource-admin/workload-policy.md | 192 ---- .../workload-mangement/analysis-diagnosis.md | 51 + .../best-practice/group-workload-group.md} | 10 +- .../workload-group-best-practice.md | 1007 +++++++++++++++++ .../workload-mangement/compute-group.md | 145 +++ .../workload-mangement/job-scheduler.md | 196 ++++ .../workload-mangement/kill-query.md | 85 ++ .../resource-group.md} | 30 +- .../workload-mangement/spill-disk.md | 322 ++++++ .../workload-mangement/sql-blocking.md | 308 +++++ .../workload-mangement/workload-group.md | 211 ++++ .../workload-management-summary.md | 54 + sidebars.json | 19 +- .../images/workload-management/io_test_1.png | Bin 0 -> 18592 bytes .../images/workload-management/io_test_2.png | Bin 0 -> 35682 bytes .../images/workload-management/io_test_21.png | Bin 0 -> 35085 bytes .../images/workload-management/io_test_22.png | Bin 0 -> 34987 bytes .../images/workload-management/io_test_23.png | Bin 0 -> 55687 bytes .../images/workload-management/io_test_24.png | Bin 0 -> 48489 bytes .../images/workload-management/io_test_3.png | Bin 0 -> 33462 bytes .../images/workload-management/io_test_4.png | Bin 0 -> 23402 bytes .../workload-management/spill_disk_memory.png | Bin 0 -> 220360 bytes .../wg_cpu_hard_limit1.png | Bin 0 -> 68580 bytes .../wg_cpu_hard_limit2.png | Bin 0 -> 67184 bytes .../wg_cpu_hard_limit3.png | Bin 0 -> 65957 bytes .../wg_mem_hard_limit1.png | Bin 0 -> 53208 bytes .../wg_mem_hard_limit2.png | Bin 0 -> 77959 bytes .../wg_mem_hard_limit3.png | Bin 0 -> 87627 bytes .../wg_mem_hard_limit4.png | Bin 0 -> 55747 bytes .../wg_mem_soft_limit1.png | Bin 0 -> 41420 bytes 37 files changed, 2407 insertions(+), 1332 deletions(-) delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/use-workload-cpu-limit.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/use-workload-local-io-limit.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/use-workload-mem-limit.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/use-workload-remote-io-limit.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/workload-analysis.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/workload-fusing.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/workload-group.md delete mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/workload-policy.md create mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/analysis-diagnosis.md rename i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/{resource-admin/group-workload-groups.md => workload-mangement/best-practice/group-workload-group.md} (96%) create mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/best-practice/workload-group-best-practice.md create mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/compute-group.md create mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/job-scheduler.md create mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/kill-query.md rename i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/{resource-admin/multi-tenant.md => workload-mangement/resource-group.md} (95%) create mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/spill-disk.md create mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/sql-blocking.md create mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/workload-group.md create mode 100644 i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/workload-management-summary.md create mode 100644 static/images/workload-management/io_test_1.png create mode 100644 static/images/workload-management/io_test_2.png create mode 100644 static/images/workload-management/io_test_21.png create mode 100644 static/images/workload-management/io_test_22.png create mode 100644 static/images/workload-management/io_test_23.png create mode 100644 static/images/workload-management/io_test_24.png create mode 100644 static/images/workload-management/io_test_3.png create mode 100644 static/images/workload-management/io_test_4.png create mode 100644 static/images/workload-management/spill_disk_memory.png create mode 100644 static/images/workload-management/wg_cpu_hard_limit1.png create mode 100644 static/images/workload-management/wg_cpu_hard_limit2.png create mode 100644 static/images/workload-management/wg_cpu_hard_limit3.png create mode 100644 static/images/workload-management/wg_mem_hard_limit1.png create mode 100644 static/images/workload-management/wg_mem_hard_limit2.png create mode 100644 static/images/workload-management/wg_mem_hard_limit3.png create mode 100644 static/images/workload-management/wg_mem_hard_limit4.png create mode 100644 static/images/workload-management/wg_mem_soft_limit1.png diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/use-workload-cpu-limit.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/use-workload-cpu-limit.md deleted file mode 100644 index 6e09633734b10..0000000000000 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/use-workload-cpu-limit.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -{ -"title": "使用Workload Group管理CPU资源", -"language": "zh-CN" -} ---- - - - -Doris 的负载大体可以分为三类: -1. 核心报表查询,通常给公司高层查看报表使用,负载不一定很高,但是对可用性要求较高,这类查询可以划分到一个分组,配置较高优先级的软限,保证CPU资源不够时可以获得更多的CPU资源。 -2. Adhoc类查询,这类查询通常偏探索分析,SQL比较随机,具体的资源用量也比较未知,优先级通常不高。因此可以使用CPU硬限进行管理,并配置较低的值,避免占用过多CPU资源降低集群可用性。 -3. ETL类查询,这类查询的SQL比较固定,资源用量通常也比较稳定,偶尔会出现上游数据量增长导致资源用量暴涨的情况,因此可以使用CPU硬限进行配置。 - -不同的负载对CPU的消耗不一样,用户对响应延时的需求也不一样。当BE的CPU 被用的很满时,可用性会变差,响应延时会变高。比如可能一个Adhoc的分析类查询把整个集群的CPU打满,导致核心报表的延时变大,影响到了SLA。所以需要CPU 隔离机制来对不同的业务进行隔离,保障集群的可用性和SLA。 -Workload Group支持CPU的软限和硬限,目前比较推荐在线上环境把Workload Group配置成硬限。原因是CPU的软限通常在CPU被打满时才能体现出优先级的作用,但是在CPU被用满时,Doris的内部组件(例如rpc组件)以及操作系统可用的CPU会减少,此时集群整体的可用性是下降比较严重的,因此生产环境通常需要避免CPU资源被打满的情况,当然其他资源也一样,内存资源同理。 - -## CPU硬限测试 - -### 测试环境 -1FE,1BE,96核机器。 -数据集为clickbench,测试sql为q29。 - -### 测试 -1. 使用jmeter发起3并发查询,把BE进程的CPU使用压到比较高的使用率,这里测试的机器是96核,使用top命令看到BE进程CPU使用率为7600%的含义是该进程目前使用中的核数是76个。 - -![use workload group cpu](/images/workload-management/use_wg_cpu_1.png) - -2. 修改使用中的Workload Group的CPU硬限为10%。 -``` -alter workload group g2 properties('cpu_hard_limit'='10%'); -``` - -3. 集群开启硬限模式,此时集群中所有Group都会切换为硬限。 -``` -ADMIN SET FRONTEND CONFIG ("enable_cpu_hard_limit" = "true"); -``` - -4. 重新压测查询负载,可以看到当前进程只能使用9到10个核,占总核数的10%左右。 - -![use workload group cpu](/images/workload-management/use_wg_cpu_2.png) - -需要注意的是,这里的测试最好使用查询负载会比较能体现出效果,因为如果是高吞吐导入的话,可能会触发Compaction,使得实际观测的值要比Workload Group配置的值大。而Compaction的负载目前是没有归入Workload Group的管理的。 - -5. 除了使用Linux 的系统命令外,还可以通过使用Doris的系统表观察Group目前的CPU使用为10%左右。 -``` -mysql [information_schema]>select CPU_USAGE_PERCENT from workload_group_resource_usage where WORKLOAD_GROUP_ID=11201; -+-------------------+ -| CPU_USAGE_PERCENT | -+-------------------+ -| 9.57 | -+-------------------+ -1 row in set (0.02 sec) -``` - -## 注意事项 -1. 在实际配置的时候,所有Group的CPU累加值最好不要正好等于100%,这主要是为了保证低延迟场景的可用性。因为需要让出一部分资源给其他组件使用。当然如果对延迟不是很敏感的场景,期望最高的资源利用率,那么可以考虑所有Group的CPU累加值配置等于100%。 -2. 目前FE向BE同步Workload Group元数据的时间间隔为30秒,因此对于Workload Group的变更最大需要等待30秒才能生效。 \ No newline at end of file diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/use-workload-local-io-limit.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/use-workload-local-io-limit.md deleted file mode 100644 index d523f30bbd145..0000000000000 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/use-workload-local-io-limit.md +++ /dev/null @@ -1,133 +0,0 @@ ---- -{ -"title": "使用Workload Group管理本地IO", -"language": "zh-CN" -} ---- - - - -OLAP 系统在做ETL或者大的Adhoc 查询时,需要读取大量的数据,Doris 为了加速数据分析过程,内部会使用多线程并行的方式对多个磁盘文件扫描,会产生巨大的磁盘IO,就会对其他的查询(比如报表分析)产生影响。 -可以通过Workload Group 对离线的ETL数据处理和在线的报表查询做分组,限制离线数据处理IO带宽的方式,降低它对在线报表分析的影响。 - -## 测试本地IO硬限 -### 测试环境 -1FE,1BE, 配置为96核。 - -测试数据集为clickbench。 - -### 不开启IO硬限测试 -1. 关闭缓存。 -``` -// 清空操作系统缓存 -sync; echo 3 > /proc/sys/vm/drop_caches - -// 禁用BE的page cache -disable_storage_page_cache = true -``` - -2. 对clickbench的表执行全表扫描,执行单并发查询即可。 -``` -set dry_run_query = true; -select * from hits.hits; -``` - -3. 通过Doris的内表查看当前Group的最大吞吐为3GB每秒。 -``` -mysql [information_schema]>select LOCAL_SCAN_BYTES_PER_SECOND / 1024 / 1024 as mb_per_sec from workload_group_resource_usage where WORKLOAD_GROUP_ID=11201; -+--------------------+ -| mb_per_sec | -+--------------------+ -| 1146.6208400726318 | -+--------------------+ -1 row in set (0.03 sec) - -mysql [information_schema]>select LOCAL_SCAN_BYTES_PER_SECOND / 1024 / 1024 as mb_per_sec from workload_group_resource_usage where WORKLOAD_GROUP_ID=11201; -+--------------------+ -| mb_per_sec | -+--------------------+ -| 3496.2762966156006 | -+--------------------+ -1 row in set (0.04 sec) - -mysql [information_schema]>select LOCAL_SCAN_BYTES_PER_SECOND / 1024 / 1024 as mb_per_sec from workload_group_resource_usage where WORKLOAD_GROUP_ID=11201; -+--------------------+ -| mb_per_sec | -+--------------------+ -| 2192.7690029144287 | -+--------------------+ -1 row in set (0.02 sec) -``` - -4. 使用pidstat命令查看进程IO,图中第一列是进程id,第二列是读IO的吞吐(单位是kb/s)。可以看到不限制IO时,最大吞吐为2G每秒。 - -![use workload group io](/images/workload-management/use_wg_io_1.png) - - -### 开启IO硬限后测试 -1. 关闭缓存。 -``` -// 清空操作系统缓存 -sync; echo 3 > /proc/sys/vm/drop_caches - -// 禁用BE的page cache -disable_storage_page_cache = true -``` - -2. 修改Workload Group的配置,限制每秒最大吞吐为100M。 -``` -// 限制当前Group的读吞吐为每秒100M -alter workload group g2 properties('read_bytes_per_second'='104857600'); -``` - -3. 使用Doris系统表查看Workload Group的最大IO吞吐为每秒98M。 -``` -mysql [information_schema]>select LOCAL_SCAN_BYTES_PER_SECOND / 1024 / 1024 as mb_per_sec from workload_group_resource_usage where WORKLOAD_GROUP_ID=11201; -+--------------------+ -| mb_per_sec | -+--------------------+ -| 97.94296646118164 | -+--------------------+ -1 row in set (0.03 sec) - -mysql [information_schema]>select LOCAL_SCAN_BYTES_PER_SECOND / 1024 / 1024 as mb_per_sec from workload_group_resource_usage where WORKLOAD_GROUP_ID=11201; -+--------------------+ -| mb_per_sec | -+--------------------+ -| 98.37584781646729 | -+--------------------+ -1 row in set (0.04 sec) - -mysql [information_schema]>select LOCAL_SCAN_BYTES_PER_SECOND / 1024 / 1024 as mb_per_sec from workload_group_resource_usage where WORKLOAD_GROUP_ID=11201; -+--------------------+ -| mb_per_sec | -+--------------------+ -| 98.06641292572021 | -+--------------------+ -1 row in set (0.02 sec) -``` - -4. 使用pid工具查看进程最大IO吞吐为每秒131M。 - -![use workload group io](/images/workload-management/use_wg_io_2.png) - -## 注意事项 -1. 系统表中的LOCAL_SCAN_BYTES_PER_SECOND字段代表的是当前Workload Group在进程粒度的统计汇总值,比如配置了12个文件路径,那么LOCAL_SCAN_BYTES_PER_SECOND就是这12个文件路径IO的最大值,如果期望查看每个文件路径分别的IO吞吐,可以在grafana上或者BE的bvar监控查看明细的值。 -2. 由于操作系统和Doris的Page Cache的存在,通过linux的IO监控脚本看到的IO通常要比系统表看到的要小。 \ No newline at end of file diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/use-workload-mem-limit.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/use-workload-mem-limit.md deleted file mode 100644 index af86547dac95a..0000000000000 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/use-workload-mem-limit.md +++ /dev/null @@ -1,130 +0,0 @@ ---- -{ -"title": "使用Workload Group管理内存资源", -"language": "zh-CN" -} ---- - - - -Adhoc类查询通常输入的SQL不确定,使用的内存资源也不确定,因此存在少数查询占用很大内存的风险。 -可以对这类负载可以划分到独立的分组,通过Workload Group对内存的硬限的功能,避免突发性的大查询占满所有内存,导致其他查询没有可用内存或者OOM。 -当这个Workload Group的内存使用超过配置的硬限值时,会通过杀死查询的方式释放内存,避免进程内存被打满。 - -## 测试内存硬限 -### 测试环境 -1FE,1BE,BE配置为96核,内存大小为375G。 - -测试数据集为clickbench,测试方法为使用jmeter起三并发执行q29。 - -### 测试不开启Workload Group的内存硬限 -1. 查看进程使用内存。ps命令输出第四列代表进程使用的物理内存的用量,单位为kb,可以看到当前测试负载下,进程的内存使用为7.7G左右。 -``` -[ ~]$ ps -eo pid,comm,%mem,rss | grep 1407481 -1407481 doris_be 2.0 7896792 -[ ~]$ ps -eo pid,comm,%mem,rss | grep 1407481 -1407481 doris_be 2.0 7929692 -[ ~]$ ps -eo pid,comm,%mem,rss | grep 1407481 -1407481 doris_be 2.0 8101232 -``` - -2. 使用Doris系统表查看当前Workload Group的内存用量,Workload Group的内存用量为5.8G左右。 -``` -mysql [information_schema]>select MEMORY_USAGE_BYTES / 1024/ 1024 as wg_mem_used_mb from workload_group_resource_usage where workload_group_id=11201; -+-------------------+ -| wg_mem_used_mb | -+-------------------+ -| 5797.524360656738 | -+-------------------+ -1 row in set (0.01 sec) - -mysql [information_schema]>select MEMORY_USAGE_BYTES / 1024/ 1024 as wg_mem_used_mb from workload_group_resource_usage where workload_group_id=11201; -+-------------------+ -| wg_mem_used_mb | -+-------------------+ -| 5840.246627807617 | -+-------------------+ -1 row in set (0.02 sec) - -mysql [information_schema]>select MEMORY_USAGE_BYTES / 1024/ 1024 as wg_mem_used_mb from workload_group_resource_usage where workload_group_id=11201; -+-------------------+ -| wg_mem_used_mb | -+-------------------+ -| 5878.394917488098 | -+-------------------+ -1 row in set (0.02 sec) -``` -这里可以看到进程的内存使用通常要远大于一个Workload Group的内存用量,即使进程内只有一个Workload Group在跑,这是因为Workload Group只统计了查询和部分导入的内存,进程内的其他组件比如元数据,各种Cache的内存是不计算Workload Group内的,也不由Workload Group管理。 - -### 测试开启Workload Group的内存硬限 -1. 执行SQL命令修改内存配置。 -``` -alter workload group g2 properties('memory_limit'='0.5%'); -alter workload group g2 properties('enable_memory_overcommit'='false'); -``` - -2. 执行同样的测试,查看系统表的内存用量,内存用量为1.5G左右。 -``` -mysql [information_schema]>select MEMORY_USAGE_BYTES / 1024/ 1024 as wg_mem_used_mb from workload_group_resource_usage where workload_group_id=11201; -+--------------------+ -| wg_mem_used_mb | -+--------------------+ -| 1575.3877239227295 | -+--------------------+ -1 row in set (0.02 sec) - -mysql [information_schema]>select MEMORY_USAGE_BYTES / 1024/ 1024 as wg_mem_used_mb from workload_group_resource_usage where workload_group_id=11201; -+------------------+ -| wg_mem_used_mb | -+------------------+ -| 1668.77405834198 | -+------------------+ -1 row in set (0.01 sec) - -mysql [information_schema]>select MEMORY_USAGE_BYTES / 1024/ 1024 as wg_mem_used_mb from workload_group_resource_usage where workload_group_id=11201; -+--------------------+ -| wg_mem_used_mb | -+--------------------+ -| 499.96760272979736 | -+--------------------+ -1 row in set (0.01 sec) -``` - -3. 使用ps命令查看进程的内存用量,内存用量为3.8G左右。 -``` -[ ~]$ ps -eo pid,comm,%mem,rss | grep 1407481 -1407481 doris_be 1.0 4071364 -[ ~]$ ps -eo pid,comm,%mem,rss | grep 1407481 -1407481 doris_be 1.0 4059012 -[ ~]$ ps -eo pid,comm,%mem,rss | grep 1407481 -1407481 doris_be 1.0 4057068 -``` - -4. 同时客户端会观察到大量由于内存不足导致的查询失败。 -``` -1724074250162,14126,1c_sql,HY000 1105,"java.sql.SQLException: errCode = 2, detailMessage = (127.0.0.1)[MEM_LIMIT_EXCEEDED]GC wg for hard limit, wg id:11201, name:g2, used:1.71 GB, limit:1.69 GB, backend:10.16.10.8. cancel top memory used tracker consumption 1.71 GB. details:process memory used 3.01 GB exceed soft limit 304.41 GB or sys available memory 101.16 GB less than warning water mark 12.80 GB., Execute again after enough memory, details see be.INFO.",并发 1-3,text,false,,444,0,3,3,null,0,0,0 -``` -这个报错信息中可以看到,Workload Group使用了1.7G的内存,但是Workload Group的限制是1.69G,这里的计算方式是这样的1.69G = 物理机内存(375) * mem_limit(be.conf中的值,默认为0.9) * 0.5%(Workload Group的配置) -也就是说,Workload Group中配置的内存百分比是基于Doris进程可用内存再次进行计算的。 - - -## 使用建议 -如上文测试,硬限可以控制Workload Group的内存使用,但却是通过杀死查询的方式释放内存,这对用户来说体验会非常不友好,极端情况下可能会导致所有查询都失败。 -因此在生产环境中推荐内存硬限配合查询排队的功能一起使用,可以在限制内存使用的同时保证查询的成功率。 \ No newline at end of file diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/use-workload-remote-io-limit.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/use-workload-remote-io-limit.md deleted file mode 100644 index a57990c410b0f..0000000000000 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/use-workload-remote-io-limit.md +++ /dev/null @@ -1,144 +0,0 @@ ---- -{ -"title": "使用Workload Group管理远程IO", -"language": "zh-CN" -} ---- - - - -BrokerLoad和S3Load 是常用的大批量数据导入方式,用户可以把数据先上传到HDFS或者S3,然后通过Brokerload和S3Load 对数据进行并行导入。 Doris为了加快导入速度,会使用多线程并行的方式从HDFS/S3拉取数据,此时会对HDFS/S3 产生巨大的压力,会导致HDFS/S3上运行的别的作业不稳定。 -可以通过Workload Group 远程IO的限制功能来限制导入过程中对HDFS/S3的带宽,降低对其他业务的影响。 - -## 测试远程IO限制 -### 测试环境 -1FE,1BE部署在同一台机器,配置为16核64G内存。测试数据为clickbench数据集,测试前需要把数据集上传到S3上。考虑到上传时间的问题,我们只取其中的1千万行数据上传,然后使用tvf的功能查询s3的数据。 - -上传成功后可以使用命令查看Schema信息。 -``` -// 查看schema -DESC FUNCTION s3 ( - "URI" = "https://bucketname/1kw.tsv", - "s3.access_key"= "ak", - "s3.secret_key" = "sk", - "format" = "csv", - "use_path_style"="true" -); -``` - -### 测试不限制远程读的IO -1. 发起单并发测试,全表扫描clickbench表。 -``` -// 设置只scan数据,不返回结果 -set dry_run_query = true; - -// 使用tvf查询s3的数据 -SELECT * FROM s3( - "URI" = "https://bucketname/1kw.tsv", - "s3.access_key"= "ak", - "s3.secret_key" = "sk", - "format" = "csv", - "use_path_style"="true" -); -``` - -2. 使用系统表查看此时的远程IO吞吐。可以看到这个查询的远程IO吞吐为837M每秒,需要注意的是,这里的实际IO吞吐受环境影响较大,如果BE所在的机器连接外部存储的带宽比较低,那么可能实际的吞吐会小。 -``` -MySQL [(none)]> select cast(REMOTE_SCAN_BYTES_PER_SECOND/1024/1024 as int) as read_mb from information_schema.workload_group_resource_usage; -+---------+ -| read_mb | -+---------+ -| 837 | -+---------+ -1 row in set (0.104 sec) - -MySQL [(none)]> select cast(REMOTE_SCAN_BYTES_PER_SECOND/1024/1024 as int) as read_mb from information_schema.workload_group_resource_usage; -+---------+ -| read_mb | -+---------+ -| 867 | -+---------+ -1 row in set (0.070 sec) - -MySQL [(none)]> select cast(REMOTE_SCAN_BYTES_PER_SECOND/1024/1024 as int) as read_mb from information_schema.workload_group_resource_usage; -+---------+ -| read_mb | -+---------+ -| 867 | -+---------+ -1 row in set (0.186 sec) -``` - -3. 使用sar(sar -n DEV 1 3600)命令查看机器的网络带宽,可以看到机器级别最大网络带宽为1033M每秒。 - 输出的第一列为当前机器某个网卡每秒接收的字节数,单位为KB每秒。 - -![use workload group rio](/images/workload-management/use_wg_rio_1.png) - -### 测试限制远程读的IO -1. 修改Workload Group的配置,限制远程读的IO吞吐为100M每秒。 -``` -alter workload group normal properties('remote_read_bytes_per_second'='104857600'); -``` - -2. 发起单并发扫全表的查询。 -``` -// 设置只scan数据,不返回结果 -set dry_run_query = true; - -// 使用tvf查询s3的数据 -SELECT * FROM s3( - "URI" = "https://bucketname/1kw.tsv", - "s3.access_key"= "ak", - "s3.secret_key" = "sk", - "format" = "csv", - "use_path_style"="true" -); -``` - -3. 使用系统表查看此时的远程读IO吞吐,此时的IO吞吐在100M左右,会有一定的波动,这个波动是受目前算法设计的影响,通常会有一个高峰,但不会持续很长时间,属于正常情况。 -``` -MySQL [(none)]> select cast(REMOTE_SCAN_BYTES_PER_SECOND/1024/1024 as int) as read_mb from information_schema.workload_group_resource_usage; -+---------+ -| read_mb | -+---------+ -| 56 | -+---------+ -1 row in set (0.010 sec) - -MySQL [(none)]> select cast(REMOTE_SCAN_BYTES_PER_SECOND/1024/1024 as int) as read_mb from information_schema.workload_group_resource_usage; -+---------+ -| read_mb | -+---------+ -| 131 | -+---------+ -1 row in set (0.009 sec) - -MySQL [(none)]> select cast(REMOTE_SCAN_BYTES_PER_SECOND/1024/1024 as int) as read_mb from information_schema.workload_group_resource_usage; -+---------+ -| read_mb | -+---------+ -| 111 | -+---------+ -1 row in set (0.009 sec) -``` - -4. 使用sar命令(sar -n DEV 1 3600)查看目前的网卡接收流量,第一列为每秒接收的数据量,可以看到最大值变成了207M每秒,说明读IO的限制是生效的,但是由于sar命令看到的是机器级别的流量,因此要比Doris统计到的会大一些。 - -![use workload group rio](/images/workload-management/use_wg_rio_2.png) diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/workload-analysis.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/workload-analysis.md deleted file mode 100644 index 7888a10243037..0000000000000 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/workload-analysis.md +++ /dev/null @@ -1,173 +0,0 @@ ---- -{ - "title": "工作负载分析", - "language": "zh-CN" -} ---- - - - -Doris支持通过Workload系统表对集群中的工作负载进行分析,可以解决以下问题: -1. 帮助用户了解每个Workload Group的资源利用率,合理的设置资源上限,避免资源的浪费。 -2. 当集群由于资源不足导致可用性下降时,可以使用系统表快速定位出目前资源使用的分布情况,从做出相应的资源管控决策,恢复集群的可用性。 - -## Workload系统表介绍 -目前系统表主要在```information_schema```库里。 -### active_queries -```active_queries```表记录了当前在FE上查询的执行信息,字段的详细信息如下: -* query_id,查询的id -* query_start_time,查询开始执行的时间;如果查询有排队的话,那么就代表排队结束之后开始执行的时间 -* query_time_ms,查询的耗时,单位是毫秒 -* workload_group_id,查询使用的workload group的id -* database,查询中的sql使用的database -* frontend_instance,查询所在FE的节点名称 -* queue_start_time,如果查询到来时进入了排队了逻辑,那么代表查询排队开始的时间点 -* queue_end_time,如果查询到来时进入了排队的逻辑,那么代表查询排队结束的时间点 -* query_status,查询目前的状态,目前主要有两个取值RUNNING和QUEUED,RUNNIG代表查询处于运行状态;QUEUED代表当前查询正在排队 -* sql,查询的sql文本 - -### backend_active_tasks -一个查询通常会被分成多个fragment在多个BE上执行,```backend_active_tasks```就代表了一个查询在单个BE上使用的CPU和内存资源的总量。如果这个查询在单BE上有多个并发和多个fragment,那么也会汇总成一行数据。 -字段详细信息如下: -* be_id,be的id -* fe_host,代表了这个查询是从哪个FE提交的 -* query_id,查询的id -* task_time_ms,查询在当前be上的执行时间,单位是毫秒 -* task_cpu_time_ms,查询在be上执行时的cpu时间,单位是毫秒 -* scan_rows,查询在当前be上扫描的行数,如果扫描了多个表,那么就是多个表的累加值 -* scan_bytes,查询在当前be上扫描的字节数,如果扫描了多个表,那么就是多个表的累加值 -* be_peak_memory_bytes,查询在当前be上使用的内存的峰值,单位是字节 -* current_used_memory_bytes,查询在当前be上使用中的内存量,单位是字节 -* shuffle_send_bytes,查询在当前节点作为shuffle客户端发送的字节数 -* shuffle_send_rows,查询在当前节点作为shuffle客户端发送的行数 - -### workload_group_resource_usage -```workload_group_resource_usage```实时展示了Workload Group当前的资源用量。 -字段说明如下: -* be_id,be的id -* workload_group_id,workload group的id -* memory_usage_bytes,workload group的内存用量 -* cpu_usage_percent,workload group CPU用量的百分比,计算方式为1s内Workload Group总的CPU活跃时间/1s内总可用的CPU时间,该值取的是最近10s的平均值。 -* local_scan_bytes_per_second,workload group读本地文件的每秒字节数。 -需要注意的是,由于Doris的Page Cache和操作系统缓存的存在,该值通常要大于使用pidstat等系统工具监控到的值。如果配置了多个文件夹,那么该值为所有文件夹读IO的累加值。 -如果需要每个文件夹粒度的读IO吞吐,可以在BE的bvar监控上看到明细数据。 -* remote_scan_bytes_per_second,workload group读远程数据的每秒字节数。 - -## 工作负载分析与处理方法 -当通过监控发现集群的可用性下降时,可以按照以下流程进行处理: -1. 先通过监控大致判断目前集群的瓶颈点,比如是内存用量过高,CPU用量过高,还是IO过高,如果都很高,那么可以考虑优先解决内存的问题。 -2. 确定了集群瓶颈点之后,可以通过```workload_group_resource_usage```表来查看目前资源用量最高的Group,比如是内存瓶颈,那么可以先找出内存用量最高的N个Group。 -3. 确定了资源用量最高的Group之后,首先可以尝试调低这个Group的查询并发,因为此时集群资源已经很紧张了,要避免持续有新的查询进来耗尽集群的资源。 -4. 对当前Group的查询进行降级,根据瓶颈点的不同,可以有不同的处理方法: -* 如果是CPU瓶颈,那么可以尝试把这个Group的CPU修改为硬限,并将```cpu_hard_limit```设置为一个较低的值,主动让出CPU资源。 -* 如果是IO瓶颈,可以通过```read_bytes_per_second```参数限制该Group的最大IO。 -* 如果是内存瓶颈,可以通过设置该Group的内存为硬限,并调低```memory_limit```的值,来释放部分内存,需要注意的是这可能会导致当前Group大量查询失败。 -5. 完成以上步骤后,通常集群的可用性会有所恢复。此时可以做更进一步的分析,也就是引起该Group资源用量升高的主要原因, -是这个Group的整体查询并发升高导致的还是某些大查询导致的,如果是某些大查询导致的,那么可以通过快速杀死这些大查询的方式进行故障恢复。 -6. 可以使用```backend_active_tasks```结合```active_queries```找出目前集群中资源用量比较异常的SQL,然后通过kill语句杀死这些SQL释放资源。 - -## 常用SQL -:::tip -需要注意的是,active_queries表记录了在FE运行的query,backend_active_tasks记录了在BE运行的query,并非所有query运行时在FE注册,比如stream load就并未在FE注册。 -因此使用backend_active_tasks表left join active_queries如果没有匹配的结果属于正常情况。 -当一个Query是select查询时,那么active_queries和backend_active_tasks中记录的queryId是一致的。当一个Query是stream load时,那么在active_queries表中的queryId为空,backend_active_tasks的queryId是该stream load的Id。 -::: - -1. 查看目前所有的Workload Group并依次按照内存/CPU/IO降序显示。 -``` -select be_id,workload_group_id,memory_usage_bytes,cpu_usage_percent,local_scan_bytes_per_second - from workload_group_resource_usage -order by memory_usage_bytes,cpu_usage_percent,local_scan_bytes_per_second desc -``` - -2. CPU使用topN的sql - ``` - select - t1.query_id as be_query_id, - t1.query_type, - t2.query_id, - t2.workload_group_id, - t2.`database`, - t1.cpu_time, - t2.`sql` - from - (select query_id, query_type,sum(task_cpu_time_ms) as cpu_time from backend_active_tasks group by query_id, query_type) - t1 left join active_queries t2 - on t1.query_id = t2.query_id - order by cpu_time desc limit 10; - ``` - -3. 内存使用topN的sql - ``` - select - t1.query_id as be_query_id, - t1.query_type, - t2.query_id, - t2.workload_group_id, - t1.mem_used - from - (select query_id, query_type, sum(current_used_memory_bytes) as mem_used from backend_active_tasks group by query_id, query_type) - t1 left join active_queries t2 - on t1.query_id = t2.query_id - order by mem_used desc limit 10; - ``` - -4. 扫描数据量topN的sql - ``` - select - t1.query_id as be_query_id, - t1.query_type, - t2.query_id, - t2.workload_group_id, - t1.scan_rows, - t1.scan_bytes - from - (select query_id, query_type, sum(scan_rows) as scan_rows,sum(scan_bytes) as scan_bytes from backend_active_tasks group by query_id,query_type) - t1 left join active_queries t2 - on t1.query_id = t2.query_id - order by scan_rows desc,scan_bytes desc limit 10; - ``` - -5. 各个workload group的scan数据量 - ``` - select - t2.workload_group_id, - sum(t1.scan_rows) as wg_scan_rows, - sum(t1.scan_bytes) as wg_scan_bytes - from - (select query_id, sum(scan_rows) as scan_rows,sum(scan_bytes) as scan_bytes from backend_active_tasks group by query_id) - t1 left join active_queries t2 - on t1.query_id = t2.query_id - group by t2.workload_group_id - order by wg_scan_rows desc,wg_scan_bytes desc - ``` - -6. 查看各个workload group排队的都是哪些查询,以及排队的时间 - ``` - select - workload_group_id, - query_id, - query_status, - now() - queue_start_time as queued_time - from - active_queries - where query_status='queued' - order by workload_group_id - ``` \ No newline at end of file diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/workload-fusing.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/workload-fusing.md deleted file mode 100644 index 6a8b06a295cae..0000000000000 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/workload-fusing.md +++ /dev/null @@ -1,97 +0,0 @@ ---- -{ - "title": "大查询熔断", - "language": "zh-CN" -} ---- - - - -大查询熔断通常适用于线上集群经常出现个别占用资源过多的查询导致集群整体可用性下降的场景,此时可以通过在运行时检测异常的大查询,并且阻止这个查询运行的方式使得集群恢复正常。 -如果用户已经根据查询延迟对负载进行了分组,比如大查询划分到一个Workload Group,小查询划分到一个Workload Group,那么也可以通过大查询熔断的方式提高小查询分组的可用性。 -目前的大查询熔断策略主要是通过Workload Policy功能实现的,用户可以通过配置特定的策略实现大查询的自动熔断。 - -## 大查询熔断测试 - -### 测试环境 -1FE,1BE,BE配置为96核,测试数据集为clickbench。 - -### 基于内存容量的熔断 -1. 测试SQL使用ckbench的q29,可以通过审计看到这个查询的峰值内存用量(peakMemoryBytes)为8G。 -``` -|User=root|Ctl=internal|Db=hits|State=EOF|ErrorCode=0|ErrorMessage=|Time(ms)=4614|ScanBytes=13107527680|ScanRows=81032736|ReturnRows=11|StmtId=526|QueryId=e5b6c62d624146e4-b7291221492a7cc2|IsQuery=true|isNereids=true|feIp=10.16.10.8|StmtType=SELECT|Stmt=SELECT REGEXP_REPLACE(Referer, '^https?://(?:www\.)?([^/]+)/.*$', '\1') AS k, AVG(length(Referer)) AS l, COUNT(*) AS c, MIN(Referer) FROM hits WHERE Referer <> '' GROUP BY k HAVING COUNT(*) > 100000 ORDER BY l DESC LIMIT 25|CpuTimeMS=105631|ShuffleSendBytes=0|ShuffleSendRows=0|SqlHash=b03d48a7e6849912003ad1cff9519957|peakMemoryBytes=8741352477|SqlDigest=|cloudClusterName=UNKNOWN|TraceId=|WorkloadGroup=normal|FuzzyVariables=|scanBytesFromLocalStorage=0|scanBytesFromRemoteStorage=0 -``` - -2. 新建一个Workload Policy,如果查询内存超过1G就kill。 -``` -create workload policy cancel_1g_query conditions(query_be_memory_bytes > 1073741824) actions(cancel_query); - -// 通过系统表查看新建的policy -mysql [information_schema]>select * from workload_policy; -+-------+-----------------+------------------------------------+--------------+----------+---------+---------+----------------+ -| ID | NAME | CONDITION | ACTION | PRIORITY | ENABLED | VERSION | WORKLOAD_GROUP | -+-------+-----------------+------------------------------------+--------------+----------+---------+---------+----------------+ -| 11313 | cancel_1g_query | query_be_memory_bytes > 1073741824 | cancel_query | 0 | 1 | 0 | | -+-------+-----------------+------------------------------------+--------------+----------+---------+---------+----------------+ -1 row in set (0.02 sec) -``` - -3. 再次执行查询,可以看到此时查询会被新建的Policy给cancel掉。 -``` - mysql [information_schema]>SELECT REGEXP_REPLACE(Referer, '^https?://(?:www\.)?([^/]+)/.*$', '\1') AS k, AVG(length(Referer)) AS l, COUNT(*) AS c, MIN(Referer) FROM hits.hits WHERE Referer <> '' GROUP BY k HAVING COUNT(*) > 100000 ORDER BY l DESC LIMIT 25; -ERROR 1105 (HY000): errCode = 2, detailMessage = (127.0.0.1)[INTERNAL_ERROR]query ceb0553d359e454f-8939599b2e602d07 cancelled by workload policy: cancel_1g_query, id:11313 -``` - -### 基于SCAN数据量的熔断 -1. 使用ckbench的q29进行测试,新建一个限制扫描行数的Policy。 -``` -// 先禁用掉已经创建的policy -alter workload policy cancel_1g_query properties('enabled'='false'); - -// 创建一个新的基于scan函数熔断的policy -create workload policy canel_scan_5kw_query conditions(be_scan_rows > 50000000) actions(cancel_query); -``` - -2. 测试查询执行情况,此时查询会由于SCAN行数超过配置的值而失败。 -``` -mysql [hits]>SELECT REGEXP_REPLACE(Referer, '^https?://(?:www\.)?([^/]+)/.*$', '\1') AS k, AVG(length(Referer)) AS l, COUNT(*) AS c, MIN(Referer) FROM hits.hits WHERE Referer <> '' GROUP BY k HAVING COUNT(*) > 100000 ORDER BY l DESC LIMIT 25; - -ERROR 1105 (HY000): errCode = 2, detailMessage = (127.0.0.1)[INTERNAL_ERROR]query f9d15001bfc94322-9b63a8b84aef9dee cancelled by workload policy: canel_scan_5kw_query, id:11314 -``` -需要注意的是,be_scan_rows主要统计的是某个查询在单BE上的扫描数据量,线上环境下一个表的数据通常分布在多个BE上,而审计中看到的查询的扫描行数是多个BE的汇总, -因此当查询由于SCAN数据量失败时,审计里的扫描行数通常要比Policy中配置的大很多。 - -### 基于查询时间的熔断 -1. 使用ckbench的q29进行测试,新建一个取消执行时间超过1s的查询的Policy。 -``` -// 先禁用已经创建的policy -alter workload policy canel_scan_5kw_query properties('enabled'='false'); - -create workload policy cancel_time_1s_query conditions(query_time > 1000) actions(cancel_query); -``` -2. 执行查询,可以看到该查询由于执行时间超过1秒而失败。 -``` -mysql [hits]>SELECT REGEXP_REPLACE(Referer, '^https?://(?:www\.)?([^/]+)/.*$', '\1') AS k, AVG(length(Referer)) AS l, COUNT(*) AS c, MIN(Referer) FROM hits.hits WHERE Referer <> '' GROUP BY k HAVING COUNT(*) > 100000 ORDER BY l DESC LIMIT 25; -ERROR 1105 (HY000): errCode = 2, detailMessage = (127.0.0.1)[INTERNAL_ERROR]query c6aebdf403e24c62-965daf0bdff179f7 cancelled by workload policy: cancel_time_1s_query, id:11315 -``` - -### 注意事项 -1. 目前FE向BE同步Workload Policy元数据的时间间隔为30秒,也就是对于policy的变更最大需要30秒才会生效。 -2. BE目前是通过定时线程来执行Policy中配置的策略,时间间隔为500ms,这意味着如果查询的时间过短,在500ms以内,可能不会受到Workload Policy的约束。 \ No newline at end of file diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/workload-group.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/workload-group.md deleted file mode 100644 index 3f5a3f4a59488..0000000000000 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/workload-group.md +++ /dev/null @@ -1,357 +0,0 @@ ---- -{ - "title": "Workload Group", - "language": "zh-CN" -} ---- - - - -你可以使用Workload Group管理Doris集群中查询和导入负载所使用的CPU/内存/IO资源用量,控制集群中查询的最大并发。Workload Group的使用权限可以授予给特定的角色和用户。 - -在以下场景使用Workload Group通常会取得不错的效果: -1. 偏好性能稳定性的场景,不要求查询负载可以占满集群所有的资源,但是期望查询的延迟比较稳定,那么可以尝试把Workload Group的CPU/IO配置成硬限。 -2. 当集群整体负载过高导致可用性下降时,此时可以通过对集群中资源占用过高的WorkloadGroup进行降级处理来恢复集群的可用性,例如降低Workload Group的最大查询并发和IO吞吐。 - -通常使用硬限对资源进行管理可以获得更好的稳定性和性能,例如配置FE的最大并发以及CPU的硬限。 -因为CPU的软限通常只有在CPU在用满时才能体现效果,而此时Doris内部的其他组件(RPC)以及操作系统可用的CPU资源会受到挤压,系统整体的延迟就会增加。 -对Doris的查询负载配置硬限能有效缓解这个问题。同时配置最大并发和排队,可以缓解高峰时持续不断地新查询进来耗尽集群中的所有可用资源的情况。 - -## 版本说明 -Workload Group 是从 2.0 版本开始支持的功能,Workload Group 在 2.0 版本和 2.1 版本的主要区别在于,2.0 版本的 Workload Group 不依赖 CGroup,而 2.1 版本的 Workload Group 依赖 CGroup,因此使用 2.1 版本的 Workload Group 时要配置 CGroup 的环境。 - -#### 升级到 2.0 版本 -1 如果是从 1.2 版本升级到 2.0 版本时,建议 Doris 集群整体升级完成后,再开启 WorkloadGroup 功能。因为如果只升级单台 Follower 就开启此功能,由于 Master 的 FE 代码还没有更新,此时 Doris 集群中并没有 Workload Group 的元数据信息,这可能导致已升级的 Follower 节点的查询失败。建议的升级流程如下: -* 先把 Doris 集群整体代码升级到 2.0 版本。 -* 再根据下文中***workload group 使用***的章节开始使用该功能。 - -#### 升级到 2.1 版本 -2 如果代码版本是从 2.0 升级到 2.1 的,分为以下两种情况: - -情况 1:在 2.1 版本如果已经使用了 Workload Group 功能,那么只需要参考下文中配置 cgroup v1 的流程即可使用新版本的 Workload Group 功能。 - -情况 2:如果在 2.0 版本没有使用 Workload Group 功能,那么也需要先把 Doris 集群整体升级到 2.1 版本后,再根据下文的***workload group 使用***的章节开始使用该功能。 - -## workload group 属性 - -* cpu_share: 可选,默认值为 1024,取值范围是正整数。用于设置 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: 可选,默认值 0%,不限制,取值范围 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%,不限制。取值范围 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带宽。 - -注意事项: - -1. 目前暂不支持 CPU 的软限和硬限的同时使用,一个集群某一时刻只能是软限或者硬限,下文中会描述切换方法。 - -2. 所有属性均为可选,但是在创建 Workload Group 时需要指定至少一个属性。 - -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的优先级在该机器上是最低的。 - - -## Workload Group分组功能 -Workload Group功能是对单台BE资源用量的划分。当用户创建了一个Group A,默认情况下这个Group A的元信息会被发送到所有BE上并启动线程,这会带来以下问题: -1. 生产环境下通常会在一个Doris集群内拆分出多个小集群,比如拆分出本地存储的集群和用于查外部存储的包含ComputeNode的集群,这两个集群间的查询是独立的。 -此时用户如果期望使用Workload Group功能,那么就会出现查外部存储的负载使用的Workload Group和查本地存储的负载使用的Workload Group的mem_limit累加值不能超过100%,然而实际上这两种负载完全位于不同的机器上,这显然是不合理的。 -2. 线程数本身也是一种资源,如果一个进程的线程数配额被耗尽,这会导致进程挂掉,默认把Workload Group的元信息发送给所有节点本身也是不合理的。 - -基于以上原因,Doris实现了对于Workload Group的分组功能,相同Tag分组下的Workload Group的累加值不能超过100%,但是一个集群中就可以有多个这样的Tag分组。 -当一个BE节点也被打上了Tag,那么这个BE会根据一定的规则匹配对应的Workload Group。 - -具体用法如下: -1. 创建名为tag_wg的Workload Group,指定其tag名为cn1,此时如果集群中的BE都没有打标签的话,那么这个Workload Group的元信息会被发送到所有BE上。tag属性可以指定多个,使用英文逗号分隔。 -``` -create workload group tag_wg properties('tag'='cn1'); -``` -2. 修改集群中一个BE的标签为cn1,此时tag_wg这个Workload Group就只会发送到这个BE以及标签为空的BE上。tag.workload_group属性可以指定多个,使用英文逗号分隔。 -需要注意的是,alter接口目前不支持增量更新,每次修改BE的属性都需要增加全量的属性,因此下面语句中添加了tag.location属性,default为系统默认值,实际修改时需要按照BE原有属性指定。 -``` -alter system modify backend "localhost:9050" set ("tag.workload_group" = "cn1", "tag.location"="default"); -``` - -Workload Group和BE的匹配规则说明: -1. 当Workload Group的Tag为空,那么这个Workload Group可以发送给所有的BE,不管该BE是否指定了tag。 -2. 当Workload Group的Tag不为空,那么Workload Group只会发送给具有相同标签的BE。 - -推荐用法可以参考:[Workload Group分组功能](./group-workload-groups.md) - -## 配置 cgroup 的环境 -Doris 的 2.0 版本使用基于 Doris 的调度实现 CPU 资源的限制,但是从 2.1 版本起,Doris 默认使用基于 CGroup 对 CPU 资源进行限制,因此如果期望在 2.1 版本对 CPU 资源进行约束,那么需要 BE 所在的节点上已经安装好 CGroup 的环境。 - -目前支持的 CGroup 版本为 CGroup v1 和 CGroup v2。 - -用户如果在 2.0 版本使用了 Workload Group 的软限并升级到了 2.1 版本,那么也需要配置 CGroup,否则可能导致软限失效。 - -如果是在容器内使用 CGroup,需要容器具备操作宿主机的权限。 - -在不配置 CGroup 的情况下,用户可以使用 Workload Group 除 CPU 限制外的所有功能。 - -1. 首先确认 BE 所在节点是否已经安装好 GGroup -``` -cat /proc/filesystems | grep cgroup -nodev cgroup -nodev cgroup2 -nodev cgroupfs -``` - -2. 确认目前生效的 CGroup 版本 -``` -如果存在这个路径说明目前生效的是cgroup v1 -/sys/fs/cgroup/cpu/ - -如果存在这个路径说明目前生效的是cgroup v2 -/sys/fs/cgroup/cgroup.controllers -``` - -3. 在 CGroup 路径下新建一个名为 doris 的目录,这个目录名用户可以自行指定 - -``` -如果是cgroup v1就在cpu目录下新建 -mkdir /sys/fs/cgroup/cpu/doris - -如果是cgroup v2就在直接在cgroup目录下新建 -mkdir /sys/fs/cgroup/doris -``` - -4. 需要保证 Doris 的 BE 进程对于这个目录有读/写/执行权限 -``` -// 如果是CGroup v1,那么命令如下: -// 1. 修改这个目录的权限为可读可写可执行 -chmod 770 /sys/fs/cgroup/cpu/doris - -// 2. 把这个目录的归属划分给doris的账户 -chown -R doris:doris /sys/fs/cgroup/cpu/doris - - -// 如果是CGroup v2,那么命令如下: -// 1. 修改这个目录的权限为可读可写可执行 -chmod 770 /sys/fs/cgroup/doris - -// 2. 把这个目录的归属划分给doris的账户 -chown -R doris:doris /sys/fs/cgroup/doris -``` - -5. 如果目前环境里使用的是GGroup v2版本,那么需要做以下操作。这是因为CGroup v2对于权限管控比较严格,需要具备根目录的cgroup.procs文件的写权限才能实现进程在group之间的移动。 -如果是CGroup v1那么不需要这一步。 -``` -chmod a+w /sys/fs/cgroup/cgroup.procs -``` - -6. 修改 BE 的配置,指定 cgroup 的路径 -``` -如果是Cgroup v1,那么配置路径如下 -doris_cgroup_cpu_path = /sys/fs/cgroup/cpu/doris - -如果是Cgroup v2,那么配置路径如下 -doris_cgroup_cpu_path = /sys/fs/cgroup/doris -``` - -7. 重启 BE,在日志(be.INFO)可以看到"add thread xxx to group"的字样代表配置成功 - -:::tip -注意事项: -1. 目前的 workload group 暂时不支持一个机器多个 BE 的部署方式。 -2. 当机器重启之后,上面的cgroup配置就会清空。如果期望上述配置重启之后可以也可以生效,可以使用systemd把以上操作设置成系统的自定义服务,这样在每次机器重启的时候,自动完成创建和授权操作。 -::: - -## 在K8S中使用Workload Group的注意事项 -Workload的CPU管理是基于CGroup实现的,如果期望在容器中使用Workload Group,那么需要以特权模式启动容器,容器内的Doris进程才能具备读写宿主机CGroup文件的权限。 -当Doris在容器内运行时,Workload Group的CPU资源用量是在容器可用资源的情况下再划分的,例如宿主机整机是64核,容器被分配了8个核的资源,Workload Group配置的CPU硬限为50%, -那么Workload Group实际可用核数为4个(8核 * 50%)。 - -WorkloadGroup的内存管理和IO管理功能是Doris内部实现,不依赖外部组件,因此在容器和物理机上部署使用并没有区别。 - -如果要在K8S上使用Doris,建议使用Doris Operator进行部署,可以屏蔽底层的权限细节问题。 - -## workload group 使用 -1. 首先创建一个自定义的 workload group。 -``` -create workload group if not exists g1 -properties ( - "cpu_share"="1024", - "memory_limit"="30%", - "enable_memory_overcommit"="true" -); -``` -此时配置的 CPU 限制为软限。自 2.1 版本起,系统会自动创建一个名为```normal```的 group,不可删除。创建 workload group 详细使用可参考:[CREATE-WORKLOAD-GROUP](../../sql-manual/sql-statements/Data-Definition-Statements/Create/CREATE-WORKLOAD-GROUP), - -2. 查看/修改/删除 workload group语句如下: -``` -show workload groups; - -alter workload group g1 properties('memory_limit'='10%'); - -drop workload group g1; - -``` -查看 workload group 可访问 Doris 系统表```information_schema.workload_groups```或者使用命令[SHOW-WORKLOAD-GROUPS](../../sql-manual/sql-statements/Show-Statements/SHOW-WORKLOAD-GROUPS)。 删除 workload group 可参考[DROP-WORKLOAD-GROUP](../../sql-manual/sql-statements/Data-Definition-Statements/Drop/DROP-WORKLOAD-GROUP);修改 workload group 可参考:[ALTER-WORKLOAD-GROUP](../../sql-manual/sql-statements/Data-Definition-Statements/Alter/ALTER-WORKLOAD-GROUP)。 - -3. 绑定 workload group。 -* 通过设置 user property 将 user 默认绑定到 workload group,默认为`normal`,需要注意的这里的value不能填空,否则语句会执行失败,如果不知道要设置哪些group,可以设置为`normal`,`normal`为全局默认的group。 -``` -set property 'default_workload_group' = 'g1'; -``` -执行完该语句后,当前用户的查询将默认使用'g1'。 - -* 通过 session 变量指定 workload group, 默认为空: -``` -set workload_group = 'g1'; -``` -session 变量`workload_group`优先于 user property `default_workload_group`, 在`workload_group`为空时,查询将绑定到`default_workload_group`, 在 session 变量`workload_group`不为空时,查询将绑定到`workload_group`。 - -如果是非 admin 用户,需要先执行[SHOW-WORKLOAD-GROUPS](../../sql-manual/sql-statements/Show-Statements/SHOW-WORKLOAD-GROUPS) 确认下当前用户能否看到该 workload group,不能看到的 workload group 可能不存在或者当前用户没有权限,执行查询时会报错。给 workload group 授权参考:[grant 语句](../../sql-manual/sql-statements/Account-Management-Statements/GRANT)。 - -4. 执行查询,查询将关联到指定的 workload group。 - -### 查询排队功能 -``` -create workload group if not exists queue_group -properties ( - "cpu_share"="10", - "memory_limit"="30%", - "max_concurrency" = "10", - "max_queue_size" = "20", - "queue_timeout" = "3000" -); -``` - -1. 需要注意的是,目前的排队设计是不感知 FE 的个数的,排队的参数只在单 FE 粒度生效,例如: - -一个 Doris 集群配置了一个 work load group,设置 max_concurrency = 1 -如果集群中有 1FE,那么这个 workload group 在 Doris 集群视角看同时只会运行一个 SQL -如果有 3 台 FE,那么在 Doris 集群视角看最大可运行的 SQL 个数为 3 - -2. 在有些运维情况下,管理员账户需要绕开排队的逻辑,那么可以通过设置session变量: -``` -set bypass_workload_group = true; -``` - -### 配置 CPU 的硬限 -目前 Doris 默认运行 CPU 的软限,如果期望使用 Workload Group 的硬限功能,可以按照如下流程操作。 - -1 在 FE 中开启 CPU 的硬限的功能,如果有多个 FE,那么需要在每个 FE 上都进行相同操作。 -``` -1 修改磁盘上fe.conf的配置 -experimental_enable_cpu_hard_limit = true - -2 修改内存中的配置 -ADMIN SET FRONTEND CONFIG ("enable_cpu_hard_limit" = "true"); -``` - -2 修改 Workload Group 的 cpu_hard_limit 属性 -``` -alter workload group g1 properties ( 'cpu_hard_limit'='20%' ); -``` - -3 查看当前的 Workload Group 的配置,可以看到尽管此时 cpu_share 的值可能不为 0,但是由于开启了硬限模式,那么查询在执行时也会走 CPU 的硬限。也就是说 CPU 软硬限的开关不影响元数据的修改。 -``` -mysql [information_schema]>select name, cpu_share,memory_limit,enable_memory_overcommit,cpu_hard_limit from information_schema.workload_groups where name='g1'; -+------+-----------+--------------+--------------------------+----------------+ -| name | cpu_share | memory_limit | enable_memory_overcommit | cpu_hard_limit | -+------+-----------+--------------+--------------------------+----------------+ -| g1 | 1024 | 30% | true | 20% | -+------+-----------+--------------+--------------------------+----------------+ -1 row in set (0.02 sec) -``` - -### CPU 软硬限模式切换的说明 -目前 Doris 暂不支持同时运行 CPU 的软限和硬限,一个 Doris 集群在任意时刻只能是 CPU 软限或者 CPU 硬限。 -用户可以在两种模式之间进行切换,主要切换方法如下: - -1 假如当前的集群配置是默认的 CPU 软限制,然后期望改成 CPU 的硬限,那么首先需要把 Workload Group 的 cpu_hard_limit 参数修改成一个有效的值 -``` -alter workload group test_group properties ( 'cpu_hard_limit'='20%' ); -``` -需要修改当前集群中所有的 Workload Group 的这个属性,所有 Workload Group 的 cpu_hard_limit 的累加值不能超过 100% -由于 CPU 的硬限无法给出一个有效的默认值,因此如果只打开开关但是不修改属性,那么 CPU 的硬限也无法生效。 - -2 在所有 FE 中打开 CPU 硬限的开关 -``` -1 修改磁盘上fe.conf的配置 -experimental_enable_cpu_hard_limit = true - -2 修改内存中的配置 -ADMIN SET FRONTEND CONFIG ("enable_cpu_hard_limit" = "true"); -``` - -如果用户期望从 CPU 的硬限切换回 CPU 的软限,那么只需要在 FE 修改 enable_cpu_hard_limit 的值为 false 即可。 -CPU 软限的属性 cpu_share 默认会填充一个有效值 1024(如果之前未指定 cpu_share 的值),用户可以根据 group 的优先级对 cpu_share 的值进行重新调整。 - -# Workload Group权限表 -可以通过Workload Group权限表查看user或者role有权限访问的Workload Group,授权相关的用法可以参考[grant 语句](../../sql-manual/sql-statements/Account-Management-Statements/GRANT)。 - -该表目前存在行级别的权限控制,root或者admin账户可以查看所有的数据,非root/admin账户只能看到自己有权限访问的Workload Group的数据。 - -Workload Group权限表结构如下: -``` -mysql [information_schema]>desc information_schema.workload_group_privileges; -+---------------------+--------------+------+-------+---------+-------+ -| Field | Type | Null | Key | Default | Extra | -+---------------------+--------------+------+-------+---------+-------+ -| GRANTEE | varchar(64) | Yes | false | NULL | | -| WORKLOAD_GROUP_NAME | varchar(256) | Yes | false | NULL | | -| PRIVILEGE_TYPE | varchar(64) | Yes | false | NULL | | -| IS_GRANTABLE | varchar(3) | Yes | false | NULL | | -+---------------------+--------------+------+-------+---------+-------+ -``` - -字段说明: -1. grantee,代表user或者role。 -2. workload_group_name,取值为Workload Group的名称或者%,%代表可以访问所有的Workload Group。 -3. privilege_type,权限的类型,目前该列的值只有Usage_priv。 -4. is_grantable,取值为YES或者NO,字段含义为是否可以给其他用户授予Workload Group的访问权限。目前只有root用户或者admin用户这个字段为YES,其他用户都为NO。 - -基本用法: -1. 根据用户名查找有权限访问的Workload Group -``` -mysql [information_schema]>select * from workload_group_privileges where GRANTEE like '%test_wlg_user%'; -+---------------------+---------------------+----------------+--------------+ -| GRANTEE | WORKLOAD_GROUP_NAME | PRIVILEGE_TYPE | IS_GRANTABLE | -+---------------------+---------------------+----------------+--------------+ -| 'test_wlg_user'@'%' | normal | Usage_priv | NO | -| 'test_wlg_user'@'%' | test_group | Usage_priv | NO | -+---------------------+---------------------+----------------+--------------+ -2 rows in set (0.04 sec) -``` - -2. 查看某个Workload Group可以有哪些用户访问 -``` -mysql [information_schema]>select * from workload_group_privileges where WORKLOAD_GROUP_NAME='test_group'; -+---------------------+---------------------+----------------+--------------+ -| GRANTEE | WORKLOAD_GROUP_NAME | PRIVILEGE_TYPE | IS_GRANTABLE | -+---------------------+---------------------+----------------+--------------+ -| 'test_wlg_user'@'%' | test_group | Usage_priv | NO | -+---------------------+---------------------+----------------+--------------+ -1 row in set (0.03 sec) -``` \ No newline at end of file diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/workload-policy.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/workload-policy.md deleted file mode 100644 index b506b1f81ba00..0000000000000 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/workload-policy.md +++ /dev/null @@ -1,192 +0,0 @@ ---- -{ - "title": "Workload Policy", - "language": "zh-CN" -} ---- - - - -Workload Group功能解决了不同负载间的隔离问题,但无法解决同一个Group内的大查询熔断的问题, 用户遇到大查询影响集群稳定性时只能手动处理。 - -因此Doris实现了Workload Policy的功能,支持查询负载管理的自动化,比如实现自动取消运行时间超过5s的查询这样的功能。 - -## 基础概念 -给出一个创建Workload Policy的语法 -``` -create workload policy test_cancel_policy -conditions(query_time > 1000) -actions(cancel_query) -properties('enabled'='true'); -``` -Workload Policy主要包含以下几个概念: -* policy,代表了用户定义的策略,包含触发策略的条件(conditions)和触发策略后的动作(actions)。 -* conditions,代表了策略的触发条件,比如当查询时间大于3s,就触发当前policy的action。一个policy可以有多个condition,多个condition之间是“与”的关系。 -* actions,当policy被触发时所采取的动作,比如可以取消查询,目前一个policy只能定义一个action(除了`set_session_variable`)。 -* properties,定义了当前policy的属性,包括是否启用和优先级。 - -上面例子中policy的含义是,创建一个名为`test_cancel_policy`的policy,它会取消掉集群中运行时间超过1s的查询,当前状态为启用。 -创建 Workload Policy 需要 admin_priv 权限。 - -## 基本用法 -由于action的行为有的只能在FE生效,有的只能在BE生效,因此policy本身也有FE和BE的区别。 - -### 适用于FE的policy -1. Condition - * username,当一个查询的username为某个值时,就会触发相应的action -2. Action - * set_session_variable,这个action可以执行一条set session variable的语句。同一个policy可以有多个`set_session_variable`,也就是说一个policy可以执行多个修改session变量的语句。 - -适用于FE的policy主要是用于修改某个user的session变量,目前不支持set global的用法。 - -### 适用于BE的policy -1. Condition - * 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上是多并发执行,那么就是多个并发的累加值,单位是字节。 - -2. Action - * cancel_query,取消查询。 - -目前BE的policy主要是用于BE负载的管理,比如当某个query的scan数据量过大或者查询时间过长,就取消这个query。 - -### 属性 -* enabled,取值为true或false,默认值为true,表示当前policy处于启用状态,false表示当前policy处于禁用状态。 -* priority,取值范围为0到100的正整数,默认值为0,代表policy的优先级,该值越大,优先级越高。这个属性的主要作用是,当匹配到多个policy时,选择优先级最高的policy。 -* workload_group,目前一个policy可以绑定一个workload group,代表这个policy只对某个workload group生效。默认为空,代表对所有查询生效。 - -### 注意事项 -* 同一个policy的condition和action要么都是FE的,要么都是BE的,比如`set_session_variable`和`cancel_query`无法配置到同一个policy中。condition `be_scan_rows`和condition `username`无法配置到同一个policy中。 - -* 由于目前的policy是异步线程以固定时间间隔执行的,因此策略的生效存在一定的滞后性。比如用户配置了scan行数大于100万就取消查询的策略,如果此时集群资源比较空闲,那么有可能在取消策略生效之前查询就已经结束了。目前这个时间间隔为500ms,这意味着运行时间过短的查询可能会绕过策略的检查。 - -* 当前支持的负载类型包括select/insert select/stream load/broker load/routine load。 - -* 一个查询可能匹配到多个policy,但是只有优先级最高的policy会生效。 - -* 目前不支持action和condition的修改,只能通过删除新建的方式修改。 - -## 常见用法 -1. 将用户名为admin的所有session变量中的workload group修改为normal -``` -create workload policy test_set_var_policy -conditions(username='admin') -actions(set_session_variable 'workload_group=normal') -``` - -2. 取消所有单个be上scan行数大于1000行的sql -``` -create workload policy test_cancel_query -conditions(be_scan_rows > 1000) -actions(cancel_query) -``` - -3. 取消所有scan字节数大于5G且运行时间超过1s的sql -``` -create workload policy test_cancel_big_query -conditions(query_time > 1000, be_scan_bytes > 5368709120) -actions(cancel_query) -``` - -4. 修改属性 -``` -alter workload policy test_cancel_big_query properties('workload_group'='normal'); -``` - -5. 查看已创建的policy -``` -mysql [information_schema]>select * from workload_policy; -+-------+-----------------------+----------------------------------------------+--------------+----------+---------+---------+----------------+ -| ID | NAME | CONDITION | ACTION | PRIORITY | ENABLED | VERSION | WORKLOAD_GROUP | -+-------+-----------------------+----------------------------------------------+--------------+----------+---------+---------+----------------+ -| 35025 | test_cancel_big_query | query_time > 1000;be_scan_bytes > 5368709120 | cancel_query | 0 | 1 | 1 | normal | -+-------+-----------------------+----------------------------------------------+--------------+----------+---------+---------+----------------+ -1 row in set (0.03 sec) -``` - - -6. 删除policy -``` -drop workload policy test_cancel_big_query; -``` - -## 效果测试 -### 1 session变量修改测试 -尝试修改admin账户的session变量中的并发相关的参数 -``` -// 登录 admin账户查看并发参数 -mysql [(none)]>show variables like '%parallel_fragment_exec_instance_num%'; -+-------------------------------------+-------+---------------+---------+ -| Variable_name | Value | Default_Value | Changed | -+-------------------------------------+-------+---------------+---------+ -| parallel_fragment_exec_instance_num | 8 | 8 | 0 | -+-------------------------------------+-------+---------------+---------+ -1 row in set (0.00 sec) - -// 创建修改admin账户并发参数的policy -create workload policy test_set_var_policy -conditions(username='admin') -actions(set_session_variable 'parallel_fragment_exec_instance_num=1') - -// 过段时间后再次查看admin账户的参数 -mysql [(none)]>show variables like '%parallel_fragment_exec_instance_num%'; -+-------------------------------------+-------+---------------+---------+ -| Variable_name | Value | Default_Value | Changed | -+-------------------------------------+-------+---------------+---------+ -| parallel_fragment_exec_instance_num | 1 | 8 | 1 | -+-------------------------------------+-------+---------------+---------+ -1 row in set (0.01 sec) -``` - -### 2 大查询熔断测试 -测试对运行时间超过3s的查询进行熔断,以下是一个ckbench的q29运行成功时的审计日志,可以看到这个sql跑完需要4.5s的时间 -``` -mysql [hits]>SELECT REGEXP_REPLACE(Referer, '^https?://(?:www\.)?([^/]+)/.*$', '\1') AS k, AVG(length(Referer)) AS l, COUNT(*) AS c, MIN(Referer) FROM hits WHERE Referer <> '' GROUP BY k HAVING COUNT(*) > 100000 ORDER BY l DESC LIMIT 25; -+-----------------------------------------------------------------------+------------------+----------+---------------------------------------------------------------------------------------------------------------------+ -| k | l | c | min(Referer) | -+-----------------------------------------------------------------------+------------------+----------+---------------------------------------------------------------------------------------------------------------------+ -| 1 | 85.4611926713085 | 67259319 | http://%26ad%3D1%25EA%25D0%26utm_source=web&cd=19590&input_onlist/би-2 место будущей кондицин | -| http:%2F%2Fwwww.regnancies/search&evL8gE&where=all&filmId=bEmYZc_WTDE | 69 | 207347 | http:%2F%2Fwwww.regnancies/search&evL8gE&where=all&filmId=bEmYZc_WTDE | -| http://новострашная | 31 | 740277 | http://новострашная | -| http://loveche.html?ctid | 24 | 144901 | http://loveche.html?ctid | -| http://rukodeliveresult | 23 | 226135 | http://rukodeliveresult | -| http://holodilnik.ru | 20 | 133893 | http://holodilnik.ru | -| http://smeshariki.ru | 20 | 210736 | http://smeshariki.ru | -| http:%2F%2Fviewtopic | 20 | 391115 | http:%2F%2Fviewtopic | -| http:%2F%2Fwwww.ukr | 19 | 655178 | http:%2F%2Fwwww.ukr | -| http:%2F%2FviewType | 19 | 148907 | http:%2F%2FviewType | -| http://state=2008 | 17 | 139630 | http://state=2008 | -+-----------------------------------------------------------------------+------------------+----------+---------------------------------------------------------------------------------------------------------------------+ -11 rows in set (4.50 sec) -``` - -创建一个运行时间超过3s就取消查询的policy -``` -create workload policy test_cancel_3s_query -conditions(query_time > 3000) -actions(cancel_query) -``` - -再次执行sql可以看到SQL执行会直接报错 -``` -mysql [hits]>SELECT REGEXP_REPLACE(Referer, '^https?://(?:www\.)?([^/]+)/.*$', '\1') AS k, AVG(length(Referer)) AS l, COUNT(*) AS c, MIN(Referer) FROM hits WHERE Referer <> '' GROUP BY k HAVING COUNT(*) > 100000 ORDER BY l DESC LIMIT 25; -ERROR 1105 (HY000): errCode = 2, detailMessage = (10.16.10.8)[CANCELLED]query cancelled by workload policy,id:12345 -``` \ No newline at end of file diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/analysis-diagnosis.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/analysis-diagnosis.md new file mode 100644 index 0000000000000..50e9e9dd8f76d --- /dev/null +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/analysis-diagnosis.md @@ -0,0 +1,51 @@ +--- +{ +"title": "工作负载分析与诊断", +"language": "zh-CN" +} +--- + + + +集群的工作负载分析主要分成两个阶段: +- 第一个是运行时的工作负载分析,当集群可用性下降时,可以通过监控发现资源开销比较大的查询,并进行降级处理。 +- 第二个是分析历史数据,比如审计日志表等,找出不合理的工作负载,并进行优化。 + +## 运行时的工作负载分析 +当通过监控发现集群的可用性下降时,可以按照以下流程进行处理: +1. 先通过监控大致判断目前集群的瓶颈点,比如是内存用量过高,CPU用量过高,还是IO过高,如果都很高,那么可以考虑优先解决内存的问题。 +2. 确定了集群瓶颈点之后,可以通过workload_group_resource_usage表来查看目前资源用量最高的Group,比如是内存瓶颈,那么可以先找出内存用量最高的N个Group。 +3. 确定了资源用量最高的Group之后,首先可以尝试调低这个Group的查询并发,因为此时集群资源已经很紧张了,要避免持续有新的查询进来耗尽集群的资源。 +4. 对当前Group的查询进行降级,根据瓶颈点的不同,可以有不同的处理方法: +- 如果是CPU瓶颈,那么可以尝试把这个Group的CPU修改为硬限,并将cpu_hard_limit设置为一个较低的值,主动让出CPU资源。 +- 如果是IO瓶颈,可以通过read_bytes_per_second参数限制该Group的最大IO。 +- 如果是内存瓶颈,可以通过设置该Group的内存为硬限,并调低memory_limit的值,来释放部分内存,需要注意的是这可能会导致当前Group大量查询失败。 +5. 完成以上步骤后,通常集群的可用性会有所恢复。此时可以做更进一步的分析,也就是引起该Group资源用量升高的主要原因, + 是这个Group的整体查询并发升高导致的还是某些大查询导致的,如果是某些大查询导致的,那么可以通过快速杀死这些大查询的方式进行故障恢复。 +6. 可以使用backend_active_tasks结合active_queries找出目前集群中资源用量比较异常的SQL,然后通过kill语句杀死这些SQL释放资源。 + +## 通过历史数据分析工作负载 +目前Doris的审计日志表中留存了sql执行时的简要信息,可以用于找出历史上执行过的不合理的查询,然后做出一些调整,具体流程如下: +1. 查看监控确认集群历史的资源用量情况,找出集群的瓶颈点,比如是CPU,内存还是IO。 +2. 确定了集群的瓶颈点后,可以通过审计日志表找出对应时段资源用量比较异常的SQL,异常SQL有两种定义方式 +1. 用户对于集群中SQL资源的使用量有一定的预期,比如大部分延迟都是秒级,扫描行数在千万,那么当有扫描行数在亿级别十亿级别的SQL,就属于异常SQL,需要人工进行处理 +2. 用户如果对于集群中SQL资源用量也没有预期,这个时候可以通过百分位函数计算资源用量的方式,找出资源用量比较异常的SQL。以CPU瓶颈为例,可以先计算历史时间段内查询CPU时间的tp50/tp75/tp99/tp999,以该值为正常值,对照当前集群相同时间段内查询CPU时间的百分位函数,比如历史时段的tp999为1min,但是当前集群相同时段CPU时间的tp50就已经是1min,说明当前时段内相比于历史出现了大量的CPU时间在1min以上的sql,那么CPU时间大于1min的SQL就可以定义为异常SQL。其他指标的异常值的查看也是同理。 +3. 对资源用量异常的SQL进行优化,比如SQL改写,表结构优化,并行度调节等方式降低单SQL的资源用量。 +4. 如果通过审计表发现SQL的资源用量都比较正常,那么可以通过监控和审计查看当时执行的SQL的数量相比于历史时期是否有增加,如果有的话,可以跟上游业务确认对应时间段上游的访问流量是否有增加,从而选择是进行集群扩容还是排队限流操作。 \ No newline at end of file diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/group-workload-groups.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/best-practice/group-workload-group.md similarity index 96% rename from i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/group-workload-groups.md rename to i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/best-practice/group-workload-group.md index 9139ec0505058..ece42ff7756bb 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/group-workload-groups.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/best-practice/group-workload-group.md @@ -32,7 +32,7 @@ Workload Group分组功能常用于当一个Doris集群中有多个物理隔离 1. 把normal group的资源配置量尽量调小,作为保底的查询分组,比如查询如果不携带任何Workload Group信息,那么就会自动使用这个默认的group,作用是避免查询失败。 2. 为这两个子集群分别创建对应的Workload Group,绑定到对应的子集群上。 例如,为rg1集群创建第一个名为wg1的Workload Group分组,包含Workload Group a和Workload Group b两个Workload Group。为rg2集群创建第二个名为wg2的Workload Group分组,包含Workload Group c和Workload Group d。 -那么最终效果如下: + 那么最终效果如下: ![rg1_rg2_workload_group](/images/workload-management/rg1_rg2_workload_group.png) @@ -82,7 +82,7 @@ create workload group d properties ("memory_limit"="45%","tag"="wg2") ``` 2. 把BE绑定到wg1和wg2,此时Workload Group a和b只会在be1和be2上生效。Workload Group c和d只会在be3和be4上生效。 -(需要注意的是这里在修改时指定了tag.location,原因是修改BE配置的接口目前暂时不支持增量更新,因此在新加属性时要把存量的属性也携带上) + (需要注意的是这里在修改时指定了tag.location,原因是修改BE配置的接口目前暂时不支持增量更新,因此在新加属性时要把存量的属性也携带上) ``` -- 把be1和be2绑定到wg1 alter system modify backend "be1:9050" set ("tag.location" = "rg1",tag.workload_group="wg1"); @@ -141,10 +141,8 @@ tag.location用于指定BE归属于哪个数据副本分组,数据副本也有 tag.workload_group用于指定BE归属于哪个Workload Group的分组,Workload Group也具有tag属性用于指定Workload Group归属于哪个分组,Workload Group也只会在具有分组的BE上生效。 Doris存算一体模式下,数据副本和计算通常是绑定的,因此也比较推荐BE的tag.location和tag.workload_group值是对齐的。 - ::: +::: 目前Workload Group的tag和Be的tag.workload_group的匹配规则为: 1. 当Workload Group的tag为空,那么这个Workload Group可以发送给所有的BE,不管该BE是否指定了tag。 -2. 当Workload Group的tag不为空,那么Workload Group只会发送给具有相同标签的BE。 - - +2. 当Workload Group的tag不为空,那么Workload Group只会发送给具有相同标签的BE。 \ No newline at end of file diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/best-practice/workload-group-best-practice.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/best-practice/workload-group-best-practice.md new file mode 100644 index 0000000000000..f5d14bcb1c56b --- /dev/null +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/best-practice/workload-group-best-practice.md @@ -0,0 +1,1007 @@ +--- +{ +"title": "Workload Group最佳实践", +"language": "zh-CN" +} +--- + + + +## 操作说明 +### 机器环境 +实践使用 1FE 与 3BE 的环境,配置如下: + +| Host | Role | CPU |Memory |Disk | +| ---------- | --------- |-----|-----|-----| +| r10 | FE | 8 | 32G | HDD | +| r11 | BE | 8 | 32G | HDD | +| r12 | BE |8 | 32G | HDD | +| r13 | BE | 8 | 32G | HDD | + +### 实践方案 +#### 压测方案 +测试数据集使用 ClickBench 标准测试集,使用 clickbench-29 语句,通过 mysqlslap 50 并发压测: +``` +mysqlslap --concurrency=10 --iterations=50 \ + --create-schema=clickbench --host=127.0.0.1 --port=9030 --user=root \ + --query="ckbench-29.sql" --verbose +``` + +在以上命令中,使用 10 并发,压测 50 轮 SQL Clickbench-29 。Clickbench-29 SQL 如下: +``` +SELECT REGEXP_REPLACE(Referer, '^https?://(?:www\.)?([^/]+)/.*$', '\\1') AS k, + AVG(length(Referer)) AS l, + COUNT(*) AS c, + MIN(Referer) +FROM hits +WHERE Referer <> '' +GROUP BY k +HAVING COUNT(*) > 100000 +ORDER BY l DESC +LIMIT 25; +``` + +#### 监控方案 +1. 内存监控方案 + 通过 ps 命令,可以获取 BE 节点内存使用情况: +``` +ps -eo comm,%mem,rss | grep doris_be | awk '{ printf "%s mem_usage=%s%%/%.2fGB\n", $1, $2, $3/1024/1024 }' +``` + +2. CPU 监控方案 + 通过 top 命令,可以获取 BE 节点 CPU 使用情况: +``` + top -n1 | grep doris_be | awk '{print "doris_be cpu_usage="$9"%"}' +``` + +3. 本地 IO 监控方案 + 使用 pidstat 命令,可以获取 BE 进程读写 IO 使用情况: +``` + pidstat -d -p $(pgrep doris_be) 1 1 | grep Average | awk '{print "doris_be kB_rd/s="$3" kB_wr/s="$4}' + +``` + +4. 资源组使用监控方案 + 通过 Doris 内 workload_group_resource_usage 表可以查看 workload 使用情况 +``` +select wlg.name, usage.memory_usage_bytes / 1024/ 1024 / 1024 as wg_mem_used_gb +from information_schema.workload_group_resource_usage usage, + information_schema.workload_groups wlg +where wlg.id = usage.workload_group_id; +``` + +## 配置内存硬限 +### 实践演示方案 +在进行内存硬限实践时,可以按照以下步骤进行对比: +1. 在没有创建资源组时,使用压测命令,观察压测前后内存使用变化 +2. 创建资源组后,硬限内存,使用压测命令,观察压测前后内存使用变化 + +### 实践步骤 +未创建资源组时内存使用情况 +1. 确保当前集群内,只有 normal 资源组 +``` +select name from information_schema.workload_groups; ++--------+ +| name | ++--------+ +| normal | ++--------+ +``` + +2. 监控空负载时内存使用情况 +``` +[root@r11 ~]# ps -eo comm,%mem,rss | grep doris_be | awk '{ printf "%s mem_usage=%s%%/%.2fGB\n", $1, $2, $3/1024/1024 }' +doris_be mem_usage=17.6%/5.52GB + +[root@r12 ~]# ps -eo comm,%mem,rss | grep doris_be | awk '{ printf "%s mem_usage=%s%%/%.2fGB\n", $1, $2, $3/1024/1024 }' +doris_be mem_usage=12.2%/3.82GB + +[root@r13 ~]# ps -eo comm,%mem,rss | grep doris_be | awk '{ printf "%s mem_usage=%s%%/%.2fGB\n", $1, $2, $3/1024/1024 }' +doris_be mem_usage=14.0%/4.39GB +``` + +3. 执行压测语句 +``` +[root@r10 ~]# mysqlslap --concurrency=10 --iterations=50 \ +> --create-schema=clickbench --host=127.0.0.1 --port=9030 --user=root \ +> --query="ckbench-29.sql" --verbose +``` + +4. 监控压测过程中内存使用情况 + 在操作系统中可以监控到内存从空负载 4GB 增长到 14GB 左右。 +``` +[root@r11 ~]# ps -eo comm,%mem,rss | grep doris_be | awk '{ printf "%s mem_usage=%s%%/%.2fGB\n", $1, $2, $3/1024/1024 }' +doris_be mem_usage=43.9%/13.75GB + +[root@r12 ~]# ps -eo comm,%mem,rss | grep doris_be | awk '{ printf "%s mem_usage=%s%%/%.2fGB\n", $1, $2, $3/1024/1024 }' +doris_be mem_usage=43.1%/13.50GB + +[root@r13 ~]# ps -eo comm,%mem,rss | grep doris_be | awk '{ printf "%s mem_usage=%s%%/%.2fGB\n", $1, $2, $3/1024/1024 }' +doris_be mem_usage=52.5%/16.42GB +``` + +由于没有创建 Workload Group 进行资源隔离,会默认使用 normal 资源组。 +``` +select wlg.name, usage.memory_usage_bytes / 1024/ 1024 / 1024 as wg_mem_used_gb +from information_schema.workload_group_resource_usage usage, + information_schema.workload_groups wlg +where wlg.id = usage.workload_group_id; ++--------+--------------------+ +| name | wg_mem_used_gb | ++--------+--------------------+ +| normal | 4.9592821300029755 | ++--------+--------------------+ +``` + +#### 创建资源组后内存使用情况 +1. 监控空负载时内存使用情况 +``` +[root@r11 ~]# ps -eo comm,%mem,rss | grep doris_be | awk '{ printf "%s mem_usage=%s%%/%.2fGB\n", $1, $2, $3/1024/1024 }' +doris_be mem_usage=17.9%/5.60GB + + +[root@r12 ~]# ps -eo comm,%mem,rss | grep doris_be | awk '{ printf "%s mem_usage=%s%%/%.2fGB\n", $1, $2, $3/1024/1024 }' +doris_be mem_usage=12.4%/3.89GB + + +[root@r13 ~]# ps -eo comm,%mem,rss | grep doris_be | awk '{ printf "%s mem_usage=%s%%/%.2fGB\n", $1, $2, $3/1024/1024 }' +doris_be mem_usage=14.2%/4.46GB +``` + +2. 创建 Workload Group 对内存进行硬限 +``` +## 创建资源组 g2,规划内存使用限制 20% +create workload group g2 properties('memory_limit'='20%'); + +## 开启资源硬限 +alter workload group g2 properties('enable_memory_overcommit'='false'); + +## 绑定当前用户的默认资源组为 g2 +set property for 'root' 'default_workload_group' = 'g2'; +``` + +3. 运行压测语句 +``` +[root@r10 ~]# mysqlslap --concurrency=10 --iterations=50 \ +> --create-schema=clickbench --host=127.0.0.1 --port=9030 --user=root \ +> --query="ckbench-29.sql" --verbose +``` +由于对内存使用了硬限,可能会导致 mysqlslap 压测由于内存不足终止,报以下错误: +``` +[CANCELLED]GC wg for hard limit, wg id:12007, name:g2, used:5.69 GB, limit:5.63 GB +``` + +4. 监控内存资源硬限后内存使用情况 +``` +[root@r11 ~]# ps -eo comm,%mem,rss | grep doris_be | awk '{ printf "%s mem_usage=%s%%/%.2fGB\n", $1, $2, $3/1024/1024 }' +doris_be mem_usage=35.2%/11.03GB + +[root@r12 ~]# ps -eo comm,%mem,rss | grep doris_be | awk '{ printf "%s mem_usage=%s%%/%.2fGB\n", $1, $2, $3/1024/1024 }' +doris_be mem_usage=29.8%/9.33GB + +[root@r13 ~]# ps -eo comm,%mem,rss | grep doris_be | awk '{ printf "%s mem_usage=%s%%/%.2fGB\n", $1, $2, $3/1024/1024 }' +doris_be mem_usage=32.0%/10.00GB +``` + +监控 g2 资源组下的内存使用情况: +``` +select wlg.name, usage.memory_usage_bytes / 1024/ 1024 / 1024 as wg_mem_used_gb +from information_schema.workload_group_resource_usage usage, + information_schema.workload_groups wlg +where wlg.id = usage.workload_group_id; ++--------+--------------------+ +| name | wg_mem_used_gb | ++--------+--------------------+ +| g2 | 5.4703264236450195 | +| normal | 0 | ++--------+--------------------+ + +``` + +![wg_mem_hard_limit1](/images/workload-management/wg_mem_hard_limit1.png) +![wg_mem_hard_limit2](/images/workload-management/wg_mem_hard_limit2.png) +![wg_mem_hard_limit3](/images/workload-management/wg_mem_hard_limit3.png) +![wg_mem_hard_limit4](/images/workload-management/wg_mem_hard_limit4.png) + +## 配置内存软限 +### 实践演示方案 +在进行内存软限实践时,可以按照以下步骤进行对比: +1. 在未创建资源组时,使用压测命令,观察压测前后内存使用变化; +2. 在创建资源组后,软限内存,使用压测命令,观察压测前后内存使用变化; +3. 创建多个租户与资源组,同时进行压测,产生资源竞争,观察资源争用后回收情况。 + +### 实践步骤 +#### 未创建资源组时内存使用情况 +1. 确保当前集群内,只有 normal 资源组 +``` +select name from information_schema.workload_groups; ++--------+ +| name | ++--------+ +| normal | ++--------+ +``` + +2. 监控空负载时内存使用情况 +``` +[root@r11 be]# ps -eo comm,%mem,rss | grep doris_be | awk '{ printf "%s mem_usage=%s%%/%.2fGB\n", $1, $2, $3/1024/1024 }' +doris_be mem_usage=5.2%/1.65GB + +[root@r12 be]# ps -eo comm,%mem,rss | grep doris_be | awk '{ printf "%s mem_usage=%s%%/%.2fGB\n", $1, $2, $3/1024/1024 }' +doris_be mem_usage=5.2%/1.64GB + +[root@r13 be]# ps -eo comm,%mem,rss | grep doris_be | awk '{ printf "%s mem_usage=%s%%/%.2fGB\n", $1, $2, $3/1024/1024 }' +doris_be mem_usage=5.3%/1.66GB + +``` + +3. 执行压测语句 +``` +[root@r10 ~]# mysqlslap --concurrency=10 --iterations=500 \ +> --create-schema=clickbench --host=127.0.0.1 --port=9030 --user=root \ +> --query="ckbench-29.sql" --verbose +``` + +4. 监控压测过程中内存使用情况 +``` +[root@r11 be]# ps -eo comm,%mem,rss | grep doris_be | awk '{ printf "%s mem_usage=%s%%/%.2fGB\n", $1, $2, $3/1024/1024 }' +doris_be mem_usage=70.2%/21.96GB + +[root@r12 be]# ps -eo comm,%mem,rss | grep doris_be | awk '{ printf "%s mem_usage=%s%%/%.2fGB\n", $1, $2, $3/1024/1024 }' +doris_be mem_usage=61.3%/19.19GB + +[root@r13 be]# ps -eo comm,%mem,rss | grep doris_be | awk '{ printf "%s mem_usage=%s%%/%.2fGB\n", $1, $2, $3/1024/1024 }' +doris_be mem_usage=65.7%/20.57GB +``` +由于没有创建资源组进行资源隔离,会默认使用 normal 资源组。 +``` +select wlg.name, usage.memory_usage_bytes / 1024/ 1024 / 1024 as wg_mem_used_gb +from information_schema.workload_group_resource_usage usage, + information_schema.workload_groups wlg +where wlg.id = usage.workload_group_id; ++--------+--------------------+ +| name | wg_mem_used_gb | ++--------+--------------------+ +| normal | 13.077159613370895 | ++--------+--------------------+ + +``` + +#### 创建资源组后内存使用情况 +1. 监控空负载时内存使用情况 +``` +[root@r11 be]# ps -eo comm,%mem,rss | grep doris_be | awk '{ printf "%s mem_usage=%s%%/%.2fGB\n", $1, $2, $3/1024/1024 }' +doris_be mem_usage=3.3%/1.03GB + +[root@r12 be]# ps -eo comm,%mem,rss | grep doris_be | awk '{ printf "%s mem_usage=%s%%/%.2fGB\n", $1, $2, $3/1024/1024 }' +doris_be mem_usage=3.1%/0.99GB + +[root@r13 be]# ps -eo comm,%mem,rss | grep doris_be | awk '{ printf "%s mem_usage=%s%%/%.2fGB\n", $1, $2, $3/1024/1024 }' +doris_be mem_usage=3.0%/0.94GB + +``` + +2. 创建 Workload 资源组进行资源管控 +``` +## 创建资源组 g2,规划内存使用限制 20% +create workload group g2 properties('memory_limit'='20%'); + +## 开启资源软限 +alter workload group g2 properties('enable_memory_overcommit'='true'); + +## 绑定当前用户的默认资源组为 g2 +set property 'default_workload_group' = 'g2'; +``` + +3. 运行压测语句 +``` +[root@r10 ~]# mysqlslap --concurrency=10 --iterations=50 \ +> --create-schema=clickbench --host=127.0.0.1 --port=9030 --user=root \ +> --query="ckbench-29.sql" --verbose +``` + +4. 监控内存资源软限后内存使用情况 +``` +[root@r11 be]# ps -eo comm,%mem,rss | grep doris_be | awk '{ printf "%s mem_usage=%s%%/%.2fGB\n", $1, $2, $3/1024/1024 }' +doris_be mem_usage=70.0%/21.90GB + +[root@r12 be]# ps -eo comm,%mem,rss | grep doris_be | awk '{ printf "%s mem_usage=%s%%/%.2fGB\n", $1, $2, $3/1024/1024 }' +doris_be mem_usage=67.1%/21.00GB + +[root@r13 be]# ps -eo comm,%mem,rss | grep doris_be | awk '{ printf "%s mem_usage=%s%%/%.2fGB\n", $1, $2, $3/1024/1024 }' +doris_be mem_usage=68.4%/21.39GB + +``` +监控 g2 资源组下的内存使用情况: +``` +select wlg.name, usage.memory_usage_bytes / 1024/ 1024 / 1024 as wg_mem_used_gb +from information_schema.workload_group_resource_usage usage, + information_schema.workload_groups wlg +where wlg.id = usage.workload_group_id; ++--------+--------------------+ +| name | wg_mem_used_gb | ++--------+--------------------+ +| g2 | 22.382209539413452 | +| normal | 0 | ++--------+--------------------+ +2 rows in set (6.78 sec) + +``` + +#### 资源竞争时内存回收情况 +1. 创建 test_wlg 租户,绑定 g3 资源组 +``` +## 创建新用户 test_wlg +create user test_wlg; + +## 为 test_wlg 赋权 +grant admin_priv on *.*.* to test_wlg; + +## 创建 g3 资源组 +create workload group g3 properties('memory_limit'='50%'); + +## 为 test_wlg 租户绑定 g3 资源组 +set property for 'test_wlg' 'default_workload_group' = 'g3'; +``` + +2. 使用 root 租户进行压测 +``` +[root@r10 ~]# mysqlslap --concurrency=10 --iterations=50 \ +> --create-schema=clickbench --host=127.0.0.1 --port=9030 --user=root \ +> --query="ckbench-29.sql" --verbose +``` + +3. 监控 root 用户默认资源组 g2 的内存使用情况 +``` +select wlg.name, usage.memory_usage_bytes / 1024/ 1024 / 1024 as wg_mem_used_gb +from information_schema.workload_group_resource_usage usage, + information_schema.workload_groups wlg +where wlg.id = usage.workload_group_id; ++--------+-------------------+ +| name | wg_mem_used_gb | ++--------+-------------------+ +| g3 | 0 | +| g2 | 20.43520560860634 | +| normal | 0 | ++--------+-------------------+ +3 rows in set (0.07 sec) + +``` +![wg_mem_soft_limit1](/images/workload-management/wg_mem_soft_limit1.png) + +4. 使用 test_wlg 租户同时压测 +``` +[root@r10 ~]# mysqlslap --concurrency=10 --iterations=50 \ +> --create-schema=clickbench --host=127.0.0.1 --port=9030 --user=test_wlg \ +> --query="ckbench-29.sql" --verbose +``` + +5. 监控内存资源使用情况 +在存在内存资源争用时,g2 资源组借用的资源会缓慢释放。 +``` +select wlg.name, usage.memory_usage_bytes / 1024/ 1024 / 1024 as wg_mem_used_gb +from information_schema.workload_group_resource_usage usage, + information_schema.workload_groups wlg +where wlg.id = usage.workload_group_id; ++--------+--------------------+ +| name | wg_mem_used_gb | ++--------+--------------------+ +| g3 | 11.9006786942482 | +| g2 | 2.4906590282917023 | +| normal | 0 | ++--------+--------------------+ + +``` + +## 配置 CPU 硬限 +### 实践演示方案 +在进行 CPU 硬限实践是,可以按照以下步骤进行对比: +1. 在没有创建资源组是,使用压测命令,观察压测前后 CPU 使用变化 +2. 在创建资源组后,硬限 CPU,使用压测命令,观察压测前后 CPU 使用变化 + +### 实践步骤 +#### 未创建资源组时 CPU 使用情况 +1. 确保当前集群内,只有 normal 资源组 +``` +select name from information_schema.workload_groups; ++--------+ +| name | ++--------+ +| normal | ++--------+ + +``` + +2. 监控空负载时 CPU 使用情况 +``` +[root@r11 ~]# top -n1 | grep doris_be | awk '{print "doris_be cpu_usage="$9"%"}' +doris_be cpu_usage=6.2% + +[root@r12 ~]# top -n1 | grep doris_be | awk '{print "doris_be cpu_usage="$9"%"}' +doris_be cpu_usage=6.2% + +[root@r13 ~]# top -n1 | grep doris_be | awk '{print "doris_be cpu_usage="$9"%"}' +doris_be cpu_usage=6.7% +``` + +3. 执行压测语句 +``` +[root@r10 ~]# mysqlslap --concurrency=10 --iterations=50 \ +> --create-schema=clickbench --host=127.0.0.1 --port=9030 --user=root \ +> --query="ckbench-29.sql" --verbose +``` + +4. 监控压测过程中 CPU 使用情况 +``` +[root@r12 ~]# top -n1 | grep doris_be | awk '{print "doris_be cpu_usage="$9"%"}' +doris_be cpu_usage=762.5% + +[root@r13 ~]# top -n1 | grep doris_be | awk '{print "doris_be cpu_usage="$9"%"}' +doris_be cpu_usage=762.5% + +[root@r13 ~]# top -n1 | grep doris_be | awk '{print "doris_be cpu_usage="$9"%"}' +doris_be cpu_usage=770.6% + +``` + +#### 创建资源组后 CPU 使用情况 +1. 监控空负载时 CPU 使用情况 +``` +[root@r11 ~]# top -n1 | grep doris_be | awk '{print "doris_be cpu_usage="$9"%"}' +doris_be cpu_usage=6.7% + +[root@r12 ~]# top -n1 | grep doris_be | awk '{print "doris_be cpu_usage="$9"%"}' +doris_be cpu_usage=6.2% + +[root@r13 ~]# top -n1 | grep doris_be | awk '{print "doris_be cpu_usage="$9"%"}' +doris_be cpu_usage=6.7% + +``` + +2. 创建 Workload Group 对 CPU 资源进行硬限 +``` +create workload group g2 properties('cpu_hard_limit'='10%'); + +admin set frontend config ("enable_cpu_hard_limit" = "true"); + +set property for 'root' 'default_workload_group' = 'g2'; +``` + +3. 运行压测语句 +``` +[root@r10 ~]# mysqlslap --concurrency=10 --iterations=50 \ +> --create-schema=clickbench --host=127.0.0.1 --port=9030 --user=root \ +> --query="ckbench-29.sql" --verbose +``` + +4. 监控 CPU 硬限后 CPU 使用情况 +``` +[root@r11 ~]# top -n1 | grep doris_be | awk '{print "doris_be cpu_usage="$9"%"}' +doris_be cpu_usage=56.2% + +[root@r12 ~]# top -n1 | grep doris_be | awk '{print "doris_be cpu_usage="$9"%"}' +doris_be cpu_usage=60.0% + +[root@r13 storage]# top -n1 | grep doris_be | awk '{print "doris_be cpu_usage="$9"%"}' +doris_be cpu_usage=66.7% + +``` + +监控 g2 资源组 CPU 使用情况: +``` +select wlg.name, cpu_usage_percent +from information_schema.workload_group_resource_usage usage, + information_schema.workload_groups wlg +where wlg.id = usage.workload_group_id; ++--------+-------------------+ +| name | cpu_usage_percent | ++--------+-------------------+ +| normal | 0 | +| g2 | 9.74 | ++--------+-------------------+ + +``` + +![wg_cpu_hard_limit1](/images/workload-management/wg_cpu_hard_limit1.png) +![wg_cpu_hard_limit2](/images/workload-management/wg_cpu_hard_limit2.png) +![wg_cpu_hard_limit3](/images/workload-management/wg_cpu_hard_limit3.png) + +## 配置 CPU 软限 + +### 实践演示方案 +在进行 CPU 软限实践时,可以按照以下步骤进行对比: +1. 在未创建资源组时,使用压测命令,观察压测前后 CPU 使用变化; +2. 在创建资源组后,软限 CPU,使用压测命令,挂差压测前后 CPU 使用变化; +3. 创建多个租户与资源组,同时进行压测,产生资源竞争,观察资源争用后回收情况。 + +### 实践步骤 +#### 未创建资源组时 CPU 使用情况 +1. 确保当前集群内只用 normal 资源组 +``` + select name from information_schema.workload_groups; ++--------+ +| name | ++--------+ +| normal | ++--------+ + +``` + +2. 监控空负载时 CPU 使用情况 +``` +[root@r11 storage]# top -n1 | grep doris_be | awk '{print "doris_be cpu_usage="$9"%"}' +doris_be cpu_usage=6.7% + +[root@r12 storage]# top -n1 | grep doris_be | awk '{print "doris_be cpu_usage="$9"%"}' +doris_be cpu_usage=8.6% + +[root@r13 storage]# top -n1 | grep doris_be | awk '{print "doris_be cpu_usage="$9"%"}' +doris_be cpu_usage=7.3% + +``` + +3. 执行压测语句 +``` +[root@r10 ~]# mysqlslap --concurrency=10 --iterations=500 \ +> --create-schema=clickbench --host=127.0.0.1 --port=9030 --user=root \ +> --query="ckbench-29.sql" --verbose +``` + +4. 监控压测过程中 CPU 使用情况 +``` +[root@r11 ~]# top -n1 | grep doris_be | awk '{print "doris_be cpu_usage="$9"%"}' +doris_be cpu_usage=787.5% + +[root@r12 ~]# top -n1 | grep doris_be | awk '{print "doris_be cpu_usage="$9"%"}' +doris_be cpu_usage=768.8% + +[root@r13 storage]# top -n1 | grep doris_be | awk '{print "doris_be cpu_usage="$9"%"}' +doris_be cpu_usage=800.0% +``` + +由于没有创建资源组进行资源隔离,会默认使用 normal 资源组: +``` +select wlg.name, usage.memory_usage_bytes / 1024/ 1024 / 1024 as wg_mem_used_gb +from information_schema.workload_group_resource_usage usage, + information_schema.workload_groups wlg +where wlg.id = usage.workload_group_id; ++--------+-------------------+ +| name | cpu_usage_percent | ++--------+-------------------+ +| normal | 92.81 | ++--------+-------------------+ +``` + +### 创建资源组后 CPU 使用情况 +1. 监控空负载时 CPU 使用情况 +``` +[root@r11 ~]# top -n1 | grep doris_be | awk '{print "doris_be cpu_usage="$9"%"}' +doris_be cpu_usage=6.7% + +[root@r12 ~]# top -n1 | grep doris_be | awk '{print "doris_be cpu_usage="$9"%"}' +doris_be cpu_usage=6.2% + +[root@r13 storage]# top -n1 | grep doris_be | awk '{print "doris_be cpu_usage="$9"%"}' +doris_be cpu_usage=6.7% + +``` + +2. 创建 Workload 资源组进行资源管控 +由于 CPU 资源软限是相对值,需要调整每一个 CPU 软限的 cpu_share 值。下例中存在 normal 资源组与新创建的 g2 资源组。 +``` +create workload group g2 properties('cpu_share'='10'); + +admin set frontend config ("enable_cpu_hard_limit" = "false"); + +set property for 'root' 'default_workload_group' = 'g2'; + +alter workload group normal properties('cpu_share'='10'); +``` + +3. 运行压测语句 +``` +[root@r10 ~]# mysqlslap --concurrency=10 --iterations=500 \ +> --create-schema=clickbench --host=127.0.0.1 --port=9030 --user=root \ +> --query="ckbench-29.sql" --verbose +``` + +4. 监控 CPU 资源软限后 CPU 使用情况 +由于使用资源软限,其他资源组没有资源争用,租户借用其他资源组 CPU: +``` +[root@r11 ~]# top -n1 | grep doris_be | awk '{print "doris_be cpu_usage="$9"%"}' +doris_be cpu_usage=768.8% + +[root@r12 ~]# top -n1 | grep doris_be | awk '{print "doris_be cpu_usage="$9"%"}' +doris_be cpu_usage=775.0% + +[root@r13 storage]# top -n1 | grep doris_be | awk '{print "doris_be cpu_usage="$9"%"}' +doris_be cpu_usage=768.8% +``` + +监控 g2 资源组下的 CPU 使用情况: +``` +select wlg.name, usage.memory_usage_bytes / 1024/ 1024 / 1024 as wg_mem_used_gb +from information_schema.workload_group_resource_usage usage, + information_schema.workload_groups wlg +where wlg.id = usage.workload_group_id; ++--------+-------------------+ +| name | cpu_usage_percent | ++--------+-------------------+ +| g2 | 92.89 | +| normal | 0 | ++--------+-------------------+ + +``` + +#### 资源竞争时 CPU 回收情况 +1. 创建 test_wlg 租户,绑定 g3 资源组 +``` +## 创建新用户 test_wlg +create user test_wlg; + +## 为 test_wlg 赋权 +grant admin_priv on *.*.* to test_wlg; + +## 创建 g3 资源组 +create workload group g3 properties('cpu_share'='20'); + +## 为 test_wlg 租户绑定 g3 资源组 +set property for 'test_wlg' 'default_workload_group' = 'g3'; +``` + +2. 使用 root 租户进行压测 +``` +[root@r10 ~]# mysqlslap --concurrency=10 --iterations=50 \ +> --create-schema=clickbench --host=127.0.0.1 --port=9030 --user=root \ +> --query="ckbench-29.sql" --verbose +``` + +3. 监控 root 用户默认资源组 g2 的 CPU 使用情况 +``` +select wlg.name, usage.memory_usage_bytes / 1024/ 1024 / 1024 as wg_mem_used_gb +from information_schema.workload_group_resource_usage usage, + information_schema.workload_groups wlg +where wlg.id = usage.workload_group_id; ++--------+-------------------+ +| name | cpu_usage_percent | ++--------+-------------------+ +| g3 | 0 | +| g2 | 93.69 | +| normal | 0 | ++--------+-------------------+ + +``` + +4. 使用 test_wlg 租户同时压测 +``` +[root@r10 ~]# mysqlslap --concurrency=10 --iterations=50 \ +> --create-schema=clickbench --host=127.0.0.1 --port=9030 --user=test_wlg \ +> --query="ckbench-29.sql" --verbose +``` + +5. 监控 CPU 资源使用情况 +``` +select wlg.name, usage.memory_usage_bytes / 1024/ 1024 / 1024 as wg_mem_used_gb +from information_schema.workload_group_resource_usage usage, + information_schema.workload_groups wlg +where wlg.id = usage.workload_group_id; ++--------+-------------------+ +| name | wg_mem_used_gb | ++--------+-------------------+ +| g3 | 5.08288961648941 | +| g2 | 9.455664187669754 | +| normal | 0 | ++--------+-------------------+ + +``` + +## 管理本地 IO +### 实践演示方案 +在进行本地 IO 资源限制时,可以按照以下步骤进行对比: +1. 在没有创建资源组是,全表扫描,观察压测前后 IO 使用变化 +2. 创建资源组后,限制本地 IO,全表扫描,观察压测前后 IO 使用变化 + 在测试 IO 资源使用情况时,需要先关闭 BE 的 page cahce,同时要清空操作系统缓存。 + +### 实践步骤 +#### 未创建资源组时本地 IO 使用情况 +1. 确保只有 normal 资源组 +``` +select name from workload_groups; ++--------+ +| name | ++--------+ +| normal | ++--------+ +``` + +2. 关闭并清空缓存 +``` +## 清空所有 BE 节点操作系统缓存 +[root@r11 ~]# sync; echo 3 > /proc/sys/vm/drop_caches +[root@r12 ~]# sync; echo 3 > /proc/sys/vm/drop_caches +[root@r13 ~]# sync; echo 3 > /proc/sys/vm/drop_caches + +## 关闭集群 Page Cache +[root@r10 ~]# curl -X POST http://192.168.0.11:8040/api/update_config?disable_storage_page_cache=true\&persist=true +[root@r10 ~]# curl -X POST http://192.168.0.12:8040/api/update_config?disable_storage_page_cache=true\&persist=true +[root@r10 ~]# curl -X POST http://192.168.0.13:8040/api/update_config?disable_storage_page_cache=true\&persist=true +``` + +3. 监控空负载时资源使用情况 +``` +[root@r11 ~]# pidstat -d -p $(pgrep doris_be) 1 1 | grep Average | awk '{printf "doris_be MB_rd/s=%.2f MB_wr/s=%.2f\n", $4/1024, $5/1024}' +doris_be MB_rd/s=0.00 MB_wr/s=0.00 + +[root@r12 ~]# pidstat -d -p $(pgrep doris_be) 1 1 | grep Average | awk '{printf "doris_be MB_rd/s=%.2f MB_wr/s=%.2f\n", $4/1024, $5/1024}' +doris_be MB_rd/s=0.00 MB_wr/s=0.00 + +[root@r13 ~]# pidstat -d -p $(pgrep doris_be) 1 1 | grep Average | awk '{printf "doris_be MB_rd/s=%.2f MB_wr/s=%.2f\n", $4/1024, $5/1024}' +doris_be MB_rd/s=0.00 MB_wr/s=0.00 + +``` + +4. 压测全表扫描 +``` +set dry_run_query=true; +select * from clickbench.hits; + +``` + +5. 监控压测过程中本地 IO 使用情况 +``` +[root@r11 ~]# pidstat -d -p $(pgrep doris_be) 1 1 | grep Average | awk '{printf "doris_be MB_rd/s=%.2f MB_wr/s=%.2f\n", $4/1024, $5/1024}' +doris_be MB_rd/s=28.40 MB_wr/s=0.01 + +[root@r12 ~]# pidstat -d -p $(pgrep doris_be) 1 1 | grep Average | awk '{printf "doris_be MB_rd/s=%.2f MB_wr/s=%.2f\n", $4/1024, $5/1024}' +doris_be MB_rd/s=27.41 MB_wr/s=0.00 + +[root@r13 ~]# pidstat -d -p $(pgrep doris_be) 1 1 | grep Average | awk '{printf "doris_be MB_rd/s=%.2f MB_wr/s=%.2f\n", $4/1024, $5/1024}' +doris_be MB_rd/s=22.86 MB_wr/s=0.00 + +``` + +查看 normal 资源组 IO 使用情况: + +``` +select wlg.name, LOCAL_SCAN_BYTES_PER_SECOND / 1024 / 1024 as mb_per_sec +from information_schema.workload_group_resource_usage usage, + information_schema.workload_groups wlg +where wlg.id = usage.workload_group_id; ++--------------------+ +| mb_per_sec | ++--------------------+ +| 56.448036193847656 | ++--------------------+ + +``` + +不正确,多次出现只有某一个 be 有 io 扫描的问题 + +![io_test_1](/images/workload-management/io_test_1.png) +![io_test_2](/images/workload-management/io_test_2.png) +![io_test_3](/images/workload-management/io_test_3.png) +![io_test_4](/images/workload-management/io_test_4.png) + +以下是第二次重新执行,清空 cache 了 +![io_test_21](/images/workload-management/io_test_21.png) +![io_test_22](/images/workload-management/io_test_22.png) +![io_test_23](/images/workload-management/io_test_23.png) +![io_test_24](/images/workload-management/io_test_24.png) + +#### 创建资源组后本地 IO 使用情况 +1. 关闭并清空缓存 +``` +## 清空所有 BE 节点操作系统缓存 +[root@r11 ~]# sync; echo 3 > /proc/sys/vm/drop_caches +[root@r12 ~]# sync; echo 3 > /proc/sys/vm/drop_caches +[root@r13 ~]# sync; echo 3 > /proc/sys/vm/drop_caches + +## 关闭集群 Page Cache +[root@r10 ~]# curl -X POST http://192.168.0.11:8040/api/update_config?disable_storage_page_cache=true\&persist=true +[root@r10 ~]# curl -X POST http://192.168.0.12:8040/api/update_config?disable_storage_page_cache=true\&persist=true +[root@r10 ~]# curl -X POST http://192.168.0.13:8040/api/update_config?disable_storage_page_cache=true\&persist=true +``` + +2. 监控空负载时 IO 使用情况 +``` +[root@r11 ~]# pidstat -d -p $(pgrep doris_be) 1 1 | grep Average | awk '{printf "doris_be MB_rd/s=%.2f MB_wr/s=%.2f\n", $4/1024, $5/1024}' +doris_be MB_rd/s=0.00 MB_wr/s=0.00 + +[root@r12 ~]# pidstat -d -p $(pgrep doris_be) 1 1 | grep Average | awk '{printf "doris_be MB_rd/s=%.2f MB_wr/s=%.2f\n", $4/1024, $5/1024}' +doris_be MB_rd/s=0.00 MB_wr/s=0.00 + +[root@r13 ~]# pidstat -d -p $(pgrep doris_be) 1 1 | grep Average | awk '{printf "doris_be MB_rd/s=%.2f MB_wr/s=%.2f\n", $4/1024, $5/1024}' +doris_be MB_rd/s=0.00 MB_wr/s=0.00 + +``` + +3. 创建资源组对本地 IO 进行限制 +``` +create workload group g2 properties('read_bytes_per_second'='10485760'); + +set property for 'root' 'default_workload_group' = 'g2'; +``` + +4. 执行压测语句 +``` +set dry_run_query=true; +select * from clickbench.hits; +``` + +5. 监控空负载时 IO 使用情况 +``` +[root@r11 ~]# pidstat -d -p $(pgrep doris_be) 1 1 | grep Average | awk '{printf "doris_be MB_rd/s=%.2f MB_wr/s=%.2f\n", $4/1024, $5/1024}' +doris_be MB_rd/s=6.30 MB_wr/s=0.00 + +[root@r12 ~]# pidstat -d -p $(pgrep doris_be) 1 1 | grep Average | awk '{printf "doris_be MB_rd/s=%.2f MB_wr/s=%.2f\n", $4/1024, $5/1024}' +doris_be MB_rd/s=2.55 MB_wr/s=0.00 + +[root@r13 ~]# pidstat -d -p $(pgrep doris_be) 1 1 | grep Average | awk '{printf "doris_be MB_rd/s=%.2f MB_wr/s=%.2f\n", $4/1024, $5/1024}' +doris_be MB_rd/s=2.93 MB_wr/s=0.00 +``` + +检测资源组 IO 使用情况: +``` +select wlg.name, LOCAL_SCAN_BYTES_PER_SECOND / 1024 / 1024 as mb_per_sec +from information_schema.workload_group_resource_usage usage, + information_schema.workload_groups wlg +where wlg.id = usage.workload_group_id; ++--------+-------------------+ +| name | mb_per_sec | ++--------+-------------------+ +| g2 | 9.884469985961914 | +| normal | 0 | ++--------+-------------------+ +``` + +## 管理远程 IO +### 实践演示方案 +在进行远程 IO 管理时,可以按照以下步骤进行对比: +1. 在没有创建资源组是,全表扫描,观察压测前后 IO 使用变化 +2. 创建资源组后,限制远程地 IO,全表扫描,观察压测前后 IO 使用变化 + 以下例子中使用 S3 函数,在 Doris 内联邦查询对象存储中的 CSV 数据文件: + +``` +select * from s3( + "uri" = "https://wty-huadong1-bucket.oss-cn-hangzhou-internal.aliyuncs.com/doris/ckbench/hits_split0", + "s3.access_key"= "********", + "s3.secret_key" = "********", + "s3.endpoint" = "oss-cn-hangzhou-internal.aliyuncs.com", + "s3.region" = "cn-hangzhou", + "format" = "csv", + "use_path_style"="false" +); +``` + +### 未创建资源组时远程 IO 使用情况 +1. 确保只有 normal 资源组 +``` +select name from workload_groups; ++--------+ +| name | ++--------+ +| normal | ++--------+ +``` + +2. 监控空负载时远程 IO 使用情况 +``` +[root@r11 ~]# sar -n DEV 1 1 | grep -E "Average:\s+eth0" | awk '{print $2, "rxpck/s =", $3}' +eth0 rxpck/s = 3.00 + +[root@r12 ~]# sar -n DEV 1 1 | grep -E "Average:\s+eth0" | awk '{print $2, "rxpck/s =", $3}' +eth0 rxpck/s = 5.00 + +[root@r13 ~]# sar -n DEV 1 1 | grep -E "Average:\s+eth0" | awk '{print $2, "rxpck/s =", $3}' +eth0 rxpck/s = 2.00 + +``` + +3. 运行压测语句 +``` +set dry_run_query = true; + +select * from s3( + "uri" = "https://wty-huadong1-bucket.oss-cn-hangzhou-internal.aliyuncs.com/doris/ckbench/hits_split0", + "s3.access_key"= "********", + "s3.secret_key" = "********", + "s3.endpoint" = "oss-cn-hangzhou-internal.aliyuncs.com", + "s3.region" = "cn-hangzhou", + "format" = "csv", + "use_path_style"="false" +); +``` + +4. 监控压测时远程 IO 使用情况 +``` +[root@r11 ~]# sar -n DEV 1 1 | grep -E "Average:\s+eth0" | awk '{print $2, "rxpck/s =", $3}' +eth0 rxpck/s = 54220.00 + +[root@r12 ~]# sar -n DEV 1 1 | grep -E "Average:\s+eth0" | awk '{print $2, "rxpck/s =", $3}' +eth0 rxpck/s = 80349.00 + +[root@r13 ~]# sar -n DEV 1 1 | grep -E "Average:\s+eth0" | awk '{print $2, "rxpck/s =", $3}' +eth0 rxpck/s = 63368.00 +``` + +查看 normal 资源组使用情况: + +``` +select wlg.name, cast(usage.REMOTE_SCAN_BYTES_PER_SECOND/1024/1024 as int) as mb_per_sec +from information_schema.workload_group_resource_usage usage, + information_schema.workload_groups wlg +where wlg.id = usage.workload_group_id; ++--------+------------+ +| name | mb_per_sec | ++--------+------------+ +| normal | 92 | ++--------+------------+ +``` + +#### 创建资源组后远程 IO 使用情况 +1. 监控无负载时远程 IO 使用情况 +``` +[root@r11 ~]# sar -n DEV 1 1 | grep -E "Average:\s+eth0" | awk '{print $2, "rxpck/s =", $3}' +eth0 rxpck/s = 3.00 + +[root@r12 ~]# sar -n DEV 1 1 | grep -E "Average:\s+eth0" | awk '{print $2, "rxpck/s =", $3}' +eth0 rxpck/s = 5.00 + +[root@r13 ~]# sar -n DEV 1 1 | grep -E "Average:\s+eth0" | awk '{print $2, "rxpck/s =", $3}' +eth0 rxpck/s = 2.00 + +``` + +2. 创建资源组对远程 IO 进行限制 +``` +create workload group g2 properties('remote_read_bytes_per_second'='10485760'); + +set property for 'root' 'default_workload_group' = 'g2'; +``` + +3. 运行压测语句 + +4. 监控压测时远程 IO 使用资源 +``` +[root@r11 ~]# sar -n DEV 1 1 | grep -E "Average:\s+eth0" | awk '{print $2, "rxpck/s =", $3}' +eth0 rxpck/s = 19261.00 + +[root@r12 ~]# sar -n DEV 1 1 | grep -E "Average:\s+eth0" | awk '{print $2, "rxpck/s =", $3}' +eth0 rxpck/s = 16813.00 + +[root@r13 ~]# sar -n DEV 1 1 | grep -E "Average:\s+eth0" | awk '{print $2, "rxpck/s =", $3}' +eth0 rxpck/s = 18734.00 + +``` + +监控资源组使用情况: +``` +select wlg.name, cast(usage.REMOTE_SCAN_BYTES_PER_SECOND/1024/1024 as int) as mb_per_sec +from information_schema.workload_group_resource_usage usage, + information_schema.workload_groups wlg +where wlg.id = usage.workload_group_id; ++--------+------------+ +| name | mb_per_sec | ++--------+------------+ +| g2 | 31 | +| normal | 0 | ++--------+------------+ + +``` \ No newline at end of file diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/compute-group.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/compute-group.md new file mode 100644 index 0000000000000..437c3dcd7b627 --- /dev/null +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/compute-group.md @@ -0,0 +1,145 @@ +--- +{ +"title": "计算组操作", +"language": "zh-CN" +} +--- + + + +在存算分离架构下,可以将一个或多个计算节点 (BE) 组成一个计算组 (Compute Group)。本文档介绍如何使用计算组,其中涉及的操作包括: + +- 查看所有计算组 +- 计算组授权 +- 在用户级别绑定计算组 (`default_compute_group`) 以达到用户级别的隔离效果 + +*注意* +3.0.2 之前的版本中叫做计算集群(Compute Cluster)。 + +## 查看所有计算组 + +可通过 `SHOW COMPUTE GROUPS` 查看当前仓库拥有的所有计算组。 + +```sql +SHOW COMPUTE GROUPS; +``` + +## 添加计算组 + +使用[ADD BE ](../sql-manual/sql-statements/Cluster-Management-Statements/ALTER-SYSTEM-ADD-BACKEND.md)命令添加 BE 并为 BE 指定计算组,示例: + +```sql +ALTER SYSTEM ADD BACKEND 'host:9050' PROPERTIES ("tag.compute_group_name" = "new_group"); +``` + +上面命令会将`host:9050`这台节点添加到`new_group`这个计算组中,您也可以不指定计算组,默认会添加到`default_compute_group`组里,示例: + +```sql +ALTER SYSTEM ADD BACKEND 'host:9050'; +``` + +## 授予计算组访问权限 + +```sql +GRANT USAGE_PRIV ON COMPUTE GROUP {compute_group_name} TO {user}; +``` + +## 撤销计算组访问权限 + +```sql +REVOKE USAGE_PRIV ON COMPUTE GROUP {compute_group_name} FROM {user}; +``` + +## 设置默认计算组 + +为当前用户设置默认计算组: + +```sql +SET PROPERTY 'default_compute_group' = '{clusterName}'; +``` + +为其他用户设置默认计算组(此操作需要 Admin 权限): + +```sql +SET PROPERTY FOR {user} 'default_compute_group' = '{clusterName}'; +``` + +查看当前用户默认计算组,返回结果中`default_compute_group` 的值即为默认计算组: + +```sql +SHOW PROPERTY; +``` + +查看其他用户默认计算组,此操作需要当前用户具备相关权限,返回结果中`default_compute_group` 的值即为默认计算组: + +```sql +SHOW PROPERTY FOR {user}; +``` + +查看当前仓库下所有可用的计算组: + +```sql +SHOW COMPUTE GROUPS; +``` + +:::info 备注 + +- 若当前用户拥有 Admin 角色,例如:`CREATE USER jack IDENTIFIED BY '123456' DEFAULT ROLE "admin"`,则: + - 可以为自身以及其他用户设置默认计算组; + - 可以查看自身以及其他用户的 `PROPERTY`。 +- 若当前用户无 Admin 角色,例如:`CREATE USER jack1 IDENTIFIED BY '123456'`,则: + - 可以为自身设置默认计算组; + - 可以查看自身的 `PROPERTY`; + - 无法查看所有计算组,因该操作需要 `GRANT ADMIN` 权限。 +- 若当前用户未配置默认计算组,现有系统在执行数据读写操作时将会触发错误。为解决这一问题,用户可通过执行 `use @cluster` 命令来指定当前 Context 所使用的计算组,或者使用 `SET PROPERTY` 语句来设置默认计算组。 +- 若当前用户已配置默认计算组,但随后该集群被删除,则在执行数据读写操作时同样会触发错误。用户可通过执行 `use @cluster` 命令来重新指定当前 Context 所使用的计算组,或者利用 `SET PROPERTY` 语句来更新默认集群设置。 + +::: + +## 默认计算组的选择机制 + +当用户未明确设置默认计算组时,系统将自动为用户选择一个具有 Active BE 且用户具有使用权限的计算组。在特定会话中确定默认计算组后,默认计算组将在该会话期间保持不变,除非用户显式更改了默认设置。 + +在不同次的会话中,若发生以下情况,系统可能会自动更改用户的默认计算组: + +- 用户失去了在上次会话中所选择默认计算组的使用权限 +- 有计算组被添加或移除 +- 上次所选择的默认计算组不再具有 Active BE + +其中,情况一和情况二必定会导致系统自动选择的默认计算组更改,情况三可能会导致更改。 + +## 切换计算组 + +用户可在存算分离架构中指定使用的数据库和计算组。 + +**语法** + +```sql +USE { [catalog_name.]database_name[@compute_group_name] | @compute_group_name } +``` + +若数据库或计算组名称包含是保留关键字,需用反引号将相应的名称 ``` 包围。 + +## 计算组扩缩容 + +通过 `ALTER SYSTEM ADD BACKEND` 以及 `ALTER SYSTEM DECOMMISION BACKEND` 添加或者删除 BE 实现计算组的扩缩容。 + + +详细操作参考[存算分离相关操作](../../compute-storage-decoupled/overview.md) \ No newline at end of file diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/job-scheduler.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/job-scheduler.md new file mode 100644 index 0000000000000..747475fe40d69 --- /dev/null +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/job-scheduler.md @@ -0,0 +1,196 @@ +--- +{ +"title": "作业调度", +"language": "zh-CN" +} +--- + + +## 背景 +在数据管理愈加精细化的需求背景下,定时调度在其中扮演着重要的角色。它通常被应用于以下场景: +- 定期数据更新,如周期性数据导入和 ETL 操作,减少人工干预,提高数据处理的效率和准确性。 +- 结合 Catalog 实现外部数据源数据定期同步,确保多源数据高效、准确的整合到目标系统中,满足复杂的业务分析需求。 +- 定期清理过期/无效数据,释放存储空间,避免过多过期/无效数据对系统性能产生影响。 + +在 Apache Doris 之前版本中,通常需要依赖于外部调度系统,如通过业务代码定时调度或者引入第三方调度工具、分布式调度平台来满足上述需求。然而,因受限于外部系统自身能力,可能无法满足 Doris 对调度策略及资源管理灵活性的要求。此外,如果外部调度系统出现故障,这不仅会增加业务风险,还需投入额外的运维时间和人力来应对。 +## Job Scheduler +为解决上述问题,Apache Doris 在 2.1 版本中引入了 Job Scheduler 功能,实现了自主任务调度能力,调度的精准度可达到秒级。该功能的推出不仅保障了数据导入的完整性和一致性,更让用户能够灵活、便捷调整调度策略。同时,因减少了对外部系统的依赖,也降低了系统故障的风险和运维成本,为社区用户带来更加统一、可靠的使用体验。 + +Doris Job Scheduler 是一种基于预设计划运行的任务管理系统,能够在特定时间点或按照指定时间间隔触发预定义操作,实现任务的自动化执行。Job Scheduler 具备以下特点: +- 高效调度:Job Scheduler 可以在指定的时间间隔内安排任务和事件,确保数据处理的高效性。采用时间轮算法保证事件能够精准做到秒级触发。 +- 灵活调度:Job Scheduler 提供了多种调度选项,如按 分、小时、天或周的间隔进行调度,同时支持一次性调度以及循环(周期)事件调度,并且周期调度也可以指定开始时间、结束时间。 +- 事件池和高性能处理队列:Job Scheduler 采用 Disruptor 实现高性能的生产消费者模型,最大可能的避免任务执行过载。 +- 调度记录可追溯:Job Scheduler 会存储最新的 Task 执行记录(可配置),通过简单的命令即可查看任务执行记录,确保过程可追溯。 +- 高可用:依托于 Doris 自身的高可用机制,Job Schedule 可以很轻松的做到自恢复、高可用。 + +**相关文档:** [CREATE-JOB](../../sql-manual/sql-statements/Data-Definition-Statements/Create/CREATE-JOB.md) + +## 语法说明 +一条有效的 Job 语句需包含以下内容: +- 关键字 CREATE JOB 需加作业名称,它在数据库中标识唯一事件。 +- ON SCHEDULE 子句用于指定 Job 作业的类型、触发时间和频率。 + - AT timestamp用于一次性事件。它指定 JOB 仅在给定的日期和时间执行一次,AT current_timestamp 指定当前日期和时间。因 JOB 一旦创建则会立即运行,也可用于异步任务创建。 + - EVERY:用于周期性作业,可指定作业的执行频率,关键字后需指定时间间隔(周、天、小时、分钟)。 + - Interval:用于指定作业执行频率。1 DAY 表示每天执行一次, 1 HOUR表示每小时执行一次, 1 MINUTE 表示每分钟执行一次, 1 WEEK 表示每周执行一次。 + - 子句EVERY包含可选 STARTS子句。STARTS后面为timestamp值,该值用于定义开始重复的时间,CURRENT_TIMESTAMP 用于指定当前日期和时间。JOB 一旦创建则会立即运行。 + - 子句EVERY包含可选 ENDS子句。ENDS 关键字后面为timestamp 值,该值定义 JOB 事件停止运行的时间。 +- DO 子句用于指定 Job 作业触发时所需执行的操作,目前仅支持 Insert 语句。 +```sql +CREATE +JOB + job_name + ON SCHEDULE schedule + [COMMENT 'string'] + DO execute_sql; + +schedule: { + AT timestamp + | EVERY interval + [STARTS timestamp ] + [ENDS timestamp ] +} +interval: + quantity { WEEK |DAY | HOUR | MINUTE} +``` +下方为简单的示例: +CREATE JOB my_job ON SCHEDULE EVERY 1 MINUTE DO INSERT INTO db1.tbl1 SELECT * FROM db2.tbl2; +该语句表示创建一个名为 my_job 的作业,每分钟执行一次,执行的操作是将 db2.tbl2 中的数据导入到 db1.tbl1 中。 + +## 使用示例 +创建一次性的 Job:在 2025-01-01 00:00:00 时执行一次,将 db2.tbl2 中数据导入到 db1.tbl1 中。 +```sql +CREATE JOB my_job ON SCHEDULE AT '2025-01-01 00:00:00' DO INSERT INTO db1.tbl1 SELECT * FROM db2.tbl2; +``` +创建周期性的 Job,未指定结束时间:在 22025-01-01 00:00:00 时开始每天执行 1 次,将 db2.tbl2 中数据导入到 db1.tbl1 中。 +```sql +CREATE JOB my_job ON SCHEDULE EVERY 1 DAY STARTS '2025-01-01 00:00:00' DO INSERT INTO db1.tbl1 SELECT * FROM db2.tbl2 WHERE create_time >= days_add(now(),-1); +``` +创建周期性的 Job,指定结束时间:在 2025-01-01 00:00:00 时开始每天执行 1 次,将 db2.tbl2 中的数据导入到 db1.tbl1 中,在 2026-01-01 00:10:00 时结束。 +```sql +CREATE JOB my_job ON SCHEDULE EVERY 1 DAY STARTS '2025-01-01 00:00:00' ENDS '2026-01-01 00:10:00' DO INSERT INTO db1.tbl1 SELECT * FROM db2.tbl2 WHERE create_time >= days_add(now(),-1); +``` +借助 Job 实现异步执行:由于 Job 在 Doris 中是以同步任务的形式创建的,但其执行过程却是异步进行的,这一特性使得 Job 非常适合用于实现异步任务,例如常见的 insert into select 任务。 + +假设需要将db2.tbl2 中的数据导入到 db1.tbl1 中,这里只需要指定 JOB 为一次性任务,且开始时间设置为当前时间即可。 +```sql +CREATE JOB my_job ON SCHEDULE AT current_timestamp DO INSERT INTO db1.tbl1 SELECT * FROM db2.tbl2; +``` + +## 基于 Catalog 与 Job Scheduler 的数据自动同步 +以某电商场景为例,用户常常需要从 MySQL 中提取业务数据,并将这些数据同步到 Doris 中进行数据分析,从而支持精准的营销活动。而 Job Scheduler 可与数据湖能力 Multi Catalog 配合,高效完成跨数据源的定期数据同步。 + +```sql +CREATE TABLE IF NOT EXISTS user.activity ( + `user_id` INT NOT NULL, + `date` DATE NOT NULL, + `city` VARCHAR(20), + `age` SMALLINT, + `sex` TINYINT, + `last_visit_date` DATETIME DEFAULT '1970-01-01 00:00:00', + `cost` BIGINT DEFAULT '0', + `max_dwell_time` INT DEFAULT '0', + `min_dwell_time` INT DEFAULT '99999' +); +INSERT INTO user.activity VALUES + (10000, '2017-10-01', '北京', 20, 0, '2017-10-01 06:00:00', 20, 10, 10), + (10000, '2017-10-01', '北京', 20, 0, '2017-10-01 07:00:00', 15, 2, 2), + (10001, '2017-10-01', '北京', 30, 1, '2017-10-01 17:05:00', 2, 22, 22), + (10002, '2017-10-02', '上海', 20, 1, '2017-10-02 12:59:00', 200, 5, 5), + (10003, '2017-10-02', '广州', 32, 0, '2017-10-02 11:20:00', 30, 11, 11), + (10004, '2017-10-01', '深圳', 35, 0, '2017-10-01 10:00:00', 100, 3, 3), + (10004, '2017-10-03', '深圳', 35, 0, '2017-10-03 10:20:00', 11, 6, 6); +``` + +| user_id | date | city | age | sex | last_visit_date | cost | max_dwell_time | min_dwell_time | +| ------- | --------- | ---- | ---- | ---- | --------------- | ---- | -------------- | -------------- | +| 10000 | 2017/10/1 | 北京 | 20 | 0 | 2017/10/1 6:00 | 20 | 10 | 10 | +| 10000 | 2017/10/1 | 北京 | 20 | 0 | 2017/10/1 7:00 | 15 | 2 | 2 | +| 10001 | 2017/10/1 | 北京 | 30 | 1 | 2017/10/1 17:05 | 2 | 22 | 22 | +| 10002 | 2017/10/2 | 上海 | 20 | 1 | 2017/10/2 12:59 | 200 | 5 | 5 | +| 10003 | 2017/10/2 | 广州 | 32 | 0 | 2017/10/2 11:20 | 30 | 11 | 11 | +| 10004 | 2017/10/1 | 深圳 | 35 | 0 | 2017/10/1 10:00 | 100 | 3 | 3 | +| 10004 | 2017/10/3 | 深圳 | 35 | 0 | 2017/10/3 10:20 | 11 | 6 | 6 | + +以上表为例,用户希望查询符合总消费金额、最后一次访问时间、性别、所在城市这几个数值条件的用户,并将满足条件的用户信息导入到 Doris 中,以便后续的定向推送。 + +1. 首先,创建一张 Doris 表 +```sql + CREATE TABLE IF NOT EXISTS user_activity + ( + `user_id` LARGEINT NOT NULL COMMENT "用户id", + `date` DATE NOT NULL COMMENT "数据灌入日期时间", + `city` VARCHAR(20) COMMENT "用户所在城市", + `age` SMALLINT COMMENT "用户年龄", + `sex` TINYINT COMMENT "用户性别", + `last_visit_date` DATETIME REPLACE DEFAULT "1970-01-01 00:00:00" COMMENT "用户最后一次访问时间", + `cost` BIGINT SUM DEFAULT "0" COMMENT "用户总消费", + `max_dwell_time` INT MAX DEFAULT "0" COMMENT "用户最大停留时间", + `min_dwell_time` INT MIN DEFAULT "99999" COMMENT "用户最小停留时间" + ) + AGGREGATE KEY(`user_id`, `date`, `city`, `age`, `sex`) + DISTRIBUTED BY HASH(`user_id`) BUCKETS 1 + PROPERTIES ( + "replication_allocation" = "tag.location.default: 1" + ); +``` +2. 其次,创建对应 MySQL 库的 Catalog +```sql +CREATE CATALOG activity PROPERTIES ( + "type"="jdbc", + "user"="root", + "password"="123456", + "jdbc_url" = "jdbc:mysql://127.0.0.1:3306/user?useSSL=false", + "driver_url" = "mysql-connector-java-5.1.49.jar", + "driver_class" = "com.mysql.jdbc.Driver" + ); +``` +3. 最后,将 MySQL 数据导入到 Doris 中。采用 Catalog + Insert Into 的方式来导入全量数据,由于全量导入操作可能会引发系统服务波动,通常选择在业务闲暇时进行操作。 + +- 一次性调度:如下方代码所示,使用一次性任务来定时触发全量导入任务,触发时间为凌晨 3:00。 +```sql +CREATE JOB one_time_load_job + ON SCHEDULE + AT '2024-8-10 03:00:00' + DO + INSERT INTO user_activity SELECT * FROM activity.user.activity +``` +- 周期调度:用户也可以创建一个周期性的调度任务,定期更新最新的数据。 +```sql +CREATE JOB schedule_load + ON SCHEDULE EVERY 1 DAY + DO + INSERT INTO user_activity SELECT * FROM activity.user.activity where last_visit_date >= days_add(now(),-1) +``` +## 设计与实现 +高效的调度通常伴随着大量的资源消耗,高精度的调度更是如此。传统的实现方式是直接使用 Java 内置的定时调度能力——定时调度线程周期访问,或采用一些定时调度的工具类库,但其在精度以及内存占用上存在较大的问题。为更好保障性能的前提下降低资源的占用,我们选择 TimingWheel 算法与 Disruptor 结合,实现秒级别的任务调度。 + +具体来说,利用 Netty 的 HashedWheelTimer 实现时间轮算法,Job Manager 会周期性(默认十分钟)地将未来事件放入时间轮中调度。为了保证任务高效触发并避免资源过度占用,采用 Disruptor 构建单生产者多消费者模型。时间轮仅负责触发,并不直接执行任务。对于到期需触发的任务时,会将其放入 Diapatch 线程,由其负责将任务分发至相应的执行线程池,对于需立即执行的任务,则直接将其投递至相应的任务执行线程池中。 + +对于单次执行事件,将在调度完成后删除事件定义;对于周期性事件,时间轮中的系统事件将定期拉取下一个周期的执行任务。这样可以避免大量任务集中在一个 Bucket 中,减少无意义的遍历、提高处理效率。 + +而对于事务型任务,Job Scheduler 能够通过与事务的强关联以及事务回调机制,确保事务型任务的执行结果与预期一致,从而保证数据的完整性和一致性。 + + +## 未来规划 +Doris Job Scheduler 是一款强大且灵活的任务调度工具,是数据处理中必不可少的功能之一。除了在数据湖分析、内部 ETL 等常见场景的应用外,Job Scheduler 对于异步物化视图的实现也起到关键的作用。异步物化视图是一个预先计算并存储的结果集,其数据更新的频率与源表的变动紧密相关。当源表数据更新频繁时,为确保物化视图中数据保持最新状态,就需要对物化视图定期刷新。因此在 2.1 版本中,我们巧妙地利用 JOB 定时调度功能,保障了物化视图与源表数据的一致性,大幅降低了人工干预的成本。 +未来,Doris Job Scheduler 还会支持以下特性: +- 支持通过 UI 界面查看不同时段执行的任务分布情况。 +- 支持 JOB 流程编排,即 DAG JOB。这意味着我们可以在内部实现数仓任务编排,与 Catalog 功能叠加将会更高效地完成数据处理和分析工作。 +- 支持对导入任务、UPDATE、DELETE 操作进行定时调度。 diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/kill-query.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/kill-query.md new file mode 100644 index 0000000000000..08b06abbb221f --- /dev/null +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/kill-query.md @@ -0,0 +1,85 @@ +--- +{ +"title": "Kill Query", +"language": "zh-CN" +} +--- + + + + +## Kill 连接 + +每个 Doris 的连接都在一个单独的线程中运行。您可以使用 KILL processlist_id 语句终止线程。 + +线程进程列表标识符可以从 SHOW PROCESSLIST 输出的 Id 列查询 或者 SELECT CONNECTION_ID() 来查询当前 Connection ID。 + +语法: + +```SQL +KILL [CONNECTION] processlist_id +``` + +## Kill 查询 + +除此之外,您还可以使用 processlist_id 或者 query_id 终止正在执行的查询命令 + +语法: + +```SQL +KILL QUERY processlist_id | query_id +``` + +## 举例 + +**1. 查看当前连接的 Connection ID。** + +```sql +mysql select connection_id(); ++-----------------+ +| connection_id() | ++-----------------+ +| 48 | ++-----------------+ +1 row in set (0.00 sec) +``` + +**2. 查看所有连接的 Connection ID。** + +```sql +mysql SHOW PROCESSLIST; ++------------------+------+------+--------------------+---------------------+----------+---------+---------+------+-------+-----------------------------------+---------------------------------------------------------------------------------------+ +| CurrentConnected | Id | User | Host | LoginTime | Catalog | Db | Command | Time | State | QueryId | Info | ++------------------+------+------+--------------------+---------------------+----------+---------+---------+------+-------+-----------------------------------+---------------------------------------------------------------------------------------+ +| Yes | 48 | root | 10.16.xx.xx:44834 | 2023-12-29 16:49:47 | internal | test | Query | 0 | OK | e6e4ce9567b04859-8eeab8d6b5513e38 | SHOW PROCESSLIST | +| | 50 | root | 192.168.xx.xx:52837 | 2023-12-29 16:51:34 | internal | | Sleep | 1837 | EOF | deaf13c52b3b4a3b-b25e8254b50ff8cb | SELECT @@session.transaction_isolation | +| | 51 | root | 192.168.xx.xx:52843 | 2023-12-29 16:51:35 | internal | | Sleep | 907 | EOF | 437f219addc0404f-9befe7f6acf9a700 | /* ApplicationName=DBeaver Ultimate 23.1.3 - Metadata */ SHOW STATUS | +| | 55 | root | 192.168.xx.xx:55533 | 2023-12-29 17:09:32 | internal | test | Sleep | 271 | EOF | f02603dc163a4da3-beebbb5d1ced760c | /* ApplicationName=DBeaver Ultimate 23.1.3 - SQLEditor */ SELECT DATABASE() | +| | 47 | root | 10.16.xx.xx:35678 | 2023-12-29 16:21:56 | internal | test | Sleep | 3528 | EOF | f4944c543dc34a99-b0d0f3986c8f1c98 | select * from test | ++------------------+------+------+--------------------+---------------------+----------+---------+---------+------+-------+-----------------------------------+---------------------------------------------------------------------------------------+ +5 rows in set (0.00 sec) +``` + +**3. 终止正在运行的查询,正在运行的查询会显示被取消。** + +```sql +mysql kill query 55; +Query OK, 0 rows affected (0.01 sec) +``` \ No newline at end of file diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/multi-tenant.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/resource-group.md similarity index 95% rename from i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/multi-tenant.md rename to i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/resource-group.md index 9536c8fbc4823..662c617feae65 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/resource-admin/multi-tenant.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/resource-group.md @@ -1,7 +1,7 @@ --- { - "title": "Resource Group", - "language": "zh-CN" +"title": "Resource Group", +"language": "zh-CN" } --- @@ -114,7 +114,7 @@ FE 不参与用户数据的处理计算等工作,因此是一个资源消耗 │ │ └────────────────────────────────────────────────────┘ ``` - + 为了方便设置 table 的数据分布策略,可以在 database 层面设置统一的数据分布策略,但是 table 设置的优先级高于 database ```sql @@ -150,12 +150,12 @@ FE 不参与用户数据的处理计算等工作,因此是一个资源消耗 4. 导入作业的资源组分配 导入作业(包括 insert、broker load、routine load、stream load 等)的资源使用可以分为两部分: - 1. 计算资源:负责读取数据源、数据转换和分发。 - 2. 写入资源:负责数据编码、压缩并写入磁盘。 + 1. 计算资源:负责读取数据源、数据转换和分发。 + 2. 写入资源:负责数据编码、压缩并写入磁盘。 其中写入资源必须是数据副本所在的节点,而计算资源理论上可以选择任意节点完成。所以对于导入作业的资源组的分配分成两个步骤: - 1. 使用用户级别的 resource tag 来限定计算资源所能使用的资源组。 - 2. 使用副本的 resource tag 来限定写入资源所能使用的资源组。 + 1. 使用用户级别的 resource tag 来限定计算资源所能使用的资源组。 + 2. 使用副本的 resource tag 来限定写入资源所能使用的资源组。 所以如果希望导入操作所使用的全部资源都限定在数据所在的资源组的话,只需将用户级别的 resource tag 设置为和副本的 resource tag 相同即可。 @@ -248,18 +248,18 @@ FE 不参与用户数据的处理计算等工作,因此是一个资源消耗 ### table 数量很多时如何方便的设置副本分布策略 - 比如有一个 db1,db1 下有四个 table,table1 需要的副本分布策略为 `group_a:1,group_b:2`,table2,table3, table4 需要的副本分布策略为 `group_c:1,group_b:2` +比如有一个 db1,db1 下有四个 table,table1 需要的副本分布策略为 `group_a:1,group_b:2`,table2,table3, table4 需要的副本分布策略为 `group_c:1,group_b:2` - 那么可以使用如下语句创建 db1: +那么可以使用如下语句创建 db1: ```sql CREATE DATABASE db1 PROPERTIES ( "replication_allocation" = "tag.location.group_c:1, tag.location.group_b:2" ) ``` - - 使用如下语句创建 table1: - + +使用如下语句创建 table1: + ```sql CREATE TABLE table1 (k1 int, k2 int) @@ -269,6 +269,6 @@ FE 不参与用户数据的处理计算等工作,因此是一个资源消耗 ) ``` - table2,table3,table4 的建表语句无需再指定`replication_allocation`。 - - 注意事项:更改 database 的副本分布策略不会对已有的 table 产生影响。 +table2,table3,table4 的建表语句无需再指定`replication_allocation`。 + +注意事项:更改 database 的副本分布策略不会对已有的 table 产生影响。 \ No newline at end of file diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/spill-disk.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/spill-disk.md new file mode 100644 index 0000000000000..52769eb23f0d1 --- /dev/null +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/spill-disk.md @@ -0,0 +1,322 @@ +--- +{ +"title": "工作负载管理概述", +"language": "zh-CN" +} +--- + + + +## 概述 +Doris 的计算层是一个MPP的架构,所有的计算任务都是在BE的内存中完成的,各个BE之间也是通过内存来完成数据交换,所以内存管理对查询的稳定性有至关重要的影响,从线上查询统计看,有一大部分的查询报错也是跟内存相关。当前越来越多的用户将ETL 数据加工,多表物化视图处理,复杂的AdHoc查询等任务迁移到Doris 上运行,所以,需要将中间操作结果卸载到磁盘上,使那些所需内存量超出每个查询或每个节点限制的查询能够得以执行。具体来说,当处理大型数据集或执行复杂查询时,内存消耗可能会迅速增加,超出单个节点或整个查询处理过程中可用的内存限制。Doris通过将其中的中间结果(如聚合的中间状态、排序的临时数据等)写入磁盘,而不是完全依赖内存来存储这些数据,从而缓解了内存压力。这样做有几个好处: +- 扩展性:允许Doris处理比单个节点内存限制大得多的数据集。 +- 稳定性:减少因内存不足导致的查询失败或系统崩溃的风险。 +- 灵活性:使得用户能够在不增加硬件资源的情况下,执行更复杂的查询。 + +为了避免申请内存时触发OOM,Doris 引入了reserve memory机制,这个机制的工作流程如下: +- Doris在执行过程中,会预估每次处理一个Block 需要的内存大小,然后到一个统一的内存管理器中去申请; +- 全局的内存分配器会判断当前内存申请,是否超过了Query的内存限制或者超过了整个进程的内存限制,如果超过了,那么就返回失败; +- Doris 在收到失败消息时,会将当前Query 挂起,然后选择最大的算子进行落盘,等到落盘结束后,Query再继续执行。 + +目前支持落盘的算子有: +- Hash Join算子 +- 聚合算子 +- 排序算子 +- CTE + +当查询触发落盘时,由于会有额外的硬盘读写操作,查询时间可能会显著增长,建议调大FE Session变量query_timeout。同时落盘会有比较大的磁盘IO,建议单独配置一个磁盘目录或者使用SSD磁盘降低查询落盘对正常的导入或者查询的影响。目前查询落盘功能默认关闭。 + +## 内存管理机制 +Doris 的内存管理分为三个级别: 进程级别、WorkloadGroup 级别、Query 级别。 +![spill_disk_memory](/images/workload-management/spill_disk_memory.png) + +### BE 进程内存配置 +整个BE 进程的内存由be.conf中的参数mem_limit 控制,一旦Doris 使用的内存超过这个阈值,Doris 就会把当前正在申请内存的Query 取消,同时后台也会有一个定时任务,异步的Kill 一部分 Query来释放内存 或者 释放一些Cache。所以Doris 内部的各种管理操作(比如spill disk , flush memtable等)需要在快接近这个阈值的时候,就需要运行,尽可能的避免内存达到这个阈值,一旦到达这个阈值,为了避免整个进程OOM,Doris 会采取一些非常暴力的自我保护措施。 +当Doris的BE跟其他的进程混部(比如Doris FE 、Kafka、HDFS)的时候,会导致Doris BE 实际可用的内存远小于用户设置的mem_limit 导致内部的释放内存机制失效,然后导致Doris 进程被操作系统的OOM Killer 杀死。 +当Doris 进程部署在K8S里或者用Cgroup 管理的时候,Doris 会自动感知容器的内存配置。 + +### Workload group 内存配置 +- memory_limit,默认是30%。表示当前workload group 分配的内存占整个进程内存的百分比。 +- enable_memory_overcommit,默认是true。表示当前workload group的内存限制,是硬限还是软限。当这个值为 true时,表示这个workload group 内所有的任务使用的内存的大小可以超过memory_limit 的限制。但是当整个进程的内存不足时,为了保证能够快速的回收内存,BE 会优先从那些超过自身限制的workload group 中挑选Query 去cancel,此时并不会等待Spill Disk。当用户不知道如何给多个workload group 设置多少内存时,这种方式是一个比较易用的配置策略。 +- write_buffer_ratio,默认是20%。表示当前workload group 内write buffer的大小。Doris 为了加快导入速度,数据首先会在内存里攒批(也就是构建Memtable),然后到一定大小的时候,再整体排序,然后写入硬盘。但是如果内存里积攒太多的Memtable 又会影响正常Query 可用的内存,导致Query 被Cancel。所以Doris 在每个workload group 内都单独划分了一个write buffer。对于写入比较大的workload group,可以设置比较大的write buffer,可以有效的提升写入的吞吐;对于查询比较多的workload group 可以调小这个值。 +- low watermark: 默认是75%。 +- high watermark:默认是90%. + +## Query 内存管理 +### 静态内存分配 +Query 运行的内存受以下2个参数控制: +- exec_mem_limit,表示一个query 最大可以使用的内存,默认值2G; +- enable_mem_overcommit,默认是true。表示一个query 使用的内存是否可以超过exec_mem_limit的限制,默认值是true,表示是可以超过这个限制的,此时当进程内存不足的时候,会去杀死那些超过内存限制的query;false 表示query 使用的内存不能超过这个限制,当超过的时候,会根据用户的设置选择落盘或者kill。 + 这两个参数是query 运行之前用户就需要在session variable 里设置好,运行期间不能够动态修改。 + +### 基于Slot的内存分配 +静态内存分配方式,在使用过程中我们发现,很多时候用户不知道一个query 应该分配多少内存,所以经常把exec_mem_limit 设置为整个BE 进程内存的一半,也就是整个BE内所有的query 使用的内存都不允许超过整个进程内存的一半,这个功能在这种场景下实际变成了一个类似熔断的功能。当我们要根据内存的大小做一些更精细的策略控制,比如spill disk时,由于这个值太大了,所以不能依赖它来做一些控制。 +所以我们基于workload group 实现了一个新的基于slot的内存限制方式,这个策略的原理如下: +- 每个workload group 用户都配置了2个参数,memory_limit和max_concurrency,那么就认为整个be 的内存被划分为 max_concurrency 个slot,每个slot 占用的内存是memory_limit / max_concurrency。 +- 默认情况下,每个query 运行占用1个slot,如果用户想让一个query 使用更多的内存,那么就需要修改query_slot_count 的值。 +- 由于workload group 的slot的总数是固定的,假如用户调大query_slot_count,相当于每个query 占用了更多的slot,那么整个workload group 可同时运行的query的数量就动态减少了,新来的query 就自动排队。 + +Workload group的slot_memory_policy,这个参数可以有3个可选的值: +- disabled,默认值,表示不启用,使用静态内存分配方式; +- fixed,每个query 可以使用的的内存 = workload group的mem_limit * query_slot_count/ max_concurrency. +- dynamic,每个query 可以使用的的内存 = workload group的mem_limit * query_slot_count/ sum(running query slots),它主要是克服了fixed 模式下,会存在有一些slot 没有使用的情况。 + fixed或者dynamic 都是设置的query的硬限,一旦超过,就会落盘或者kill;而且会覆盖用户设置的静态内存分配的参数。 所以当要设置slot_memory_policy时,一定要设置好workload group的max_concurrency,否则会出现内存不足的问题。 + +## 落盘 +### 开启查询中间结果落盘 +#### BE配置项 +``` +spill_storage_root_path=/mnt/disk1/spilltest/doris/be/storage;/mnt/disk2/doris-spill;/mnt/disk3/doris-spill +spill_storage_limit=100% +``` +- spill_storage_root_path:查询中间结果落盘文件存储路径,默认和storage_root_path一样。 +- spill_storage_limit: 落盘文件占用磁盘空间限制。可以配置具体的空间大小(比如100G, 1T)或者百分比,默认是20%。如果spill_storage_root_path配置单独的磁盘,可以设置为100%。这个参数主要是防止落盘占用太多的磁盘空间,导致无法进行正常的数据存储。 + 修改配置项之后,需要重启BE才能生效。 + +#### FE Session Variable +``` +set enable_spill=true; +set exec_mem_limit = 10g +set enable_mem_overcommit = false +``` +- enable_spill 表示一个query 是否开启落盘; +- exec_mem_limit 表示一个query 使用的最大的内存大小; +- enable_mem_overcommit query 是否可以使用超过exec_mem_limit大小的内存限制 + +#### Workload Group +默认workload group 的memory_limit默认是30%,可按实际的workload group的数量合理修改。如果只有一个workload group,可以调整为90%。 +``` +alter workload group normal properties ( 'memory_limit'='90%' ); +``` + +### 监测落盘 +#### 审计日志 +FE audit log中增加了SpillWriteBytesToLocalStorage和SpillReadBytesFromLocalStorage字段,分别表示落盘时写盘和读盘数据总量。 +``` +SpillWriteBytesToLocalStorage=503412182|SpillReadBytesFromLocalStorage=503412182 +``` + +#### Profile +如果查询过程中触发了落盘,在Query Profile中增加了Spill 前缀的一些Counter进行标记和落盘相关counter。以HashJoin时Build HashTable为例,可以看到下面的Counter: +``` +SpillWriteBytesToLocalStorage=503412182|SpillReadBytesFromLocalStorage=503412182 +``` + +#### Profile +如果查询过程中触发了落盘,在Query Profile中增加了Spill 前缀的一些Counter进行标记和落盘相关counter。以HashJoin时Build HashTable为例,可以看到下面的Counter: + +``` +PARTITIONED_HASH_JOIN_SINK_OPERATOR (id=4 , nereids_id=179):(ExecTime: 6sec351ms) + - Spilled: true + - CloseTime: 528ns + - ExecTime: 6sec351ms + - InitTime: 5.751us + - InputRows: 6.001215M (6001215) + - MemoryUsage: 0.00 + - MemoryUsagePeak: 554.42 MB + - MemoryUsageReserved: 1024.00 KB + - OpenTime: 2.267ms + - PendingFinishDependency: 0ns + - SpillBuildTime: 2sec437ms + - SpillInMemRow: 0 + - SpillMaxRowsOfPartition: 68.569K (68569) + - SpillMinRowsOfPartition: 67.455K (67455) + - SpillPartitionShuffleTime: 836.302ms + - SpillPartitionTime: 131.839ms + - SpillTotalTime: 5sec563ms + - SpillWriteBlockBytes: 714.13 MB + - SpillWriteBlockCount: 1.344K (1344) + - SpillWriteFileBytes: 244.40 MB + - SpillWriteFileTime: 350.754ms + - SpillWriteFileTotalCount: 32 + - SpillWriteRows: 6.001215M (6001215) + - SpillWriteSerializeBlockTime: 4sec378ms + - SpillWriteTaskCount: 417 + - SpillWriteTaskWaitInQueueCount: 0 + - SpillWriteTaskWaitInQueueTime: 8.731ms + - SpillWriteTime: 5sec549ms +``` + +#### 系统表 +##### backend_active_tasks +增加了SPILL_WRITE_BYTES_TO_LOCAL_STORAGE和SPILL_READ_BYTES_FROM_LOCAL_STORAGE字段,分别表示一个查询目前落盘中间结果写盘数据和读盘数据总量。 + +``` +mysql [information_schema]>select * from backend_active_tasks; ++-------+------------+-------------------+-----------------------------------+--------------+------------------+-----------+------------+----------------------+---------------------------+--------------------+-------------------+------------+------------------------------------+-------------------------------------+ +| BE_ID | FE_HOST | WORKLOAD_GROUP_ID | QUERY_ID | TASK_TIME_MS | TASK_CPU_TIME_MS | SCAN_ROWS | SCAN_BYTES | BE_PEAK_MEMORY_BYTES | CURRENT_USED_MEMORY_BYTES | SHUFFLE_SEND_BYTES | SHUFFLE_SEND_ROWS | QUERY_TYPE | SPILL_WRITE_BYTES_TO_LOCAL_STORAGE | SPILL_READ_BYTES_FROM_LOCAL_STORAGE | ++-------+------------+-------------------+-----------------------------------+--------------+------------------+-----------+------------+----------------------+---------------------------+--------------------+-------------------+------------+------------------------------------+-------------------------------------+ +| 10009 | 10.16.10.8 | 1 | 6f08c74afbd44fff-9af951270933842d | 13612 | 11025 | 12002430 | 1960955904 | 733243057 | 70113260 | 0 | 0 | SELECT | 508110119 | 26383070 | +| 10009 | 10.16.10.8 | 1 | 871d643b87bf447b-865eb799403bec96 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | SELECT | 0 | 0 | ++-------+------------+-------------------+-----------------------------------+--------------+------------------+-----------+------------+----------------------+---------------------------+--------------------+-------------------+------------+------------------------------------+-------------------------------------+ +2 rows in set (0.00 sec) +``` + +##### workload_group_resource_usage +增加了WRITE_BUFFER_USAGE_BYTES字段,表示workload group中的导入任务Memtable内存占用。 +``` +mysql [information_schema]>select * from workload_group_resource_usage; ++-------+-------------------+--------------------+-------------------+-----------------------------+------------------------------+--------------------------+ +| BE_ID | WORKLOAD_GROUP_ID | MEMORY_USAGE_BYTES | CPU_USAGE_PERCENT | LOCAL_SCAN_BYTES_PER_SECOND | REMOTE_SCAN_BYTES_PER_SECOND | WRITE_BUFFER_USAGE_BYTES | ++-------+-------------------+--------------------+-------------------+-----------------------------+------------------------------+--------------------------+ +| 10009 | 1 | 102314948 | 0.69 | 0 | 0 | 23404836 | ++-------+-------------------+--------------------+-------------------+-----------------------------+------------------------------+--------------------------+ +1 row in set (0.01 sec) +``` + +## 测试 +### 测试环境 +#### 机器配置 +测试使用阿里云服务器,具体配置如下。 + +1FE: +``` +16核(vCPU) 32 GiB 200 Mbps ecs.c6.4xlarge +``` + +3BE: +``` +16核(vCPU) 64 GiB 0 Mbps ecs.g6.4xlarge +``` + +#### 测试数据 +测试数据使用TPC-DS 10TB作为数据输入,使用阿里云DLF数据源,使用Catalog的方式挂载到Doris 内,SQL 语句如下: +``` +CREATE CATALOG dlf PROPERTIES ( +"type"="hms", +"hive.metastore.type" = "dlf", +"dlf.proxy.mode" = "DLF_ONLY", +"dlf.endpoint" = "dlf-vpc.cn-beijing.aliyuncs.com", +"dlf.region" = "cn-beijing", +"dlf.uid" = "217316283625971977", +"dlf.catalog.id" = "emr_dev", +"dlf.access_key" = "按情况填写", +"dlf.secret_key" = "按情况填写" +); +``` + +参考官网链接: https://doris.apache.org/zh-CN/docs/dev/benchmark/tpcds + +### 测试结果 +数据的规模是10TB。内存和数据规模的比例是1:52,整体运行时间32000s,能够跑出所有的99条query。未来我们将对更多的算子提供落盘能力(如window function, Intersect等),同时继续优化落盘情况下的性能,降低对磁盘的消耗,提升查询的稳定性。 + +| query |Time(ms)| +|---------|---------| +| query1 |25590| +| query2 |126445| +| query3 |103859| +| query4 |1174702| +| query5 |266281| +| query6 |62950| +| query7 |212745| +| query8 |67000| +| query9 |602291| +| query10 |70904| +| query11 |544436| +| query12 |25759| +| query13 |229144| +| query14 |1120895| +| query15 |29409| +| query16 |117287| +| query17 |260122| +| query18 |97453| +| query19 |127384| +| query20 |32749| +| query21 |4471| +| query22 |10162| +| query23 |1772561| +| query24 |535506| +| query25 |272458| +| query26 |83342| +| query27 |175264| +| query28 |887007| +| query29 |427229| +| query30 |13661| +| query31 |108778| +| query32 |37303| +| query33 |181351| +| query34 |84159| +| query35 |81701| +| query36 |152990| +| query37 |36815| +| query38 |172531| +| query39 |20155| +| query40 |75749| +| query41 |527| +| query42 |95910| +| query43 |66821| +| query44 |209947| +| query45 |26946| +| query46 |131490| +| query47 |158011| +| query48 |149482| +| query49 |303515| +| query50 |298089| +| query51 |156487| +| query52 |97440| +| query53 |98258| +| query54 |202583| +| query55 |93268| +| query56 |185255| +| query57 |80308| +| query58 |252746| +| query59 |171545| +| query60 |202915| +| query61 |272184| +| query62 |38749| +| query63 |94327| +| query64 |247074| +| query65 |270705| +| query66 |101465| +| query67 |3744186| +| query68 |151543| +| query69 |15559| +| query70 |132505| +| query71 |180079| +| query72 |3085373| +| query73 |82623| +| query74 |330087| +| query75 |830993| +| query76 |188805| +| query77 |239730| +| query78 |1895765| +| query79 |144829| +| query80 |463652| +| query81 |15319| +| query82 |76961| +| query83 |32437| +| query84 |22849| +| query85 |58186| +| query86 |33933| +| query87 |185421| +| query88 |434867| +| query89 |108265| +| query90 |31131| +| query91 |18864| +| query92 |24510| +| query93 |281904| +| query94 |67761| +| query95 |3738968| +| query96 |47245| +| query97 |536702| +| query98 |97800| +| query99 |62210| +| sum |31797707| + diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/sql-blocking.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/sql-blocking.md new file mode 100644 index 0000000000000..5ca6a11e1384a --- /dev/null +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/sql-blocking.md @@ -0,0 +1,308 @@ +--- +{ +"title": "查询阻断", +"language": "zh-CN" +} +--- + + + +查询熔断是一种保护机制,用于防止长时间运行或消耗过多资源的查询对系统产生负面影响。当查询超过预设的资源或时间限制时,熔断机制会自动终止该查询,以避免对系统性能、资源使用以及其他查询造成不利影响。这种机制确保了集群在多用户环境下的稳定性,防止单个查询导致系统资源耗尽、响应变慢或发生死锁,从而提高整体的可用性和效率。 +在 Doris 内,有两种熔断策略: +- 规划时熔断,即SQL Block Rule,用于阻止符合特定模式的语句执行。阻止规则对任意的语句生效,包括DDL和DML。通常,阻止规则由数据库管理员(DBA)进行配置,用以提升集群的稳定性。比如, + - 阻止一个查询扫描过多行的数据 + - 阻止一个查询扫描过多的分区 + - 阻止一个修改全局变量的语句,以防止集群配置被意外的修改。 + - 阻止一个通常会占用非常多资源的查询模式 +- 运行时熔断,即Workload Policy,它是在运行时,实时监测查询的执行时间,扫描的数据量,消耗的内存,实现基于规则的查询熔断。 + +## SQL Block Rule +按照阻止模式,可以分为 +- 扫描行数阻止规则 +- 扫描分区数阻止规则 +- 扫描分桶数阻止规则 +- 查询语句正则匹配阻止规则 +- 查询语句哈希值匹配阻止规则 + 阻止规则按照阻止范围,可以分为 +- 全局级别阻止规则 +- 用户级别阻止规则 + +### 使用方法 + +#### 全局级别阻止规则 +``` +CREATE SQL_BLOCK_RULE rule_001 +PROPERTIES ( + "sql"="select \\* from t", + "global" = "true", + "enable" = "true" +) +``` + +这样,我们就创建了一个全局级别的阻止规则。规则名为rule_001。配置了查询语句正则匹配规则,用于阻止所有可以被正则select \\* from t 所匹配的查询语句。 +由于是全局级别的阻止规则,所以任意用户执行可以被上述正则匹配的语句都会被阻止。例如: + +``` +MySQL root@127.0.0.1:test> select * from t; +(1105, 'errCode = 2, detailMessage = errCode = 2, detailMessage = sql match regex sql block rule: rule_001') +``` + +#### 用户级别阻止规则 +``` +CREATE SQL_BLOCK_RULE rule_001 +PROPERTIES ( + "sql"="select * from t", + "global" = "false", + "enable" = "true" +) +``` +不同于全局级别的阻止规则。用户级别的阻止规则只对指定用户生效。当我们创建阻止规则时,设置属性"global"为"false"。那么这个阻止规则,将被视为用户级别的阻止规则。 +为了使得用户级别的阻止规则生效。还需要为需要使用此规则的用户设置相应的属性。例如: +``` +set property for 'root' 'sql_block_rules' = 'rule_001'; +``` +这样,经过上面的配置,root用户在执行查询时,将被应用名字为rule_001的阻止规则。 +``` +MySQL root@127.0.0.1:test> set property for 'root' 'sql_block_rules' = ''; +Query OK, 0 rows affected +Time: 0.018s +MySQL root@127.0.0.1:test> select * from t; ++----+----+ +| id | c1 | ++----+----+ +| 1 | 1 | ++----+----+ + +1 row in set +Time: 0.027s +MySQL root@127.0.0.1:test> set property for 'root' 'sql_block_rules' = 'rule_001'; +Query OK, 0 rows affected +Time: 0.008s +MySQL root@127.0.0.1:test> select * from t; +(1105, 'errCode = 2, detailMessage = errCode = 2, detailMessage = sql match regex sql block rule: rule_001') +``` +如果想对一个用户添加多个用户级别的阻止规则。在规则列表中列举所有的规则名字,以英文逗号隔开。 +如果想移除一个用户的所有用户级别阻止规则。将规则列表置为空字符串即可。 + +#### 其他操作 +如果需要修改或者删除阻止规则,可以参考阻止规则的SQL手册。 + +### 使用场景 +可以在以下几种场景使用: +* 阻止扫描超过指定行数的数据 +* 阻止扫描超过指定分区数量的数据 +* 阻止扫描超过指定分桶数量的数据 +* 阻止特定模式的查询 + +#### 阻止扫描超过指定行数的数据 +由于扫描数据会显著的消耗BE的IO资源和CPU资源。所以,不必要的数据扫描会对集群的稳定性带来比较大的挑战。日常使用中,经常会出现盲目的全表扫描操作。例如SELECT * FROM t。为了防止这种查询对集群产生破坏。可以设置单个查询扫描单表行数的上限。 +``` +CREATE SQL_BLOCK_RULE rule_card +PROPERTIES +( + "cardinality" = "1000", + "global" = "true", + "enable" = "true" +); +``` +当设置了如上的规则,当单表扫描超过1000行时,则禁止此查询的执行。 +需要注意的是,由于扫描行数的计算是在规划阶段,而非执行阶段完成的。所以计算行数时,只会考虑分区和分桶裁剪,而不会考虑其他过滤条件对于扫描行数的影响。也就是考虑最坏情况。所以,实际扫描的行数小于设置值的查询也有可能被阻止。 + +#### 阻止扫描超过指定分区数量的数据 +对过多分区的扫描会显著的增加BE的CPU消耗。同时,如果查询的外表,那更有可能带来显著的网络开销和元数据拉取的开销。在日常使用中,这多是由于忘记写分区列上的过滤条件或者写错导致的。为了防止这种查询对集群产生破坏。可以设置单个查询扫描单表的分区数的上限。 +``` +CREATE SQL_BLOCK_RULE rule_part_num +PROPERTIES +( + "partition_num" = "30", + "global" = "true", + "enable" = "true" +); +``` +当设置了如上的规则,当单表扫描分区数超过30个时,则禁止此查询的执行。 +需要注意的是,由于扫描分区数的计算是在规划阶段,而非执行阶段完成的。所以有可能出现因为分区裁剪不完全,而保留了更多分区的情况。所以,实际扫描的分区数小于设置值的查询也有可能被阻止。 + +#### 阻止扫描超过指定分桶数量的数据 +对过多分桶的扫描会显著的增加BE的CPU消耗。为了防止这种查询对集群产生破坏。可以设置单个查询扫描单表的分区数的上限。 +``` +CREATE SQL_BLOCK_RULE rule_teblet_num +PROPERTIES +( + "tablet_num" = "200", + "global" = "true", + "enable" = "true" +); +``` +当设置了如上的规则,当单表扫描分桶数量超过200个时,则禁止此查询的执行。 +需要注意的是,由于扫描分桶数的计算是在规划阶段,而非执行阶段完成的。所以有可能出现因为分桶裁剪不完全,而保留了更多分区的情况。所以,实际扫描的分桶数小于设置值的查询也有可能被阻止。 + +#### 阻止特定模式的查询 +由于各种原因,比如计算复杂度高,规划时间长等,可能会希望阻止使用模式的查询。 +以阻止函数abs举例。可以使用如下的正则表达式阻止规则,完成此目的。 + +``` +CREATE SQL_BLOCK_RULE rule_abs +PROPERTIES( + "sql"="(?i)abs\\s*\\(.+\\)", + "global"="true", + "enable"="true" +); +``` + +上述正则表达式中 +- (?i)表示大小写不敏感 +- abs为想要阻止的目标函数 +- \\s*表示在abs和左括号之间可以有任意个空白 +- \\(.+\\)匹配函数参数 + 同理,也可以使用类似的方法阻止set global,以防止非预期的变量改变。或者阻止truncate table,以防止非预期的删除数据。 + +### 常见问题 +#### Q:正则匹配阻止规则会对集群产生副作用吗? +A:是的。由于正则匹配是计算密集型的。当使用复杂的正则表达式,或者正则匹配规则过多时。会给FE的CPU带来显著的压力提升。所以,要谨慎添加正则匹配的阻止规则。除非必要,尽量不要使用复杂的正则表达式。 + +#### Q:可以临时关闭一个阻止规则吗? +A:可以。修改阻止规则,将其属性中的"enable"改为"false"即可。 + +#### Q:阻止规则中的正则表达式使用哪种规范? +A:阻止规则的正则表达式使用java的正则表达式规范。常用表达式可以参考SQL语法手册。完整的手册可以参考https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html + +## Workload Group Policy +### 注意事项 +- 同一个policy的condition和action要么都是FE的,要么都是BE的,比如set_session_variable和cancel_query无法配置到同一个policy中。condition be_scan_rows和condition username无法配置到同一个policy中。 +- 由于目前的policy是异步线程以固定时间间隔执行的,因此策略的生效存在一定的滞后性。比如用户配置了scan行数大于100万就取消查询的策略,如果此时集群资源比较空闲,那么有可能在取消策略生效之前查询就已经结束了。目前这个时间间隔为500ms,这意味着运行时间过短的查询可能会绕过策略的检查。 +- 当前支持的负载类型包括select/insert select/stream load/broker load/routine load。 +- 一个查询可能匹配到多个policy,但是只有优先级最高的policy会生效。 +- 目前不支持action和condition的修改,只能通过删除新建的方式修改。 + +### 熔断策略范围 +自 Doris 2.1 版本起,可以通过 Workload Policy 可以实现大查询的熔断。 + +| 版本 | 2.1 | +|--------------------|-----| +| select | √ | +| insert into select | √ | +| insert into values | X | +| stream load | √ | +| routine load | √ | +| backup | X | +| compaction | X | + +### 创建熔断策略 +使用 CREATE WORKLOAD POLICY 命令可以创建资源管理策略。 +在下面的例子中创建一个名为test_cancel_policy的 policy,它会取消掉集群中运行时间超过 1000ms 的查询,当前状态为启用。 创建 Workload Policy 需要 admin_priv 权限。 +``` +create workload policy test_cancel_policy +conditions(query_time > 1000) +actions(cancel_query) +properties('enabled'='true'); +``` + +在创建 Workload Policy 时需要指定以下内容: +- conditions 表示策略触发条件,可以多个 condition 串联,使用逗号“,”隔开,表示“与”的关系。在上例中 query_time > 1000 表示在查询时间大于 1s 时触发 policy; +- action 表示条件触发时采取的动作,目前一个 policy 只能定义一个 action(除 set_session_variable)。在上例中,cancel_query 表示取消查询; +- properties,定义了当前 policy 的属性,包括是否启用和优先级。 + 一个 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 | 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。语句如下: + +``` +create workload policy test_cancel_big_query +conditions(query_time > 1000) +actions(cancel_query) +properties('workload_group'='normal') +``` + +### Workload Policy 效果演示 +#### 1 session 变量修改测试 +尝试修改 admin 账户的 session 变量中的并发相关的参数 +``` +// 登录 admin账户查看并发参数 +mysql [(none)]>show variables like '%parallel_fragment_exec_instance_num%'; ++-------------------------------------+-------+---------------+---------+ +| Variable_name | Value | Default_Value | Changed | ++-------------------------------------+-------+---------------+---------+ +| parallel_fragment_exec_instance_num | 8 | 8 | 0 | ++-------------------------------------+-------+---------------+---------+ +1 row in set (0.00 sec) + +// 创建修改admin账户并发参数的policy +create workload policy test_set_var_policy +conditions(username='admin') +actions(set_session_variable 'parallel_fragment_exec_instance_num=1') + +// 过段时间后再次查看admin账户的参数 +mysql [(none)]>show variables like '%parallel_fragment_exec_instance_num%'; ++-------------------------------------+-------+---------------+---------+ +| Variable_name | Value | Default_Value | Changed | ++-------------------------------------+-------+---------------+---------+ +| parallel_fragment_exec_instance_num | 1 | 8 | 1 | ++-------------------------------------+-------+---------------+---------+ +1 row in set (0.01 sec) +``` + +#### 2 大查询熔断测试 +测试对运行时间超过 3s 的查询进行熔断,以下是一个 ckbench 的 q29 运行成功时的审计日志,可以看到这个 sql 跑完需要 4.5s 的时间 +``` +mysql [hits]>SELECT REGEXP_REPLACE(Referer, '^https?://(?:www\.)?([^/]+)/.*$', '\1') AS k, AVG(length(Referer)) AS l, COUNT(*) AS c, MIN(Referer) FROM hits WHERE Referer <> '' GROUP BY k HAVING COUNT(*) > 100000 ORDER BY l DESC LIMIT 25; ++-----------------------------------------------------------------------+------------------+----------+---------------------------------------------------------------------------------------------------------------------+ +| k | l | c | min(Referer) | ++-----------------------------------------------------------------------+------------------+----------+---------------------------------------------------------------------------------------------------------------------+ +| 1 | 85.4611926713085 | 67259319 | http://%26ad%3D1%25EA%25D0%26utm_source=web&cd=19590&input_onlist/би-2 место будущей кондицин | +| http:%2F%2Fwwww.regnancies/search&evL8gE&where=all&filmId=bEmYZc_WTDE | 69 | 207347 | http:%2F%2Fwwww.regnancies/search&evL8gE&where=all&filmId=bEmYZc_WTDE | +| http://новострашная | 31 | 740277 | http://новострашная | +| http://loveche.html?ctid | 24 | 144901 | http://loveche.html?ctid | +| http://rukodeliveresult | 23 | 226135 | http://rukodeliveresult | +| http://holodilnik.ru | 20 | 133893 | http://holodilnik.ru | +| http://smeshariki.ru | 20 | 210736 | http://smeshariki.ru | +| http:%2F%2Fviewtopic | 20 | 391115 | http:%2F%2Fviewtopic | +| http:%2F%2Fwwww.ukr | 19 | 655178 | http:%2F%2Fwwww.ukr | +| http:%2F%2FviewType | 19 | 148907 | http:%2F%2FviewType | +| http://state=2008 | 17 | 139630 | http://state=2008 | ++-----------------------------------------------------------------------+------------------+----------+---------------------------------------------------------------------------------------------------------------------+ +11 rows in set (4.50 sec) +``` + +创建一个运行时间超过 3s 就取消查询的 policy +``` +create workload policy test_cancel_3s_query +conditions(query_time > 3000) +actions(cancel_query) +``` + +再次执行 sql 可以看到 SQL 执行会直接报错 +``` +mysql [hits]>SELECT REGEXP_REPLACE(Referer, '^https?://(?:www\.)?([^/]+)/.*$', '\1') AS k, AVG(length(Referer)) AS l, COUNT(*) AS c, MIN(Referer) FROM hits WHERE Referer <> '' GROUP BY k HAVING COUNT(*) > 100000 ORDER BY l DESC LIMIT 25; +ERROR 1105 (HY000): errCode = 2, detailMessage = (10.16.10.8)[CANCELLED]query cancelled by workload policy,id:12345 +``` \ No newline at end of file diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/workload-group.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/workload-group.md new file mode 100644 index 0000000000000..ff5291897c49d --- /dev/null +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/workload-group.md @@ -0,0 +1,211 @@ +--- +{ +"title": "Workload Group", +"language": "zh-CN" +} +--- + + + +在 Doris 中使用 Workload Group 管理与限制资源。通过资源管控方式可以有效限制查询与导入等负载所用的 CPU、内存与 IO 资源,也可以创建查询队列,控制集群中的查询最大并发量。自 Doris 2.1 版本后,使用基于 CGroup 对 CPU 资源进行限制。在使用 Workload 资源管控功能前,需要先配置 CGroup 环境。在创建 Workload Group 管控资源前,需要根据业务选择对资源进行软限或硬限: +- 设置资源软限,在没有资源争用时,可以借用其他 Workload Group 资源,超过软限; +- 设置资源硬限,无论是否存在资源争用,都无法超过硬限设置的资源配额。 + +在使用 Workload 资源管控时,需要执行以下操作: +1. 创建 Workload Group; +2. 向 Workload Group 中添加资源限制规则; +3. 为租户绑定 Workload Group。 + +## 版本升级说明 +自 Doris 2.0 版本开始提供 Workload 资源管控功能。在 Doris 2.0 版本中,Workload 资源管控不依赖于 CGroup,而 Doris 2.1 版本中需要依赖 CGroup。 + +从 Doris 1.2 升级到 2.0:建议集群升级完成后,再开启 Workload 资源管控功能。只升级部分 follower FE 节点,可能会因为未升级的 FE 节点没有 Workload Group 的元数据信息,导致已升级的 follower FE 节点查询失败。 +从 Doris 2.0 升级到 2.1:由于 2.1 版本的 Workload 资源管控功能依赖于 CGroup,需要先配置 CGroup 环境,在升级到 Doris 2.1 版本。 + +## 配置 CGroup 环境 +在 Doris 的 2.0 版本使用基于 Doris 的调度实现 CPU 资源的限制,虽然提供了极大的灵活性,但由于 CPU 的隔离不够精准,无法提供 CPU 的硬隔离限制。从 2.1 版本起,Doris 使用基于 CGroup 对 CPU 资源进行限制,因此建议对资源隔离有强烈需求的用户升级到 2.1 版本,同时在所有 BE 节点上已经安装好 CGroup 的环境。 +用户如果在 2.0 版本使用了 Workload Group 的软限并升级到了 2.1 版本,那么也需要配置 CGroup,否则可能导致软限失效。在不配置 cgroup 的情况下,用户可以使用 workload group 除 CPU 限制外的所有功能。 + +:::tip +1. Doris BE 节点能够很好的使用机器的 CPU 与内存资源,建议单台机器上只部署一个 BE 实例,目前的 Workload 资源管控不支持一个机器多个 BE 的部署方式; +2. 当机器重启之后,以下的 CGroup 配置就会清空。如果期望配置重启之后可以也可以生效,可以使用 systemd 把操作设置成系统的自定义服务,这样在每次机器重启的时候,自动完成创建和授权操作 +3. 如果是在容器内使用 CGroup,需要容器具备操作宿主机的权限。 +::: + +### 确定 BE 节点安装 CGroup +通过检查 /proc/filesystems 文件可以判断是否安装 CGroup: +cat /proc/filesystems | grep cgroup +nodev cgroup +nodev cgroup2 +nodev cgroupfs +在上述返回结果中,列出了 cgroup,cgroup2 与 cgroupfs,这表明内核支持了 CGroup。还需要进一步查看 CGroup 版本。 + +#### 确定 CGroup 版本 +系统使用 CGroup V1,会有多个子系统分别挂在在 /sys/fs/cgroup 目录下。如果包含了 /sys/fs/cgroup/cpu 目录,说明目前生效的是 CGroup V1: +``` +## 包含 /sys/fs/cgroup/cpu 目录,CGroup V1 生效 +ls /sys/fs/cgroup/cpu +``` + +系统使用 CGroup V2,会采用统一的层级结构,所有的控制器都在一个文件系统中管理。如果包含了 /sys/fs/cgroup/cgroup.controllers 目录,则证明目前生效的是 CGroup V2: +``` +## 包含 /sys/fs/cgroup/cgroup.controllers 目录,CGroup V2 生效 +ls /sys/fs/cgroup/cgroup.controllers +``` +在 Doris 中使用 Workload 管控资源,需要针对于 CGroup 的版本分别配置。 + +### 使用 CGroup V1 版本 +如果使用 CGroup V1 版本,需要为 Doris 在 /sys/fs/cgroup/cpu 目录下创建 CPU 管控目录。您可以自定义该目录名称,下例中使用 /sys/fs/cgroup/cpu/doris : +``` +## Create cgroup dir for Doris +mkdir /sys/fs/cgroup/cpu/doris + +## Modify the Doris cgroup directory permissions +chmod 770 /sys/fs/cgroup/cpu/doris + +## Grant user permissions for Doris usage +chown -R doris:doris /sys/fs/cgroup/cpu/doris +``` + +### 使用 CGroup V2 版本 +因为 CGroup V2 对于权限管控比较严格,需要具备根目录的 cgroup.procs 文件的写权限才能实现进程在 group 之间的移动。 +通过以下命令为 cgroup.procs 目录授权: + +``` +chmod a+w /sys/fs/cgroup/cgroup.procs +``` +如果需要更精细化为 Doris 用户添加 CGroup V2 的权限,可以使用 ACL 权限管控机制。 + +### 为 BE 节点配置 CGroup 环境 +在使用 Workload 进行资源管控前,需要在 BE 的配置文件 be/conf/be.conf 中配置 CGroup 的路径: +``` +doris_cgroup_cpu_path = /sys/fs/cgroup/cpu/doris +``` +在配置 be.conf 文件后,需要重启 BE 节点,在 BE.INFO 日志文件中可以查看到 add thread {pid} to group 提示,表示配置成功。 + +## 使用 Workload Group 管理资源 +在创建 Workload Group 后,可以为 Workload Group 添加资源限制规则。Doris 目前支持以下资源的规则限制: +- 对 CPU 进行硬限或软限 +- 对内存进行硬限或软限 +- 对远程或本地 IO 进行限制 +- 创建查询队列管理查询作业 + +### 创建自定义 Workload Group +需要使用具有 ADMIN 权限的用户创建 Workload Group,同时添加资源规则。通过 CREATE-WORKLOAD-GROUP 语句可以创建自定义 Workload Group。自 Doris 2.1 版本起,系统会自动创建名为 normal 的 Workload Group,用户会默认绑定到 normal 下。在以下示例中创建了 Workload Group g1,同时添加了 CPU 与内存资源的限制规则: + +``` +CREATE WORKLOAD GROUP IF NOT EXISTS g1 +PROPERTIES( + "cpu_share"="1024", + "memory_limit"="30%" +); +``` + +### 修改 Workload Group 的资源规则 +访问 Doris 系统表 information_schema.workload_groups 可以查看创建的 Workload Group 信息。 +删除 Workload Group 可以参考 DROP-WORKLOAD-GROUP。 +通过 ALTER-WORKLOAD-GROUP 命令可以调整与修改 Workload Group 配置。 + +#### 添加与修改资源项 +在以下示例中,为 g1 资源组修改了内存限制规则: +``` +ALTER WORKLOAD GROUP g1 PROPERTIES('memory_limit'='10%'); +``` + +通过 information_schema.workload_groups 系统表可以查看到修改后的内存限制: +``` +SELECT name, memory_limit FROM information_schema.workload_groups; ++--------+--------------+ +| name | memory_limit | ++--------+--------------+ +| normal | 30% | +| g1 | 10% | ++--------+--------------+ +``` + +#### 配置资源软限与硬限 +使用 Workload Group 功能,可以为 CPU 以及内存资源设置软限与硬限,对于远程与本地 IO,只提供硬限能力: +- 软限:软限作为资源的警戒线,用户正常操作中不会超过这个限度。当其他 Workload Group 负载较低时,可以借用其他 Workload Group 资源,超过软限设置; +- 硬限:硬限作为资源的绝对使用上限,无论其他 Workload Group 是否有负载,都不能超过硬限上限。硬限通常用来防止系统资源被滥用。 + +| | 软限开关与参数 | 硬限开关与参数 | 说明 | +| ----------- |----------------------------------------------------------------------|------------------------------------------------------------------------------------|-----| +| CPU | 开关:FE Config - enable_cpu_hard_limit = false 参数:Property - cpu_share | 开关:FE Config - enable_cpu_hard_limit = true 参数:property - cpu_hard_limit 修改 CPU 硬限 |不同 Workload Group 只能同时设置软限或硬限,无法设置部分组硬限及部分组软限 | +| Memory | 开关:property - enable_memory_overcommit = true 参数:property - memory_limit | 开关:property - enable_memory_overcommit = false 参数:property - memory_limit | 不同 Workload Group 可以任意设置软限或硬限,部分组可以设置硬限,部分组可以设置软限 | +| 本地 IO | 无 | 参数:read_bytes_per_second | 暂时只提供本地 IO 硬限 | +| 远程 IO | 无 | 参数:remote_read_bytes_per_second | 暂时只提供远程 IO 硬限 | + + +### 为租户绑定 Workload Group +使用非 ADMIN 用户,需要先确定是否具有该 Workload Group 的权限。通过查看 information_schema.workload_groups 系统表判断是否具有使用 Workload Group 的权限。当可以查询到 Workload Group 时,代表具有使用该 Workload Group 的权限。下例中代表可以使用 g1 与 normal Workload Group: +``` +SELECT name FROM information_schema.workload_groups; ++--------+ +| name | ++--------+ +| normal | +| g1 | ++--------+ +``` + +如果无法看到 g1 Workload Group,可以使用 GRANT 语句为用户授权。 +在为租户绑定 Workload Group 时,可以通过设置 user property 或指定 session 变量两种方式。当同时使用了两种方式时,session 变量的优先级要高于 user property: +- 使用 user property 绑定 Workload Group:一般由管理员使用 SET-PROPERTY 命令为租户绑定默认的 Workload Group。在以下示例中,为 test_wlg 租户绑定了默认 Workload Group g1: +``` +set property for 'test_wlg' 'default_workload_group' = 'g1'; +``` + +- 使用 session 变量绑定 Workload Group: 在业务开发的过程中,即便管理员配置了默认的 Workload Group,也可以在 session 中通过 workload_group 变量修改。在以下示例中,为当前 session 配置了绑定 Workload Group g1: +``` +SET workload_group = 'g1'; +``` + +## 为 Workload Group 设置分组 +在多负载或多租户环境中,一个 Doris 集群可能被拆分成多个子集群使用,如部分节点用于外部存储的联邦查询,部分节点用于内表实时查询。Workload Group 可以为 BE 节点打标签(tag),标签相同的 BE 节点组成子集群。每个子集群的资源独立计算,子集群内累加值不能超过 100%。在下例中,将七台机器分成 sub_a 与 sub_b 两个子集群,两个子集群中分别创建了两个 Workload Group。 +在多负载或多租户的环境中,一个 Doris 集群可能被拆分成多个子集群使用,如部分节点用于外部存储的联邦查询,部分节点用于内部表的事实查询,两个自己群在数据分布与资源使用上完全隔离。在同一个子集群群内,需要创建多个租户并创建租户之间的资源使用隔离规则。针对于这类复杂的资源隔离要求,可以结合 Resource Group 与 Workload Group 功能,使用 Resource Group 实现多个子集群的节点粒度隔离,在自己群内使用 Workload Group 进行租户间的资源隔离。如下图中划分成 A、B 两个子集群,每个子集群中有各自的 Workload Group 进行资源管控: +![group_wg](/images/workload-management/group_wg.png) + +1. 创建 A 与 B 两个 Resource Group,将 7 台机器划分成两个子集群 +``` +-- create resource group sub_cluster_a +ALTER SYSTEM MODIFY BACKEND "192.168.88.31:9050" SET("tag.location" = "sub_cluster_a"); +ALTER SYSTEM MODIFY BACKEND "192.168.88.32:9050" SET("tag.location" = "sub_cluster_a"); +ALTER SYSTEM MODIFY BACKEND "192.168.88.33:9050" SET("tag.location" = "sub_cluster_a"); + +-- create resource group sub_cluster_b +ALTER SYSTEM MODIFY BACKEND "192.168.88.34:9050" SET("tag.location" = "sub_cluster_b"); +ALTER SYSTEM MODIFY BACKEND "192.168.88.35:9050" SET("tag.location" = "sub_cluster_b"); +``` + +2. 为子集群创建 Workload Group 进行内存资源隔离 +``` +-- create workload groups for sub cluster A +CREATE WORKLOAD GROUP a_wlg_1 PROPERTIES('tag' = "sub_cluster_a", "memory_limit" = "30"); +CREATE WORKLOAD GROUP a_wlg_2 PROPERTIES('tag' = "sub_cluster_a", "memory_limit" = "30"); +CREATE WORKLOAD GROUP a_wlg_3 PROPERTIES('tag' = "sub_cluster_a", "memory_limit" = "30"); + +-- create workload groups for sub cluster B +CREATE WORKLOAD GROUP b_wlg_1 PROPERTIES('tag' = "sub_cluster_b", "memory_limit" = "30"); +CREATE WORKLOAD GROUP b_wlg_2 PROPERTIES('tag' = "sub_cluster_b", "memory_limit" = "30"); +``` + +## 注意事项 +1. 在 Kubernetes 中使用 Workload 管控资源。Workload 的 CPU 管理是基于 CGroup 实现的,如果期望在容器中使用 Workload Group,那么需要以特权模式启动容器,容器内的 Doris 进程才能具备读写宿主机 CGroup 文件的权限。 当 Doris 在容器内运行时,Workload Group 的 CPU 资源用量是在容器可用资源的情况下再划分的,例如宿主机整机是 64 核,容器被分配了 8 个核的资源,Workload Group 配置的 CPU 硬限为 50%, 那么 Workload Group 实际可用核数为 4 个(8 核 * 50%)。 +2. WorkloadGroup 的内存管理和 IO 管理功能是 Doris 内部实现,不依赖外部组件,因此在容器和物理机上部署使用并没有区别。如果要在 K8S 上使用 Doris,建议使用 Doris Operator 进行部署,可以屏蔽底层的权限细节问题。 \ No newline at end of file diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/workload-management-summary.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/workload-management-summary.md new file mode 100644 index 0000000000000..0b95e5beb2fe3 --- /dev/null +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/admin-manual/workload-mangement/workload-management-summary.md @@ -0,0 +1,54 @@ +--- +{ +"title": "工作负载管理概述", +"language": "zh-CN" +} +--- + + + +数据库的系统资源(如 CPU、内存、I/O 和存储等)的合理分配至关重要。通过精确的资源管理,能够确保查询在执行过程中获得合理的资源支持,从而提升系统的整体性能并维持其稳定性。Doris 提供了资源管控功能,允许用户将集群中的物理资源划分为多个资源单元。资源划管控制避免了某个逻辑资源组过度占用系统资源,从而影响其他资源组的正常运行。通过对资源的精细化管理,Doris 不仅能够保障系统的高效运行,还能够在多任务并行的场景下有效防止资源争夺,确保系统的稳定性与可维护性。 + +## 资源管控使用场景 +Doris 的资源管控功能为多用户、多业务的并发场景提供了精细化的资源分配与管理支持,确保系统在复杂环境下的高效与稳定运行。通常情况会在以下场景中使用资源管控功能: +- 不同业务数据存储在一个 Doris 集群,通过资源管控避免不同业务之间的资源争用; +- 不同用户使用同一份数据,为不同的用户隔离出不同租户避免用户间的资源争用; +- 多负载并行查询,通过资源队列调整查询优先级,以便更快速的查询不会被长时间的查询阻塞; +- 设置负载熔断机制,当满足熔断条件后自动熔断掉当前负载。 + +## 资源组划分方式 +在 Doris 中,用户可以根据具体的业务需求,将系统资源划分为不同的资源池,并确保各资源池之间的资源相互独立,互不干扰。通过将资源池绑定至不同用户,Doris 实现了对不同用户间的资源精细化管理与控制。在资源划分方面,Doris 提供了两种主要方式: +- Resource Group:以 BE 节点为最小粒度,通过设置标签(tag)的方式,划分出多个资源组 +- Workload Group:以 CPU/Memory/IO 为最小粒度,划分出多个资源组,实现更细致的资源分配 +- Compute Group: 是存算分离模式下的一种资源组划分的方式,与Resource Group类似,它也是以 BE 节点为最小粒度,划分出多个资源组 + 下表中记录了不同资源组划分方式的特点及优势场景: + +| 资源组划分 | 隔离粒度 | 隔离方案说明 | 软/硬限制 | 跨资源组查询 | +| ---------- | ----------- |---------------------------------------------------------------------------------------------------------|-----|-----| +| Resource Group | 服务器节点级别,资源完全隔离 | 将 BE 节点设置 tag,tag 相同的 BE 节点作为一个资源组,可以进行集群内的节点级别资源隔离,也可以针对单个查询限制资源。通过 Resource Group 可以实现故障隔离,某一资源组内的 BE | 硬限制 |不支持跨资源组查询。必须保证资源组内至少存储一副本数据 | +| Workload Group | 资源粒度,包括 cpu、memory、IO 等资源 | 基于 cgroup 进行 cpu、memory、io 及并发的资源管控;提供查询队列功能,避免资源抢占 | 支持硬限制与软限制 | 支持跨资源组查询 | +|Compute Group | 服务器节点级别,资源完全隔离 | 基于存算分离的架构,数据在多个Compute Group 中都可见;可以进行集群内的节点级别资源隔离,也可以针对单个查询限制资源。不依赖副本的标签 | 硬限制 | 不支持跨资源组查询。必须保证资源组内至少存储一副本数据 | + +## 资源的软限制与硬限制 +在 Doris 中可以使用软限制(soft limit)与硬限制(hard limit)对资源使用进行限制: +- 资源硬限:硬限是指资源能够使用的绝对上线,租户无法超越该限制。一旦达到硬限,超出部分的资源请求将会被拒绝。硬限一般用于防止集群内资源被耗尽或不同业务之间的资源抢占,确保集群的稳定与性能; +- 资源软限:软限是一个可以被超越的资源限制,通常表示资源推荐使用的上限。在系统不繁忙时,租户申请的资源超过了软限,可以借用其他资源组的资源。在系统繁忙存在资源争用时,租户申请资源超过了软限,将无法继续获得资源。 + +使用 Resource Group / Compute Group的方式划分资源组,只支持资源硬限的模式。使用 Workload Group 的方式划分资源组,既支持 workload group 资源软限,也支持 workload group 资源硬限。Workload 资源软限通常被用于突发性的资源管控,如临时的查询高峰或短暂的数据写入增加,Workload 资源硬限通常被用于防止资源被滥用,不同业务之间可以使用资源硬限实现资源的绝对隔离,避免资源争抢。合理的使用资源软限与硬限的机制,可以在避免集群资源枯竭的同时,提供开发运维的灵活性。 \ No newline at end of file diff --git a/sidebars.json b/sidebars.json index ac7567e0e3dff..14f8ac8b79f96 100644 --- a/sidebars.json +++ b/sidebars.json @@ -420,16 +420,15 @@ "type": "category", "label": "Managing Resource", "items": [ - "admin-manual/resource-admin/workload-group", - "admin-manual/resource-admin/group-workload-groups", - "admin-manual/resource-admin/workload-policy", - "admin-manual/resource-admin/workload-analysis", - "admin-manual/resource-admin/multi-tenant", - "admin-manual/resource-admin/workload-fusing", - "admin-manual/resource-admin/use-workload-mem-limit", - "admin-manual/resource-admin/use-workload-cpu-limit", - "admin-manual/resource-admin/use-workload-local-io-limit", - "admin-manual/resource-admin/use-workload-remote-io-limit" + "admin-manual/workload-management/workload-management-summary", + "admin-manual/workload-management/workload-group", + "admin-manual/workload-management/resource-group", + "admin-manual/workload-management/compute-group", + "admin-manual/workload-management/sql-blocking", + "admin-manual/workload-management/kill-query", + "admin-manual/workload-management/job-scheduler", + "admin-manual/workload-management/best-practice/group-workload-group", + "admin-manual/workload-management/best-practice/workload-group-best-practice" ] }, { diff --git a/static/images/workload-management/io_test_1.png b/static/images/workload-management/io_test_1.png new file mode 100644 index 0000000000000000000000000000000000000000..0da4a9bc4dd764c4663fd8b1b2d47ec4e182f807 GIT binary patch literal 18592 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 literal 0 HcmV?d00001 diff --git a/static/images/workload-management/io_test_2.png b/static/images/workload-management/io_test_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ba8216c9df267759093019581fd721a28a50a074 GIT binary patch literal 35682 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 JUn`lR{s(-stOWo7 literal 0 HcmV?d00001 diff --git a/static/images/workload-management/io_test_21.png b/static/images/workload-management/io_test_21.png new file mode 100644 index 0000000000000000000000000000000000000000..af4138cd05931e4055129d9d3362ea4da6ac3b0d GIT binary patch literal 35085 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 !HnsK|hz&^tPHt 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 aN2rJ{P%*G!W-OI2ocjID@lv}>xBm~<6x?9| literal 0 HcmV?d00001 diff --git a/static/images/workload-management/io_test_22.png b/static/images/workload-management/io_test_22.png new file mode 100644 index 0000000000000000000000000000000000000000..4a3f34fa065ee09fd96b9be6564047a102c30629 GIT binary patch literal 34987 zcmdSBcU+U%*DbE1fCW*oQ3KMYsfdV3B3P(`iX&1qA|+siC@6@eh@gmtE(i!gX*yD* zOG{LcjuB9h8tDRtkO1lB_XKptamM#M_r34^+~55#^(p5$XPvdzUVDchwJ{T0CB16N zk|kmm<_C{2St0~pvSewas4(!!!J4l}mn^xy#NwdIiK}P6rUaKvspsF!j)9D3Bz}mI zKC?pS?SqW4*=1Wq++N2Yk(D8$x>%hp;aXBIH`b}n5U~^@pG)L7Mso0cE*TTL&Qw$} zbe->cUTnDa1V|Djc;KwP2_CrM?)<{uBvm&dZVc4B*Q`e$p zgXf}=V&JD$qQWQ9bZu1;t4r&a_{s_s493kEkT<5256-s#8TB*kM zz&Go0vGQSf7si?k2aX2ujHh2`fiiGHeKRlmmDa>T|XAJ0u<17Zvz$Un1^s!qDAckVZUhk{K;RxErz)N`{4?k#zA>I#HQIPAg+z{)dK!&AX19F*{U@5XlC3I~zvj ziB7%sO-4N9?ArGQ^^TNujS}$@{E<}gxV#gX2F&t5P7p{gW`)f~b7UAnFF)y5AG-z) z)7s6zd2LZ+!X#8m2H81-iPa9NYEa~wB(QxG3e(J86*|GIsoBJ?B56=Axkv1FV>&ZI zX`Ik?g&S4DE6Op=JHdwx`Rfr_2zE%Qz530D2{C! z?42sXJ5+6$#|_lP5gY1uDF4P)0b{SLpr%tC+534)KosRr zj(p7V4+5TMJl}1r9g99yJHERWnJ@xOd2O1K?_tbUbi8~kJjdkv?KlY;WwHw8QmB59 zoq`in=Ba#ii0BCBi2O1>oLQG03qw2}!(`C72U+F=Mw|GjFz#Bslycq;E{(`&ASgQy zDGd`#YqQVbiaCSwgQ@MC6hkk#B-Dg%VwpHFG;YwXAqR2KTj3uO z+fBQhf}bdpH7JxTM)&NvIZmtElnQ|f^|()0#iDn5I|7Sd5yhX?ze!dTO!ERpJxkM- zLT;HiNboMi2ihBCI+v5;Y^^KQj0($f8mOQU(Qv|xPaluOD-u7F0-p(HkyfQL_&bQH zE@BSwR!4jh$#$*BU|%|`ZcccsoggM*+K}%ubU=W2rlRHh1fUceWkZn}`Z}}wQ18dw z2QSNm`>Mj$nW9%L{5!*rW{IR-2k>OX)87Kgu|DR0S~o@jIr)k{_jA3uUeQ+ZPTrA- zenL)#MBK*9QLo?a1Fy5q|{!h^?}KzkWTnF!`B{ zg6RyQ=~gmfE*l z;S2NRb^MPY;&y}1?%h{p&^$YGH`1hI+_HRDsOmJx^Db(@e{e}hF*1+CT$2v|XRWx;jl<4p7-L2tF$7xHSy1n@ z5>$%ZFBiSHV%4!ERv6oLef_TTuMm!Yen9&P3&-M6(k98u5wUsKt4YMqp{!>Kx|;mA zEQo0X<F_KJp}5^VHepNYiCS2LG7#sHYl40 z47d5T_ZE)}L2rjJVgUNLpFu1DvUAVW{e@>~6$CHWK*UvXA6{J=$Z3%%`Y(Zpd``pe zP=u(-b{$F4BA@0~u`Goo4hA@%zR>1tyatRqR@l0xZ(tfD?!Kg5vjG!Wy<7mZT`~*P zCxLb?ePO$6A8?F9DMw-*&c*+UJ443}&YDejHfSP>SMf)he^r zmHVK85irJDP3y%BD?wsC!y~Pn zZ;ityNdFdhZroTNlO0<4Ke6O3TWAeCuSqFX1oLCP|KLo{(vBJ5Az@q zCIo87KyL*Wi`-pI4u0n*{yS%kU$-hdIpB(2(}P|cW^G1Lp;Gcxa(kJr66ZY{#D_;kNxc(P1GYY@Py?7y)p_xxIzxB$o^JQ8Z_2^)UvoZo7=3?LZNL!F;4 zP1&Ly{*u4=^;JJwsEh1}(QI7&Yhx9zf2A?%a?T{3InY_S_*oFqLxyHMh zR4W?z66ldHGrzIpjlC@~Xtp3}~L3BuuqgMi8+Rz3pw?q--3PZsb z0ckJ;y=bo)7z>_AkN}xg#P4mw>U0MZhsOe%R$>wW05A=#|9Z62xbqI^NIB{Qx2$nC zxc$MT_&*`25Jr4+WtM?uviNqn)b8ZbK@V6dtd* zEuknnhPW4>EMsl5i^=CnVBx|#AHY%kqhPUzw>-&Qy6YkKUZekrLXRJgslU|^5bqMX zm3dy%e&6+fVn0r+)=B>eLHhH4{ukL#*^!fGa$D4~^Q-=0k3k$N!m6y@FAsrRAPeEE zD8C>4(%dwf!rHN+jO31cAjV}AoZ@4$a(v^A!6c`?k5EQek8~Gi3)fp&)W() zIcn7mnqEJx;l19pVH3azd~kY5jiSNFN(X!~M^t76n>S6xE9&C4NH?>jkCi>w_aBR) z$1xZca&@-c>q~l#eAfYt(ib16>|IHwMYTlH)>1LJteKx_*I3~ZngMw-D^9a4g&J-_ z-^HtDXU&nswkm^b&exQLFF?yW(}u*e-$Cgcw^`SIkb@fXO>}nN zROY@>=5wS1r-r~1~k^udha7muEnCotwQzFiM`xCmZOA>_HSrn8UtA((F+*LEk_7xx? z@O5`=z8YBck8?s7Arbh>HxP|w%ou#fO3>_VZT;)h{fqxn#E(P)Z~X+EO>hqU(2E5q z6}7zKHG*|f!xN3FS%7e-*X)? zJUnBtCU7VOz*cUW*X71{N)5xy-~0ft`ENRx>i!P;PVz9xxunmci__D_C5$nsYiHCcj6Ej`hAQ zaS?rUlzAq2hGRw?Yu_Eg`3vHrRZ7=fJ;qh|Aq2h7cu(Xj9rknrWp!Fzk|rFIHms~7V)m)y{!w}8KC-1$4-!8f&gXfrSl zKk%SUC*S5<=&&OlIrltQ_CETgf_Mt5>EH;feXy-Y#xtx$6`i`(C>DG9<>}TQug(WA zI}L)wB4WLLimDo7$C)cn;dr%Y(_mGR=h6zSk(c?=eZAXTKGA+SZM*JcmdTIN z=8Cs!0{%4wGo)OqAcHl^!yX)kj8Yw%Z3Smkp-|+;`l7XA7uw$)@y~ngx<&|hZ=)QY zG$@=^!Bg8lA@_WqcTnVGeihCD*(*2uDn|`m0l+Q_ddrj0`gEI66c7$JPpK^IIDfzC zMe_G?2zIb;tb3qeJ6a}tPr1*m@Clp(3>f~e^*Z6USMTerlk@y?wFW+YIWZY@>Q2P5 z^beOrP%u4<;`WG*E$R+r+snl)?G^9kHH60u_jGa1=F``%i6dNFj9Abr#Y?r9{W+7J z+P>-z+dIfZG~W_7Se5saQJqz-tNs>_!j2&C$mPqnFbRFvFLgI&!jb(%di^Zo>iO`F z!r@dh*5~r)0iLoPzErqES+}3RyS1hHy6HLYTd95YeP=4C&tKkEsJ)dBr@lu+n+?F5 z&%^ZjN+smYK&1FQP0SM}HI;w+EncsSn8esPy7Occ*y?~4(s^j;oJ&=gfHHoYe@F=B z*xomR+sm#NN$!1lQ_SF#OkJRAKM6c*E}>zTJB(8^s;jDdjqr~WzGe9Ih_AQ3>}9^= zSxy(_3UKU-%yq_Fd$&?SP2A%#&ro%{wR)fg1^zgE6;W5PSxB-zWuO?lW4a`#^6xEN zjdN)uZWI1JV!1muQ@|rHOF=sQDDZ^U-(B=7f-az3XcT+~p$fihKhd1IMDR($4qd43>)$qpMoG@t{(+&GyZsW_ z3pBItSJyd}BapNbvgpC>l=_++JKs&bOyW^08xZiuJ;rO*h@DAM8@xqcIgG`ozejV< z4uPchl)MSvY$&r34L`cstO_nMDXGDVMO|1~;n92ygEMjOFN9ROqN;N_n(*Y(&& zd5v4FOM$MbLbu_%F4Ab1E;DI3NFhN0$PEq*HA$?3U)UoXqe_iz3#a$XDlm3CkniL^ z4KFb=YsH^=%8bH|UV_;mD|vZM148-G5`^Ystl>28c6xIeovTeNK~sPK%H=ABu4}Jz z36F&A_ihkBfA6*4nmjP#w~;(J5JBt%CF^zEbJIB5EYyE~G`ZPj&6oDwZ&Ge?DK3x7 z2K*KH9Q_BZ@DH5XY_GdQBb(;2EeyEG7YF~=4hif`;t;mxXjjB}t_A_Z8U`ne=sXj< zbp1;^-o1Qm@6LFK$<9fHhVA6QDf9<$=Zh>L{6GdlgY~pSMT4dkcGv>f3*$zmvJkGnP&-4Hoy?x@>Y! zk=Ij5`7Sktq)Xan5hW8S1#>xsezrq9`5v7e=NdE=GMVp>@nf2>Ulig{L{#87xqtR_ zgefTa_LW$bm6y&fVc2`~)6nPV#hbf&z+$WtwvjV49YRfd$asl1(wY#XAGxAMbLTda zUw5*~z(naU%tRLc25*v#WuWr|almZt^z$4_U!i$~Ai~qQxHXWLxbvxv$i^K@9^8mM ziQ7QJb)$yv$-Ri}e&m5P+peI+gyn+nVv@jxkt3@s4}r3RQ!7;ibwsVWtwn_$s16u* zEoW>h7(+Z*gdgKMH9@a|^-D|18~D|Jdh~P|^R4<2F$@~)T(V-vwNq~1X8wcN6Q7=T(Em11kU}ysWeV? z**-~zxa9B^HdlnB(b&GQEpwYIQZw^aj&k3^$eaYyhcRrm7Tjb$Y&yU37_)@t;%>!G zy&@w4VscX;1}yvYd~;|lJg#Xoxu68)I5)_ZOfDo^ajm%V^S>45ead4_G5LS9W(xn`mD}1$dq#I^=of-^YITln+>Gn;z1GR4&&S$^)Dt_X?f+~E_Ke*{(V1}ZZ^F`c8wU#BIow5OiCL7!vuJMk1| z{QIxEqf;!rHF1vX)aex7KC1$Vl=l}!%ICFeP3Pe+qx*=^l~KG|<)}UVflGGZg97^6 zg%p{VBiOf8hXl9<_xNW`=J<;bwvBjZc`Lj#0Y0bCRw-xqieJWB@jGCO&11r@17^e5 zJxaZD@m|-5J)DY`%58c15?_rW<4g2;8k7qCQSAJ-dHYIyIVTMj7d2m5io(GCLe8=0 zfxEF}9Xr{P{}EECJB6@f7k^2ZhV)Xdy~BBG*43Kvw8`32wrKIr$$EG$q3ke;naIY+ z@S4cb50ON~)Z+cvse%m*I>-{yTNtqlF4352O1bLVma06(qbHjU#HA%-Ud5A}>~x^v zL4~fzyjMnzVHcL|2)Exi;{*Owm>+XPdEdNx|3^=qY>5vcr1w5m`zXzKv@qqoKK;>P zA}4XnOHW=SD}{7-DRxCG8fE`9<3b%Zopvm}1XcEgsqXICmG8(lo40$8IUzuz;xFlJ zHvHT<6&y6aR-{{;IQR)%cZmP_lOw-#+)2n7;(&ML+qZX39%l0_xN~f6vMyFIeMny) zF|1SQw_Z=BhJN1V(Ja;A?{?N~L@1rQPV zr+6x~Qt0p+Lc%&zbNttM#v{41(AV7Sms778sYlUovndE`X;+C3CoU=FA!BLJ9k-}Y z`-Py&#AHN22F~Vma;?64gD%Z+S1N|iwL+2^Q6#N|^EpoEeRsL6Jf>b27mX`_^Xeg~ z$eP6Tc)n)Wp7kc8iu^^{_6J)3>uBbO$l`Cp@PCLE{znd4sRAzR9Y$QO=ADTcEQpH5 zBrK$|vP&t_Jo&QTA!*<&08HW<--Qzx^eVrjR+oJuA3tP-j;I%7108$Zjm5t z(n)4~5dIj!9%dS}Amr-sgMm#7Av2c}<35b=cui@JXr4n1%|@qhzwzQ`82p;iV*vK6R&9n-O=;nPp%(^`;gQg$OfAeEA-DnoY$yD22PGV_btriYQ;2n3a7ar_ zg!B15ps-7i;)^H3?Y{37eNLMK$je>1n-hjK=9N*R-iO=fwNL;`0@qpF#FPLXLNv>) zFnk)pSPrZ3Cm4X8@;WZ!>1`Z!V3WkgV0JJY(Dubocp*p!o%=E3(^BPyH%E&5ZY>7K z1-=yk$c`Y)+u;Dr;$PS~?frBZPl?{G;%GWZ?0o5dz5_OkID4Z%mUb{$`5LrG6z8YRDG9M z;O_g%LUTy_QeUQJA2yt~=fvd2i9Zm}L*yBzVC^_ngDQ|Ns;UF-#50!nKJLF-zQaX% z;kGmCfK}jo6fHc|8*|xkb9V%7?D^sNJsOB_5kGS`u$*9OT7FgomKz4pQ7S&OArE&s z64MqY>pEX${)M3frA5w7rOuWB+XasK7ePeuXWo5r!}uajomp!CiE|{x!)xg<{?OX% z)LG4fuGxZ8zP{%;())Gwu`#LxaKA)=FK1Uhmr?A=^C{Bm?=h zVp3Y)GACWSW*;2q;Q0|+vx$!m*0d*i+jv{iG%t0Ir&C%(-KS;`arNG`W3rui&BQ${ zi)5xjlod)@4cJ6Me77M?Ae1xPbz)NO_$*I)=PHLFMuGx?co=?Kpm0Cikwba!$OXS2$rD z7yKJ|<_xQggWNU`Z$kh8b|aIw-sLP~X8voB+tYm5fXynQ3(eeP?ECKOXvj8FuPzP4WEiptY>LfGD2 zU!)+x^;_w5d*P4NSwhUMfQtdadsc!=sP3iv&z?3)H|TQO-Owb0;?3T`thE9dT~L*X z_H6HV2=Jl#H-6m^x4^Gm-m{(O*{Oz?mhg-$g(8wL&_Hk+IvTC1&mSp)JJ|813#u6~ zzPj!eO%z>=UdDiO(IA_gCqaR~W}AFrK` zR`vHCGEHm==ZZu%vw`7f>V&C+&%dzy&hFk@hoIKHQhXW4HxqEtjJJ+Q=#DjC>0@0_rxS-t2!OZs$9hw?3pu+U2ZECFaU!`}YVGSQ^;FzvM4v zs^vqQlUTZgc>%lo+zvjwAAjKq+li}-f<%EU@WpDuwBUW{liM(s<=kP~>19lWHov}; zM&93;ck?)3PSOYp8NeckhU~^{O%u=w(a!N9z_JTq+N$o%#6YZ&ac9e9PsNP_q;z}u z>j9CRfY0H2fxhdGZiC+OhlcMS4!;OqJG`e=eezFa9N1mAJ=xGThrefg!(~Y>2V5@x zxK&+1qotoBCrYS^PV-KwwownJx}HSd_BQIV!4|!R)DF;;rkVF@X7V)4`Yem(M!}hc z1X7V!B=!Lg^c3YpN&phCfL`$catO{JNPUb-*gtw;KI}rS$@7Gg2A-29)Z3OSn0C!;pt<16P#AU;YJb2=PP=T z(brG=8~{f7m=3loQkJ2}AK{i7V|}?>xhH`LDPDg*^5V5ijmaOnI5XG~HvC!=mqkzK zIKStP&P$vC0~*qUChU_EjKwqH@_6YitAe=vTPJm$_K!lF{P=c|s7Juq;=W1UD&S*d z%Ywy~n`9)FfjPbG1%Kbl5j3|HTiyv|&%7;*UrkOMSvM=ZA$CZkT+ha`GK0+;Az_(l zOI|BMyZ_6p2M~%~5j3U}&+Qx}Wb!A9qTG9_Yo?(5G3S|_vu6usES6osX&x^}srKegjUg9x-& z*g(Zm*g7Kx(TRuKd#d({&2+#^`!L?@+=5Y_Te#J|;@bPbZtLYzRy+Q+!NFbF!Dzak zxx?$8MT^5^q!7WC>A`i90ELh8f=Z#y0_wcZcg@1qH!OTNUPv_ZI`A9A3Z6EdSj2Ul zCTey&A@A!}>jP?vDeZ?;CBTI|D_5=ebw?&+VU77rkIxAWL8dkY!$VwSdtpjtu_r6CFt7$WlpH|^w z)Nv98%xLkhHJD7&wMZQ-5*ekD%%+z5=dz-Y zGo$v&svEXk8Ck1vPsDd`gccTqZqzwVAsbH<-z1S64U9gQqXEkS|I8XKO~PiEkMt`u zIG<0Sp^V3XKyT$(J(E22v;y&2vGld9mOcJU~RfOLE5Q}+u+nfy5 z#2>=o0uHe8+w3Q>yepR6qEY77k=a?|YmIUW%2dLBnC>Spo@0)*#K!Url_@LlBbpix z)g;Y>0uSqoi&~SKmu$gp!Qw;SQLQ}Pr(W5`H)FCci^6edb6JVnnMiXTkySA@%`i{U z$=y>@{$d?X&k8b0ojrIOr+qxVvFq$d@uh^;Tg2Tc{84UTa*bZHL!5gdn0TCdREl?{ zn02}r;<@|$PB{B{cT@%ea4xTn4toZT2;;G}rjtuR3WN(A zkqTTt^C8JLY3KI@*zz}PdOuv;$ab8$lk$Le$SLGen^VY19XQjfcoJ56JykW5j={O_ z*l`5<8#WV(e~AhIbjFqa@m+XZ)3e7YGp!Fj81q$g)W_p@UrZX|hm6bCXuU6@5MHe? zFK&5yt_EtyS;wgch`Bq6;p`Y4ON6SM+^CO!+&>v;i? zs^)nU&}>@&@5a#OlYXNC1@6yeDmG6f#HxbJ(JU2H>P^%R(bIR?Lph1j4VNGI=4#+? z9U=y3>7><0WFGZ@rq(v{g=elqJ|;BrU?gwNfjJ^~hVl#=rrw>uUI?DUmO5Z;S=uMq z<_f%PUsti&(eG|+j5^w_&A|8xrS8z}h!4K$kKJ(h$X#d&8M3VgA0ZgqXI*do9W7YD zRqOW9n}5qpZ9^a9TaoyyoXat+uC~c;%-U4lCvE}pm9WIO18r*M`Y3N%$BKC85I`-a zRAg6%71(J#?k-E4U`G6QndWF5=lPLvL1Xj)^&;Pw3px$HUp<}w_+#X)&ImsvtdzS( z(b4n#9#jXRn414gBm*>^seH@Q_tXJ6Oe6mFosaqLSDbo3;%}Tp^!Rm5woRSHfv&Je zX|R%f6>SjvCFc-Vx8&P%Pe<8u#y>MHjbdW@9oFKyda8@b2$Ekr1aJ)E2G#O)vZcCn zW*_B+7X|kChDc2Fe8Qq^&GvOCjNU{1wk^fw*@3mA;d0(*PTob`#oZJD!%1^IW zh~Jqh=k+pM-q~toe0$Xg{ij8srp>#N%utLM69qG}*~v9n{u^7EEByj#p4w0R7`bJi zbd&wOct5DIe>TGVg6v1o%d$SuB>T1P8Aw5FJUyIb?f;@s%<4Qnp`wt>evM+uS>I^5 zPzhWYe7;P03(;PkrVio=C}rPrloW#e>9m(MxSbSAO4c7CbP% zt7xfS{k>p7gYXk*IOn$NSVT8p1zT;3ZRYLf6U4Ym_+*FwU()bp>i@~WRzO&1cfaTz!)O@yWXGaG; zd0jh1a9}-{>`U6N?R#Ch+!#zhrZ6=XM+}YP0ZGMjNIkx5YU9zpy8zE1x0g#XxEITj z3k@4bxun-|``1Ud;W{wLxdUe-3zuigO5VPi*8I*2FVh(e-l zN6Y)CF@$m-$UQqbD}EitdkQ4I+=9QEKp&Y86V59{;_i`43t*K8h0=>r@~u)+;*?g_ zR2%;!&H;0BnxK5Rntl5?ioS$}28?|Mi@s~I#`Q@!(5bbAz!zU)(*iDTkuME;`O5g^ z{(Vzn8R=R4Enp%0P;0GoOlmNBi*QwkzRrt?;g>U4#NC*(j%Oovx2x;Be{fat=mAcE8+x8fo#RPC>& z)3~akQ3$~Cs3u$+BRi4p86N%?eFRe~w5nmvTcrL-LID_r)3%VPB^sW@pFAh5MR`e!1dLs|)&*ji+== zrM#oGy+2GE6fs9xy&Zg}Jo(zyHSc_ouEmcy?IXq?KwE1=u2oUc9z4vz)3@V#SIeEm z26_HnH_Hy2%U{?R%8lfk@VUs2z3ULUT}b>&#gSfTFh!%9Qt-((KbEy#YWsTi8G`TT z{m$KeM4gM}@cj<>rQ3+e{yV{yqlTwfwDMCYb>&`G_+}&ItDWNr;x{%x*7=;B5HW5_ zd*7V(+OasFnU69U4<3AUu-s%uZ`Q?@mWOXwzQ?ILiH|m(L?HNb17!h0w?ih_!-ff) z8{LgF_rjh+Y9F0C@zsln{gR9XQydNo65$xNZ3SnLa@KVAC%&@NYkp+a2{4I$L{u^8 zVozuF-mT5&>jYx6pMw%?5Z*5{ESoJ^ZTk)I0MNwKJV=j0O3MMiuVmqO- zj8G}!=n~C10xBPTfqDOytmix011VArzh|6cG=a9?nDCqzQ$0nPvL(I^e6e?aqgTp< z$pDwB=J~Qpz9svV3M7!LcyuV8iH+C$XbT}oVhf!IY|EhK5Or)Za8bmu!f*nz^_JAz z+fbcj1&DHd?UY+EX3k`1f?6<)#mB0EEzi0Sxr!JsUeKe0E6sL&82974&EuS>N7lxv zi)9qkvYDVM+j!lcEqxiUPw=%RLGbQM9(aCM6kKub*ksNLd{IiuBsqYm+gxpfe#biS ziQ9pPJln@b9vSir+Q$ub?j&f?+PM1VbAX11YaNxu>UU+n%E;b+@leAnU5&;d8{{tT z^C!&wOP#FM1V~H6twQypq9@26*zNXLRF6mNO9wi1H|jgnwSlKrj_%7lLzr>e#Ftsw z2DY3x>fJHm=gsA|@Za=qDB@(yhizx8O(9vlv|8b&Yy-z`o9q?r-(}-$S%64I94ijD zmE96QqJrw8RLJ=Z!Dgk0-n>FR2Ei0G>G$c;`E%N7*BxT`T9oy{xpQ?bdoS|m^W4mo zxVpf##gZJ+o86cky8D6N95Jn7nd{r5+A%^$+Y^X&yPCf)|q1Mhrh=;XwNfmG=H8+q4WP0BKMg>uy z{6~joG@H5lH*0I3V9CGF9`A}u_!<`B^vQpB+$;51jn$98j_yAd!{0`^#Q02_Jp2q_ zKCo(D3EP@acx;%|KASwMmJcz!cz;y;fo>c{uc7$3^d44_+m&6d4cXkVoi8m7srO=` zAE2!C*-y|$75k5@{sJC)5MT6+)Z_60Th7b*Fg-Z6Zx)gwx;$Jg3QqS=mdmj~z6TK5 zl;)No*lTD{cB`vw>4eJUKma4>W*`S2<@4SnE?n;WM*>H8RQ|e7{&@4loi86{HsQ}; z_!WFX{I%#q`eBRMd&ozAMw|BOFxG0tN=389gvCT$wFK5!VCFJRIxT^HaoRKR^lrd* zj)Qb5bnEz?Di^ZF$jD)M2tTYAHIny$rMTpe}3m?I1jvm(BdcL-{{()gn)TrMmK|JkrJa(NaAZ6EP z?;7?fz@AZq&5hivvd*zQC5a8gB+ty5)HQPS({f-6!lgZp{r0bnBN;74wIYnjk)rDR zq^YmJHfOFLyx;x-QZ<}>@0&}s%gF0@Wo^ed{&&MqQ*W_$>}y3_H06G1PI$mS#|0^l zTm{OBPCcDq+Zeqw*T0-pAZY`cO`+6DX+XySn`o^TbaHHD@cx@UDyP5K$;gq@w|Htv zg8DJa^xe`uUEKu?sL(Im<33F?DhP<`8NgfFani(G;92Kti9iqh=@bRT?Zo_J9&tI0 zF47wuD6YaydF^E)1`@aA*w*E*Us@|Dd;G<|o*>@hD*tf4){G8nlIiX0{?otoy;kTC z$86_~uS$WO3-F;~Qh&chc|c#!_JZ3#*wz~s0n^hWvMlpTUlU9P>9DOU{?D=*^Bvm> zugj+)zk_nMz5e%|qq-B75m$hs8R1rV+98oMg=8?jxpx&^Ol}r#s04j^=D6jBs4Bpe zy*^&VCOBtC=DDV#$od9;QdJ3Ret#?9e1h%O_Ln-A&0ov-b!KSQHVKdvv`hs&Pt6<^ zr;F0#N&&aQYQQ>aK$OD8b^7?kHZja~=;MoM==s=;& zeNlH^kvlO}*|qgur0q8IMLrq_BO6SX1I{Fw9(!?tB`J=aeF(7b*AIby@FMZXPWQ+8 zj+WYicTA*yZ5U%M_(*HJTne5iYaPHn@0~p^m}92^H|t{ZNO8n^(TEPb{ca8Q+R6i8 zD!10rx$C4OqZ}Ibqi1uGb*Bs&)OHVg-zk0WqMt0S%(K5fV0>M=U;+os zfQ-Z^O%-PZl`a^6)58Ao9@4>C(hDL>yuAOS561aY-78Wn=mwamF#&15$;!^Pwknbfm{M`c1T>B2#NtRz}FpqdYci=tqD;rN+ zVu-nQ$B2HmQ{19{{CeZXcP6r5>hP^J?tW$mrJmYKtKy`rDKB!$f;&Gkh!}p;RkToI z^SbOl-A}qUaSQN-kv>q$b^HVwp=)Rulf>TylO!N^4ZVl- zMCO3e($D zJ^wcpME82YIl9yCO@d+hZdH#zOzz4H@O3Q)Opl-+TeB-ZJaQTm6C`s>s`tzv@TH`^ zFcg0l{ViDCk4uY0??Y$h-iV5m1ZA@UA>h`Z4$SfkLweA3z~o5D@7>7Go0Ufv4tw;x zfd`TH-e0#|tzTn@laJ5#6>TGYwiPl@>Lv25{2wOFZ{GIEY?f?d#(4irbF;0><_&=XLoW#(ygYoZ}XMQ3@oS>J|A0C(su}o(zbYc+d*zhU|}L z06SDXq)(~Ou4ij#ls2%m`;aikagUk{}>LtNl>F> z#XkG3Iw-k$cXxtS?kszXVoP(V_+A{y%pA~UWvzpTz0LC}T*J)s!G<3OM0EEB#i|2dX#*FYb5BsY-dSy@pcVPFuIOb7m* zzv!~R+;k?KATK~l*;bwKNUX;1Ia7yxm$%blYRbK+yndSv6J;0dEBfvPab#lkR(S;O z?AVPc$YoqR>^PZiFf_}W_V4s!um1N1I!7SOQwTUdTs*4iOPTCZHJ~z(b?LM02-&S6 zrFF;YVTtNXvYTQ?%7!^p1cpFe)<_NiZ3W7 z`fFvh!3_Ok!PMxMvcJ~{z5(h3G3gusUZ0a-i?r195ir58FFR`A9*_9yc;JT`<+`hp zN?y6xGZzU;szwe&LL4({_rQj)u0{{SgZ_)cnD5*x_P@iuyua+SVqss=CZbS=2VZC^ z=HCzh4fjF22P2+WA9Z;?fpOtER(=M2C%A4WrHyOmi>TS|+N-&V4+nVnpFZ_Jss^2! zj|8TVkm_q!1692}+e9t?$v^%by>d+^G0S>OBMcV_*U29US1HTT2)sQq@NB1m@CnKW z4;0gR?8j^N1O9E@{Dfbe{ZGsa2(TI%xMY>MQ+VYqc|82T;zeZqt0 z%}t0hz?%VIOc3L31eg`@2WE*SeZ#CL#6q~OMu7?S3{V_q#htq?dk~n()O8Gj4?JaG z&}zU4p7}G``3pMr{Y!Mxoi~usXPXnJ)($H}nZJXUFEFg^O!QyjsLUR}tbxx=dh>I! zq5zJFRnL=;=k@tFsj2qI%5^&v<8aj`p|!A6Unf18-Yu5-; z0S5_`P~Tkur$lExEzH{tbUq+rQ=%@=%l(axWkgOxUCTGp83wAb4K0f$gJ(ypBhLNE ztuQ}vD?zt`ZK0ge1L3ABLn^^omf4sss^B``;no z+2W6PB*rmz{(8-@jwJGME#Ye`bsuxc_5ED=@oCO=M3;z;t84f}MuU)b2eq6!F7i-k zp_-!{Ib@e~spwPwL{Q=&PvXa>2_C>`0i)T}=@LgWJ9bgSRrC<7>wyUt|!fhfy1Z?z<1Avm-|a zZn@Nz+W-1W;*+U|HSQk}cqMYrnQN$lZRq`KD)bi;liAK-_(I`i!V%;cJWeW8|HGU% zJt0(KOTx;~+Vkb*uQwcw<&$+OFl|qLJxEsIv9H>nSW3y&13Dls53QFwz5Iyt1O@vNG99mf>PC^ccn-boKMLHbK~hR}~NDmmr5b8jH$~&O(l} z(2j!DqQxuVHJ#!Z`EggUNr2@JYf)TlR#)#G4%8rdF>8$97-wn&o+?1?BD4nF(skdx z@3NcubpEsD@)=n2-r3_ArDH{rb8TGs@_yem^~NAeB(i_)@Ck#dc+*7~Tx^}txgC-J z|77a~9K=Ymd)klW|HK?ZoMvfbK9O|G-pKRoM(*8kNNp)@g@M#@snOMCe#VkOIzPZ@ zs+fC|!gkbx01BL0mBh391mh)i? z@*I9uCM`@5Tzn%?h|lD~b6uKM$9ez@-Cq+cl5oX#F;+R@gc`ya7!`GC zCq_(tO6qp7_B?_5=voc_X0mYd51ffzxb^}e;(KA;8I2N%Anf>)u?%c_Ba`_IbG2UW zKL>q(SF8Zml*#@6`wn%Jg;>u9`HUyX{e=^frYt>KPBE$7@n0C) zR38bDdtKg!{XrT39Or$e*&~#mqNBd|)VSjTv68*M58e3(aY8r$QRoa5(U%|5BdP>i z5U=Ef1c^aVyYquL$z5#(w+CE92Rdas>wib8H&nbvR4~!}^wNJQb+#nh-UY`%#kzU2 z-@6~YMzayf5txKFC7N={X~<3&>d3nodC}JEE+B-yup084O&NT?M<)Ew&~A}D>2urf zX|CEji!%8y@QU^mUOiXr#fE&VvPS6ix?yJXd@Rd-do{2RFWdUN`JwDsG~x9_+0YMI<>aaPCst)T)okTI-Ut6#q56??{F+4p<(=!Pk5Zq4MBbV3Y;N^+ zYXdpaHktZMgHsOO>?Qc3&mjyzP#>~h0|@HVyAN7&vAdpv=9RzKcngBhw z{a!MViY0DK_y;Nd1Ekq+QjEUuTw$yV_!UMOOFHrzTxthDhw}e5Y5DIpp8AtM0b_5) z*s1o5o>PC((%0yfR-dEbg@4fksxQvK(o6OrfD!HwO#jPpZYiL~D=)@!Hb2C2`a(a7 z=h;g;){(0DX!XAo0sjjTeJ4faZzB2wU>n1|Jh>ReMecO9UzKKjd`*kr#k~Kq#tT2o z=aF;KvVUkzou0PA7e*0ji;>k&U0~Yj9Z&xES}$;sU5N=SneZeOAV27vb~pd6@zkHa z7kX=|P^^vnd4#SFI4tn=|CMC^Ki+y_?_0#}qMF_f-u7iDhsK0`XXOD6YU4s=7-iF~ zN$D0^5R(NJY7_ zd2jsljQ0fq4TS#QNv?Mx$TR{%#`PZ*l?+Wg#7)MF$ow9mkP@1kGyqGU zkVz5d7ZUp2k&Bqf)lfpyfCwYyW;<|(e-qH%-y}i+`mO!g1ID&(ExhPcJu6+@GpQ={ zKf}=kQ;F|QMW$WOWF7dYo`0{1HE;70T>Ajo`!6i%o%oDDDovXf*n9Jrp&Ywxd&k*; z$lCEiqUyfCv88lDpDlB6Z}JV)h3rn+m4AUl|J^VSP{{-D?sp|UL?y<)+9LTp@bkXr z8kw7y)>zp8kGG*}a+kz1rQHvEi5({fw73rJa01L;1d)Yo-jCwa|3EXURgxk4N0~SF z-H()n{to2KfgrkQtU@9yqWhC!kkel~QE@m^fb;#Bh;S3E`o=#btbx`8Fv`k**9GtI zahyiH!p>e10Wd6f!rO7|a`4v@#{CZuqJW(a8XNYC?}(#JjC4CaWr8$N5ba+#!yEoL zO{oY0DS^-M(NDX}zGR=eVXhokEvs%xO_cya%WC#~Th6L{NQFH9*Dq|N1j5O!ItjF&#Oh3Dj#OoIMIf?h*6PnD4&1T#+%U3VpQO{~> zz|N6(K8bmk!Uy(5e8;2}KPcbSa@1QPUe=Fc+|RxD{*tj1XRPwgz&?@d^eD)mAP9Bn zs(>RdYhQ_5@QKy`BS{hgNYV%?efmGP>zwz!*ZXsOD&|sRo_KNnn_tUJU30MN;$dj? za)-a04*rQL;q=?UGQZTDdrhyV@0u4UGn9uPswQy5@MCh7sSh#^S$*=^QD8MR_|F~k zj&{&fXt!$Ja(RN@REeh^e2e0!nLal11M2r&U-UzVW>=nSA0MFnuSwr=btXW~i`R1n z<3PME;~HH?A3`4FQ@8|K}^^h#i_G25wOL7_pGPC)+mCZO0Rlh;6-E?oW65Y-2@ zTe%MqUapK~@(w@o00h-J`NoJ{&jU)9{z;dxtffm!14a~VqkzH?LsWKwX#BEw8=Xgd9K~~K8F1NpEjL;hHjg2T7#xHCPc-7N!9{Q+5l2jk;7ln^igkdV``Vq4I#${a}b^jrZBQh+qhX0G+ zoxfyGU30_l^qqtfe`HR7q~%n9v=r#E{9jxExdZH}3iZF9p2Pje^c=76l3EHsDbu|3 zX96`J%Yp^kR1c<_S^F1$b4F==s`uX}N&hpU|F>?If6OT~t2UmLoeC`k4a7`7K@Q zdY14gAVXN1>$=ut`x;Nzb0vTF69$rlMZ-d~4@EqTf$ZS_Vq4+fq(6EJ$Az0L|2t%D zoqEWVR58{1;ge8@i=phPGF1Jtj=yuXRn>2F^b zy;;aY0(O+KrBIWIIlJQ8S|D);v{sR0dV*{Jzv`|$9P0gTcaEY+3K6oj2ua!{TPa5f zMIx1{qY}cgl&o{4N#qz?$TpHC70O_&GbLG4#!}YIgfxjU!!R?<_I_q0rTSIpdf)4P z-~Q5dxy7p{!d}Zw21TXx25z%3s zFR>70M1LXoATSGFF?J?vo#!ZU_Pt#=Ij{AL)bkX1GO;Tym-wFqpJ5ySc5dqqSvu{6 z;(O-H&kY<#YG>nspJ2(386PJXt(;^#QfE_#Eu47GhdG8QOAa~0d`pC*N2l(m+~JO& zadU#&IJkcn#>T7`p7wG&aifPf-PVeD95^HSY8lG>(hXcQ<=oiMDBG_J)QZ)~%zvis zP-h*t{zqPQH4#0)j$S&ye@jrLjhco=!sT;g9AF@AUwnM7n}Bfk@QvU0=PPi)pfaeg zfZ*e_=`O`=1oE^6YO6^Sa5}n?M&jx!`y~=qyxje*(zyHIVV6UyyG3O&1~}8c+s`|0 z{C*BD&PQ39{FV5Vea-&hGXIO{Ifqcb$XcweC}KEKzheEeF1OhfbYLRh{7|{xWGc^I z_O&y85c#o#_hQOe!1dPWal}$U^evD4MglsIT}{4 zYPINdZvlVo#Nz5laWizv|J_XUuI7Kb9wp_L95puGw)-Ub_LohW`0M^=GWA*uXSlh^ zW*x|@1j*>z3iFZnKT{h22?`Z>aEk4>pBK_;wRu$({9u&Mt#k z!0p*}wpG`5mzOJgkV>o)R@@Kzx;k!i5uE%HUDaL}t30*(Pub|R^vU*E%d9zbuIjsP z{&Ug9UsuTY)-r7y>#U#M?2+V}kGSUYwsW=n-0$YgdV|FD>E2x~@tyz(D4y=xeXhSw zVptlwV_QSx=ymiGwNa36uLdnKEXgi30NJA*U`%kbk(~MbYDmQ5de-(EkAlZ3CmifP zxUF@fMxjZ}lo5Z@DI8mR*)zK(;)*`zq450fQ^_A3dMvK-)8#Gwcp&)xGcsX`s&Zrv*1u@m z1(-sHN^%Dh@|RD|Wlxp0QFEFeR}tA{+CX@QkUv?rfmeX|U{Y=B|W(n<6WbRk}s*f@0TDtW+v+B=qdh>lMW3r4}(iP965~fpo zw^C4l+yRA*f-%T_4#;Q5er6&UPC07?xmZ2wcJp~Gs72-ROqeg~XA9-ossG0F6bw91 zGxINVm&ME$%M;N<6(R1vuk^0AQ}3)q=80U68HxP?d-^3WCeJ^vA{M+51o)cw+lM3Z zIkP46{TOkDZ53*t7RU4?0_*3~N7@2}vj49A4P(*hA)63_gJV+#zpd9BMTP{6LD3{l zU4&i5Xd>h^r+J{ znNCzcZMXyT($4@dE{gax3FD9+wN&30^xLKb_pU^4eas#B5S@uEu|$J zTuaYKg5+`D039!E?4zsPD-6HXAq1rYLc?;aUkJZ_2g2vZR6h>Md}kLHt8-EPMTA;+ zXiYA%{k-*Yo>OyX3D!p<<(PxOb+qWFX**+n*`|pZn5W6x?V!-8eNHpY3{a_w+h79> zD?pF1t^`vH%Xi2Gme)U>8FzsBNp`OJ>F28ESBF81knhM{C`GG1yz`dJm$Q2~+G3gz zZ?l8#P_|@o@xQc-|DYaKhvu!cLI&k-u|K0?crka?HwIqLyU5S<^R~E?zQ0E5<3<^8 z{}}fJF%9e|5Q?vo>8E-*?x5b)>`7s>@4?iKlq~LEnWIb2>&X_Vhb+9P__k>C<|N|u zW|_S$ZIC`>ZlG^kW`M#k?Xz-Oe&w6%9A<{}oahnW&$a9VPL}hEP++-CXs3r~u*$V{ z96awO8_k>rJ?y{)W@^5W|hdM|{y7huM$^cM0slQ}S`*L6{U`&28Z{$#DZGwQ{J z>0q}Ehz7qpGq!>?nSfr2wEthmpw?VH;6UX$3ySrSPDt&Wj!9Tu8=w5!9b7qg3oNMP zF5%NSPw0B$iTYNb_B&-K)Jg?{)}T9G#@InlnPyn$>HFto`e#7&$uXV@Hm`Awm_Ndz zBsKT<%3N^$QqsvxZ{15oV`?sOU=g!sCq^o7=bj%Cn6+oC$`AQcB2L*w_mS77 zvu<&OdP(`-M^${OscC5<-X-~k|`kJ3l0Q#t`YrgYFL$YVLk_slUh-F z_sPL=?`V(Wo4Jaa2L-{_Mw-1;@Upo4$ESi57-t)wn{2e$&{wo{=SAc5KK_P{t*;(V z353ZHA~7nR*@3nnpmL6(82$poGAiL896eH}rAW_hye4EgDvu?*O7~D=O^A13tIz$6 zq0zk&K9$$AjGHaicgW>DXh=QCS%Q71v~!gCvK!^Zc~Jv4iO@>V_qOW4u;V9s89EWt zRDzMlYcqpT)JcgyV-#x+C*)?AEzr?Dw4&Cga8lJj?npUmjxsxl&Mtsl zt{fZ34NDf2Qf8=J#LC)^cy#Zw> zrK2&lA$-+>Yt{#uQy(8Syxm%NEH{})U0-byreL9j^3hx zejiHRpSn`1)|Suh6uGD0`^;^AwnUF8}=c%dSNUboEXFYFSN@%f8&dH!RdRwNxUcLO3MXK*6w#^(%zF$+Lw8EYG>6E<>w@wky3a+If5cx!2= z#`3B)N$lVHLdp&()-&2Rsbd2L4l*g5Yw$|otM#_+>z_nAhLWBU++4fga>#dGVHa}) z2pcp9m5xQJg_};c%Iw?VfAz&(*D~QDtDaPpG}w`aABe5`$e#4`<_mqCeW@d!>g6V; zMs92&iJ@BGwiK2S3%SF0&NkpK=1uCkitv89TBSgtagn*D@x8K%XbFv`>)hcx$Yb8$ zbbodfhLw6i2AQ-;mV)x7mWOY)U-z0{5ML=)Fre!fCuVA5O)!Dx#Ww^pI4(5I2|+)9 zhTX{B7rqy>U2u%Fr9;a#{WRNE4}FkV4!n~;<#xRB)e{;{FibvZI4V%dm?aX_DAH2d z%DsZ8vU%^Am~25`+w^z1*S>n)btz|hIH|&KPe;myK=&3Cf`%W8QVkMVwdonJFt}`` zA~&k~lro}xIBBUJJjo{iS*HyB1PIJrm_~Ol8^^nM`mL#CkH^NiSzN~~I1L{!KRKZ{ zf0y2VnwgtFIB7&ytU$gX_!8<+;GWzHAxrHlz^b^kU1b{TXut3gCq_Yq9Ffv=O6f}@ z=+!?7M9M1Ff$H`n$MW}`CzW))90@P&!`Fb1#@-PSaLX&364Ga=;Fp14aF4U9X>w1Q zH}4MR%pa3l{DgbYy^T&VwDkScxBVkRVrEfnjM`cM5~kW7CGk75 z(6B;Hlkl8PN$SZCI=E)p?DS`lUgX*hvPf?y7T;62*J$%!wQZ_uqwTx7_@r$y1YPJA z7@5cNxviml8tz4OQ-@cHDUKop)zh+Rwo~C;s5(F)jAaS<)sc_cXL>3;>>xr#~aiRJ{>w?xuCQR!tOlT=U zkcm-g?h9dM?o6M=C)~zVDsc9jlZwV~TJ)}A2UdxfdgFHeWxuRQ{ew?nGQDXM3=xAP z@QaAC&keE`MjM97jmmeW{}8Pnv+{91h`6eiO2zT=dAPU@vu;xq=xdN%ZEZ%ss7J z>Z=bjx9hB9w^KvmF(fq1mKoZ`g^j76CYJgmibJa?{stB@j_1h8vr@AT)88|F?~`*- z>TXbGIQ?dqB*6dP*eb%R;NFG`nNTmytmsRTEZBo5rS$>*I`S;V?#C1!S2bw8QLrLYaxJgZt`Tkg76W;_)h@8gO; zYc5VL)lc>~((B2;0nD}G-^ErLj)+^mn^-LyG<=41<$NhNbzom>OXt0TFfFEAJaBZP zojTv^}q{GKb8_;Pb*TStcCm_)3kIA#-!h$#q5aW8iN22u#xtKUQn(*c&S@C{FH(SMz@-q`TLU zs+swsE0S{u9{s?WT8DuZ9u;Oz9{-S`xA!51IvIJxqtE#s0ElAm<1S9#HOEKY>?cIT zp-E`;!LruLy`yUYcbP`pFTknt_x@4g10jSD^<(}N1COThz*{{-!c|XJbi^^LQ4fP0 zap)%Y1brwKi`!fFT~7mg@@@Bnz0#6&DbD4X^_(c-+X79o)Lj}y z?bj#26Cxain}ems5>{+MgyN~egi6aH@DR$l4!^2ZZ1-J0M;thGDSa*5vUkDwxSdM2 z<8YNy2f8+6c&lwFq1F}R%m6c^$|!Ie_JZEAPIZs8@&s_U(H%rc^vT3^ONFwDef*Z9 zFW97fa;Za~K7d1!iNVW```NgBsF0+B-Ja2*{_WqUZ<2522L~%{%}iniKKbw41*8Z*P^__8@#Op*i8X#zXljf3J+Ax@n{&KA; zZYHSVCy#b%$LH*!tUR~d z+QuSv?l$8GQc%OjPi|i26)tO1?=%b$$9#!N571C?sA)V~YoniAMmr+aW6acP6!rIT z)JO_X@yu{Em4V0issIL$xqzqGb4mZJ5yPIwNkywThvXGcbyAC6SGgSFgX+fb8pIwP zt_aXQotaGUavHjEjVNoK)RnT?n%QlG*9*g#LLkaLgUnlBlYQv#li`u&SxUws8eq@p zJ*5W93(5LDtqj=3d=2sv`;*5;#PBuzSw0MXM!QUcYd6^bW>^}~Yv1F(mp!1;;I;V} z;QFr3wshvR)+^a-Z>H66{sS;JuCi0Z$7tLq$v=gUcj9A*E%jW85bNyk=_&6k^nH%f z^0-M;!o%p{q8+e#^A?^p+PCL$Uag4cyNQj7>kUkDPWok3ZS>P;X=x`R-c(a8-SBr= z8Zul~PAGtx3vKt4Dr}X_NeRwc+_*mKEuVUe^Zq1cb%G#rvdX8eUkv6RZjgkjaxk*l zb(ZuJ9D!cTQ^O~+$MU}ml+-b0?L(rR9P;nrK2~(-gqc4GfE#r>6pCWuJ?OS+fCeX1 zD?Xz9Dl*9XxJX4(&Vl8!%VK!=g!~epz)A3^(Zy~m zsSPjFe3leSKRU)#IvBm%H^Qnzp~s|G?3!m`_P(>g9cA_&oHnG@z7OhxpzoXiUxQ&E9DQYqI#qeMn{tHvxGM*;=%a3{yK#~y?ZAIab+|kSr1}|51@v7^Jf0|l zO5yGwg$mErfjbQ(sx^BZjUBB}b}fDUzN6eB7}aUMWu|$LtjPyB76|e*?p@;@ww~e} z6|tLI;H_W$+5zj4?l?GHIPTz6ilqkmmy6Tr)XLXZNfX0n-4(PwtJ+jOs2+LN`ZN(A zk!q0%E6zU+rM`6Bv2PqOXB+qJW~5jOBIZj+Mnx!h)@C5@Gw{fuuO)CM%*LP`q(MMdEi6|>>E4iCNOG9cCvqrEmIB1 zo;d`~*oS;~TDUey=u#FSZmnS?x14pUgT6F0vMFWxpPIT=r4)(HG@IHgu0_ILsx#Ic zEqc|ax~y9(Z%2`qeI6b45Ij)7ly+af#-g`d^+ys@m1S|DT$Pu)0jmL7D_}~J?5e~m zXom+8OE)do_2p}=2)M->5}$`|x7B(AbVKx-DACErG>XJq=fWLd1K`qEO*!VKe9E{8HcbhpePDp1}TO z8Hx`UN;fqyjN5-dh(^#@^0w?jLF5jH(9O%wQec$(wMv5hD*`}O=oc$d(R6c|WK*kO zQF7b^A;d|BTucG>oMNhcc|h*;7g0>U30HZ2=& zF58$AAFLGB+owbDf24uHnH+}@<^;5?X8&BVdLQi}q z?=Ee$44zSUP2S_}?0y)zImcDngl0jX-?x&e5+#LsSSB{L`uAVMDa^0olxgbP%RO$z zt6z**x$I7V;AIYjCwHGZ-YByF0j^nc87R&)9FDGV6QPU^d(V5SCvVT33zF}OP1z#( zAC8=B@A7VpjtLxN(&UoHvNf*R&=)6J^?1p&-7C{^+s^ocXB?lLtR`*jn-4HTPJB~ECfgxsO+AY2mTounC;8cKY97T0CvE) AG5`Po literal 0 HcmV?d00001 diff --git a/static/images/workload-management/io_test_23.png b/static/images/workload-management/io_test_23.png new file mode 100644 index 0000000000000000000000000000000000000000..7db6b7c684639754815cb44955030dcb5aa04d63 GIT binary patch literal 55687 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 X|FFB^Y!nMU8Qjcx_qNQf$1eOEWYVcO literal 0 HcmV?d00001 diff --git a/static/images/workload-management/io_test_24.png b/static/images/workload-management/io_test_24.png new file mode 100644 index 0000000000000000000000000000000000000000..0283559f94a7b0ebe16c409c23bd55c804f10fe4 GIT binary patch literal 48489 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

N^MB$d^%4| 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 literal 0 HcmV?d00001 diff --git a/static/images/workload-management/wg_mem_hard_limit3.png b/static/images/workload-management/wg_mem_hard_limit3.png new file mode 100644 index 0000000000000000000000000000000000000000..3e0658269e514f85acff00031af8b6b2e7ed3810 GIT binary patch literal 87627 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 z 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 d34)B|tE?xPH3eVX8vwp)VP&@3`~lAiK8j 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�# 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 Jk?HBn{{v=0rZxZo literal 0 HcmV?d00001 diff --git a/static/images/workload-management/wg_mem_soft_limit1.png b/static/images/workload-management/wg_mem_soft_limit1.png new file mode 100644 index 0000000000000000000000000000000000000000..d529b453cebba632c9417a1c6c90d7d3680920e3 GIT binary patch literal 41420 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

|q(sG;6 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 E0y)%_00000 literal 0 HcmV?d00001 diff --git a/static/images/workload-management/io_test_4.png b/static/images/workload-management/io_test_4.png new file mode 100644 index 0000000000000000000000000000000000000000..f533816f75549a0db21d142f70f6d470e7774c00 GIT binary patch literal 23402 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 KIus&~M*bH!v*>gH literal 0 HcmV?d00001 diff --git a/static/images/workload-management/spill_disk_memory.png b/static/images/workload-management/spill_disk_memory.png new file mode 100644 index 0000000000000000000000000000000000000000..7ae91c27fdf64932f7ef9eb006083928b2af5797 GIT binary patch literal 220360 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%0D@VXtS%E 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 literal 0 HcmV?d00001 diff --git a/static/images/workload-management/wg_cpu_hard_limit1.png b/static/images/workload-management/wg_cpu_hard_limit1.png new file mode 100644 index 0000000000000000000000000000000000000000..1f6b25f88cdf12ecd76f1112e1e67e7866330102 GIT binary patch literal 68580 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 literal 0 HcmV?d00001 diff --git a/static/images/workload-management/wg_cpu_hard_limit2.png b/static/images/workload-management/wg_cpu_hard_limit2.png new file mode 100644 index 0000000000000000000000000000000000000000..e8b5f7484dd099003f6b203b7b3e3d462871f1cd GIT binary patch literal 67184 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 literal 0 HcmV?d00001 diff --git a/static/images/workload-management/wg_mem_hard_limit1.png b/static/images/workload-management/wg_mem_hard_limit1.png new file mode 100644 index 0000000000000000000000000000000000000000..da2c723823ada71bdfb9296c4ba9c354e004774e GIT binary patch literal 53208 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