文档首页 > > 开发指南> GUC参数说明> 负载管理

负载管理

分享
更新时间: 2019/07/22 15:44

未对数据库资源做控制时,容易出现并发任务抢占资源导致操作系统过载甚至最终崩溃。操作系统过载时,其响应用户任务的速度会变慢甚至无响应;操作系统崩溃时,整个系统将无法对用户提供任何服务。DWS的负载管理功能能够基于可用资源的多少均衡数据库的负载,以避免数据库系统过载。

cgroup_name

参数说明:设置当前使用的Cgroups的名字或者调整当前group下排队的优先级。

即如果先设置cgroup_name,再设置session_respool,那么session_respool关联的控制组起作用,如果再切换cgroup_name,那么新切换的cgroup_name起作用。

切换cgroup_name的过程中如果指定到Workload控制组级别,数据库不对级别进行验证。级别的范围只要在1-10范围内都可以。

该参数属于USERSET类型参数,请参考表1中方式三的方法进行设置。

建议尽量不要混合使用cgroup_name和session_respool。

取值范围:字符串

默认值:DefaultClass:Medium

说明:

DefaultClass:Medium表示DefaultClass下Timeshare控制组中的Medium控制组。

enable_cgroup_switch

参数说明:是否控制数据库执行语句时根据类型自动切换到TopWD组。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

  • on表示控制数据库执行语句时根据类型自动切换到TopWD组。
  • off表示控制数据库执行语句时根据类型不自动切换到TopWD组。

默认值:off

memory_tracking_mode

参数说明:设置记录内存信息的模式。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围

  • none,不启动内存统计功能。
  • normal,仅做内存实时统计,不生成文件。
  • executor,生成统计文件,包含执行层使用过的所有已分配内存的上下文信息。
  • fullexec,生成文件包含执行层申请过的所有内存上下文信息。

默认值:none

memory_detail_tracking

参数说明:设置需要的线程内分配内存上下文的顺序号以及当前线程所在query的plannodeid。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:字符型

默认值:

该参数不允许用户进行设置,建议保持默认值。

enable_resource_track

参数说明:是否开启资源实时监控功能。

该参数属于SIGHUP类型参数,暂不支持设置。

取值范围:布尔型

  • on表示打开资源监控。
  • off表示关闭资源监控。

默认值:on

enable_resource_record

参数说明:是否开启资源监控记录归档功能。开启时,对于history视图(GS_WLM_SESSION_HISTORY和GS_WLM_OPERATOR_HISTORY)中的记录,每隔3分钟会分别被归档到相应的info视图(GS_WLM_SESSION_INFO和GS_WLM_OPERATOR_INFO),归档后history视图中的记录会被清除。

该参数属于SIGHUP类型参数,设置方法如下:登录DWS管理控制台,在“集群管理”页面找到所需要的集群并单击集群名称,然后进入“参数修改”页面,即可设置相应的参数。

取值范围:布尔型

  • on表示开启资源监控记录归档功能。
  • off表示关闭资源监控记录归档功能。

默认值:off

resource_track_level

参数说明:设置当前会话的资源监控的等级。该参数只有当参数enable_resource_track为on时才有效。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:枚举型

  • none,不开启资源监控功能。
  • query,开启query级别资源监控功能。
  • operator,开启query级别和算子级别资源监控功能。

默认值:query

resource_track_cost

参数说明:设置对当前会话的语句进行资源监控的最小执行代价。该参数只有当参数enable_resource_track为on时才有效。

该参数属于USERSET类型参数设置方法如下:登录DWS管理控制台,在“集群管理”页面找到所需要的集群并单击集群名称,然后进入“参数修改”页面,即可设置相应的参数。

取值范围:整型,-1 ~ INT_MAX

  • 值为-1时,不进行资源监控。
  • 值大于或等于0时,值大于或等于0且小于等于9时,对执行代价大于等于10的语句进行资源监控。
  • 值大于或等于10时,对执行代价超过该参数值的语句进行资源监控。

默认值:100000

resource_track_duration

参数说明:设置资源监控实时视图(参见表1)中记录的语句执行结束后进行历史信息转存的最小执行时间。当执行完成的作业,其执行时间不小于此参数值时,作业信息会从实时视图(以statistics为后缀的视图)转存到相应的历史视图(以history为后缀的视图)中。该参数只有当enable_resource_track为on时才有效。

该参数属于USERSET类型参数。设置方法如下:登录DWS管理控制台,在“集群管理”页面找到所需要的集群并单击集群名称,然后进入“参数修改”页面,即可设置相应的参数。

取值范围:整型,0 ~ INT_MAX,单位为秒。

  • 值为0时,资源监控实时视图(表1)中记录的所有语句都进行历史信息归档。
  • 值大于0时,资源监控实时视图(表1)中记录的语句的执行时间超过这个值就会进行历史信息归档。

默认值:1min

dynamic_memory_quota

参数说明:自适应负载场景下,设置内存控制的比重,即可以使用系统最大可用内存的比例。

该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

取值范围:整型,1 ~ 100

