更新时间:2025-01-23 GMT+08:00

资源管理

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

space_once_adjust_num

参数说明空间管控和空间统计功能中,控制慢速构建与细粒度校准操作中每次处理的文件个数阈值。该参数8.1.3及以上集群版本支持。

参数类型:SIGHUP

取值范围整型,0~INT_MAX

  • 0表示不启用慢速构建和细粒度校准功能。

默认值:300

文件个数阈值影响数据库资源,建议合理设置。

max_active_statements

参数说明:设置全局的最大并发数量。此参数只应用到CN,且针对一个CN上的执行作业。

数据库管理员需根据系统资源(如CPU资源、IO资源和内存资源)情况,调整此数值大小,使得系统支持最大限度的并发作业,且防止并发执行作业过多,引起系统崩溃。

参数类型:SIGHUP

取值范围:整型,-1 ~ INT_MAX。设置为-1和0表示对最大并发数不做限制。

默认值:60

cgroup_name

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

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

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

参数类型:USERSET

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

取值范围:字符串

默认值:DefaultClass:Medium

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

enable_cgroup_switch

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

参数类型:USERSET

取值范围:布尔型

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

默认值:off

memory_tracking_mode

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

参数类型:USERSET

取值范围

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

默认值:none

memory_detail_tracking

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

参数类型:USERSET

取值范围:字符型

默认值:

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

enable_resource_track

参数说明:设置是否开启资源实时监控功能。此参数需在CN和DN同时应用。

参数类型:SIGHUP

取值范围:布尔型

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

默认值:on

enable_resource_record

参数说明:设置是否开启资源监控记录归档功能。开启时,对于执行结束的记录,会分别被归档到相应的INFO视图(GS_WLM_SESSION_INFOGS_WLM_OPERATOR_INFO)。此参数需在CN和DN同时应用。

参数类型:SIGHUP

取值范围:布尔型

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

默认值:on

新建集群默认值为on,升级场景该参数的默认值为保持前向兼容维持原值。

enable_track_record_subsql

参数说明:设置是否开启子语句记录归档功能。开启时,存储过程、匿名块内部的子语句会被记录归档到相应的INFO表(GS_WLM_SESSION_INFO)。此参数为会话级参数,可在与CN的连接会话中设置生效,仅影响该会话连接中的语句;也可在CN和DN上同时设置,能全局生效。

参数类型:USERSET

取值范围:布尔型

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

默认值:off

enable_user_metric_persistent

参数说明:设置是否开启用户/资源池历史资源监控转存功能。开启时,对于PG_TOTAL_USER_RESOURCE_INFO视图中数据,会定期采样保存到GS_WLM_USER_RESOURCE_HISTORY系统表中;对于GS_RESPOOL_RESOURCE_INFO视图中数据,会定期采样保存到GS_RESPOOL_RESOURCE_HISTORY系统表中。

参数类型:SIGHUP

取值范围:布尔型

  • on表示开启用户/资源池历史资源监控转存功能。
  • off表示关闭用户/资源池历史资源监控转存功能。

默认值:on

user_metric_retention_time

参数说明:设置用户历史资源监控数据的保存天数。

参数类型:SIGHUP

取值范围:整型,0~3650,单位为天。

  • 值等于0时,用户历史资源监控数据将永久保存。
  • 值大于0时,用户历史资源监控数据将保存对应天数。

默认值:7

resource_track_level

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

参数类型:USERSET

取值范围:枚举型

  • none,不开启资源监控功能。
  • query,开启query级别资源监控功能,开启此功能会把SQL语句的计划信息(类似explain输出信息)记录到top SQL中。
  • perf,开启perf级别资源监控功能,开启此功能会把包含实际执行时间和执行行数的计划信息(类似explain analyze输出信息)记录到top SQL中。
  • operator,开启operator级别资源监控功能,开启此功能不仅会把包含实际执行时间和执行行数的信息记录到top SQL中,还会把算子级别执行信息刷新到top SQL中。

默认值:query

resource_track_cost

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

参数类型:USERSET

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

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

默认值:0

新建集群默认值为0,升级场景该参数的默认值为保持前向兼容维持原值。

resource_track_duration

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

参数类型:USERSET

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

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

默认值:60s

disable_memory_protect

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

参数类型:USERSET

取值范围:布尔型

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

默认值:off

query_band

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

参数类型:USERSET

取值范围:字符型

默认值:

bbox_dump_count

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

参数类型:USERSET

取值范围:整型,1~20

默认值:8

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

io_limits

参数说明:该参数8.1.2版本中已废弃,为兼容历史版本功能保留该参数,当前版本设置无效。

参数类型:USERSET

取值范围:整型,0~1073741823

默认值:0

io_priority

参数说明:该参数8.1.2版本中已废弃,为兼容历史版本功能保留该参数,当前版本设置无效。

参数类型:USERSET

取值范围:枚举型

  • None
  • Low
  • Medium
  • High

默认值:None

session_respool

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

参数类型:USERSET

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

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

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

取值范围:字符串,通过create resource pool所设置的资源池。

默认值:invalid_pool

enable_transaction_parctl

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

参数类型:USERSET

取值范围:布尔型

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

默认值:on

session_history_memory

参数说明:设置历史查询视图的内存大小。

参数类型:SIGHUP

取值范围:整型,10240~max_process_memory的50%,单位为KB。

默认值:100MB

topsql_retention_time

参数说明:设置历史TopSQL中gs_wlm_session_info和gs_wlm_operator_info表中数据的保存时间。

参数类型:SIGHUP

取值范围:整型,0~3650,单位为天。

  • 值为0时,表示数据永久保存。
  • 值大于0时,表示数据能够保存的对应天数。

默认值:30

  • 设置此GUC参数启用数据保存功能前,请先清理gs_wlm_session_info和gs_wlm_operator_info表中的数据。
  • 新建集群默认值为30,升级场景该参数的默认值为保持前向兼容维持原值。

transaction_pending_time

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

参数类型:USERSET

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

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

默认值:0

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