默认值:80

disable_memory_protect

参数说明:禁止内存保护功能。当系统内存不足时如果需要查询系统视图,可以先将此参数置为on,禁止内存保护功能,保证视图可以正常查询。该参数只适用于在系统内存不足时进行系统诊断和调试,正常运行时请保持该参数配置为off。

该参数属于USERSET类型参数,且只对当前会话有效。请参考表1中方式三的方法进行设置。

取值范围:布尔型

  • on表示禁止内存保护功能。
  • off表示启动内存保护功能。

默认值:off

query_band

参数说明:用于标示当前会话的作业类型,由用户自定义。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:字符型

默认值:

enable_bbox_dump

参数说明:是否开启黑匣子功能,在系统不配置core机制的时候仍可产生core文件。此功能需要在CN和DN同时应用。

该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

  • on表示打开黑匣子功能。
  • off表示关闭黑匣子功能。

默认值:off

enable_dynamic_workload

参数说明:是否开启动态负载管理功能。

该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

  • on表示打开动态负载管理功能。
  • off表示关闭动态负载管理功能。

默认值:off

  • 开启内存自适应后,不再需要使用work_mem进行算子内存使用调优,由系统根据当前负载情况,为每个语句生成计划,并估算每个算子的内存使用量和整个语句的内存使用量。系统根据负载情况和整个语句内存使用量进行队列调度,所以多并发场景会出现语句排队的情况。
  • 由于优化器行数估算不准现象的存在,会出现语句内存使用量低估或高估的情况。低估时,执行时内存会自动扩展。高估时,会导致系统内存利用不足,排队语句增多,可能导致性能非最优。此时需要识别语句估算内存远大于实际DN峰值内存的语句,通过设置query_mem进行调优。
  • 列存分区表导入会消耗较多内存资源,为性能敏感场景,故不推荐启用动态负载管理。

enable_acceleration_cluster_wlm

参数说明:是否开启加速集群的动态负载管理功能。该参数只针对计算资源池有效;在DWS集群中设置该参数为on并不会启用相关逻辑。

该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

  • on表示打开加速集群的动态负载管理功能。
  • off表示关闭加速集群的动态负载管理功能。

默认值:off

bbox_dump_count

参数说明:在bbox_dump_path定义的路径下,允许存储的DWS所产生core文件最大数。超过此数量,旧的core文件会被删除。此参数只有当enable_bbox_dump为on时才生效。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:整型,1~20

默认值:8

说明:

在并发产生core文件时,core文件的产生个数可能大于bbox_dump_count。

bbox_dump_path

参数说明:黑匣子core文件的生成路径。此参数只有当enable_bbox_dump为on时才生效。默认下生成黑匣子core文件的路径为读取/proc/sys/kernel/core_pattern下的路径,如果这个路径不是一个目录,或者用户对此目录没有写权限,黑匣子core文件将生成在数据库的data目录下。

该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。

取值范围:字符型

默认值:

io_limits

参数说明:每秒触发IO的上限。

该参数属于USERSET类型参数,请参考表1中方式三的方法进行设置。

取值范围:整型,0~1073741823

默认值:0

io_priority

参数说明:IO利用率高达90%时,重消耗IO作业进行IO资源管控时关联的优先级等级。

该参数属于USERSET类型参数,请参考表1中方式三的方法进行设置。

取值范围:枚举型

  • None: 表示不受控。
  • Low: 表示限制iops为该作业原始触发数值的20%。
  • Medium: 表示限制iops为该作业原始触发数值的50%。
  • High: 表示限制iops为该作业原始触发数值的80%。

默认值:None

session_respool

参数说明:当前的session关联的resource pool。

该参数属于USERSET类型参数,请参考表1中方式三的方法进行设置。

即如果先设置cgroup_name,再设置session_respool,那么session_respool关联的控制组起作用,如果再切换cgroup_name,那么新切换的cgroup_name起作用。

切换cgroup_name的过程中如果指定到Workload控制组级别,数据库不对级别进行验证。级别的范围只要在1-10范围内都可以。

建议尽量不要混合使用cgroup_name和session_respool。

取值范围:string类型,通过create resource pool所设置的资源池。

默认值:invalid_pool

enable_transaction_parctl

参数说明:是否管控事务块语句和存储过程语句。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

  • on表示对事务块及存储过程语句进行管控。
  • off表示对事务块及存储过程语句不进行管控。

默认值:on

transaction_pending_time

参数说明:当enable_transaction_parctl为on时,事务块语句和存储过程语句排队的最大时间。

该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。

取值范围:整型,-1 ~ INT_MAX,单位为秒。

  • 值为-1或0:事务块语句和存储过程语句无超时判断,排队至资源满足可执行条件。
  • 值大于0:事务块语句和存储过程语句排队超过所设数值的时间后,无视当前资源情况强制执行。

默认值:0

此参数仅对存储过程及事务块的内部语句有效,即PG_SESSION_WLMSTAT中enqueue字段显示为Transaction或StoredProc的语句才会生效。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区