If database resource usage is not controlled, concurrent tasks easily preempt resources. As a result, the OS will be overloaded and cannot respond to user tasks; or even crash and cannot provide any services to users. The GaussDB(DWS) workload management function balances the database workload based on available resources to avoid database overloading.
Parameter description: Specifies whether to enable the resource management function. This parameter must be applied on both CNs and DNs.
Type: SIGHUP
Value range: Boolean
1 | select gs_wlm_readjust_user_space(0); |
Default value: on
Parameter description: Specifies whether to enable the perm space function. This parameter must be applied on both CNs and DNs.
Type: POSTMASTER
Value range: Boolean
Default value: on
Parameter description: In the space control and space statistics functions, specifies the threshold of the number of files processed each time during slow building and fine-grained calibration . This parameter is supported by version 8.1.3 or later clusters.
Type: SIGHUP
Value range: an integer ranging from 0 to INT_MAX
Default value: 300
The file quantity threshold affects database resources. You are advised to set the threshold to a proper value.
Parameter description: In the space control and space statistics functions, specifies the space error threshold for triggering automatic calibration. This parameter is supported by version 8.1.3 or later clusters.
Type: SIGHUP
Value range: string
Default value: auto
Parameter description: Specifies whether to enable network control. This parameter is supported by version 8.2.1 or later clusters.
Type: POSTMASTER
Value range: Boolean
Default value: on
Parameter description: Specifies the maximum global concurrency. This parameter applies to one CN.
The database administrator changes the value of this parameter based on system resources (for example, CPU, I/O, and memory resources) so that the system fully supports the concurrency tasks and avoids too many concurrency tasks resulting in system crash.
Type: SIGHUP
Value range: an integer ranging from –1 to INT_MAX. The values –1 and 0 indicate that the number of concurrent requests is not limited.
Default value: 60
Parameter description: Specifies the minimum estimated cost of a complex job under static resource management. Threshold for dividing simple jobs and complex jobs. A job whose estimated cost is less than the value of this parameter is a simple job, and a job whose estimated cost is larger than or equal to the value of this parameter is a complex job.
Type: SIGHUP
Value range: an integer ranging from –1 to INT_MAX
Default value: 100000
Parameter description: Specifies the name of the Cgroup in use. It can be used to change the priorities of jobs in the queue of a Cgroup.
If you set cgroup_name and then session_respool, the Cgroups associated with session_respool take effect. If you reverse the order, Cgroups associated with cgroup_name take effect.
If the Workload Cgroup level is specified during the cgroup_name change, the database does not check the Cgroup level. The level ranges from 1 to 10.
Type: USERSET
You are not advised to set cgroup_name and session_respool at the same time.
Value range: a string
Default value: DefaultClass:Medium
DefaultClass:Medium indicates the Medium Cgroup belonging to the Timeshare Cgroup under the DefaultClass Cgroup.
Parameter description: Specifies how frequently CPU data is collected during statement execution on DNs.
The database administrator changes the value of this parameter based on system resources (for example, CPU, I/O, and memory resources) so that the system fully supports the concurrency tasks and avoids too many concurrency tasks resulting in system crash.
Type: SIGHUP
Value range: an integer ranging from 1 to INT_MAX. The unit is second.
Default value: 30
Parameter description: Specifies whether the database automatically switches to the TopWD group when executing statements by group type.
Type: USERSET
Value range: Boolean
Default value: off
Parameter description: Specifies the memory information recording mode.
Type: USERSET
Value range:
Default value: none
Parameter description: Specifies the sequence number of the memory background information distributed in the needed thread and plannodeid of the query where the current thread is located.
Type: USERSET
Value range: a string
Default value: empty
It is recommended that you retain the default value for this parameter.
Parameter description: Specifies whether the real-time resource monitoring function is enabled. This parameter must be applied on both CNs and DNs.
Type: SIGHUP
Value range: Boolean
Default value: on
Parameter description: Specifies whether resource monitoring records are archived. When this parameter is enabled, records that have been executed are archived to the corresponding INFO views (GS_WLM_SESSION_INFO and GS_WLM_OPERAROR_INFO). This parameter must be applied on both CNs and DNs.
Type: SIGHUP
Value range: Boolean
Default value: on
The default value of this parameter is on for a new cluster. In upgrade scenarios, the default value of this parameter is the same as that of the source version.
Parameter description: Specifies whether to enable the function of recording and archiving sub-statements. When this function is enabled, sub-statements in stored procedures and anonymous blocks are recorded and archived to the corresponding INFO table (GS_WLM_SESSION_INFO). This parameter is a session-level parameter. It can be configured and take effect in the session connected to the CN and affects only the statements in the session. It can also be configured on both the CN and DN and take effect globally.
Type: USERSET
Value range: Boolean
Default value: on
Parameter description: Specifies whether the user historical resource monitoring dumping function is enabled. When this function is enabled, data in the PG_TOTAL_USER_RESOURCE_INFO view is periodically sampled and saved to the GS_WLM_USER_RESOURCE_HISTORY system catalog, and data in the GS_RESPOOL_RESOURCE_INFO view is periodically sampled and saved to the GS_RESPOOL_RESOURCE_HISTORY system catalog.
Type: SIGHUP
Value range: Boolean
Default value: on
Parameter description: Specifies the retention time of the user historical resource monitoring data. This parameter is valid only when enable_user_metric_persistent is set to on.
Type: SIGHUP
Value range: an integer ranging from 0 to 3650. The unit is day.
Default value: 7
Parameter description: Specifies whether the instance resource monitoring dumping function is enabled. When this function is enabled, the instance monitoring data is saved to the system catalog GS_WLM_INSTANCE_HISTORY.
Type: SIGHUP
Value range: Boolean
Default value: on
Parameter description: Specifies the retention time of the instance historical resource monitoring data. This parameter is valid only when enable_instance_metric_persistent is set to on.
Type: SIGHUP
Value range: an integer ranging from 0 to 3650. The unit is day.
Default value: 7
Parameter description: Specifies the resource monitoring level of the current session. This parameter is valid only when enable_resource_track is set to on.
Type: USERSET
Value range: enumerated values
Default value: query
Parameter description: Specifies the policy used to collect the operator execution time of the current session. This parameter is supported by version 8.2.1 or later clusters.
Type: USERSET
Value range: enumerated values
Default value: timer
Parameter description: Specifies the minimum execution cost for resource monitoring on statements in the current session. This parameter is valid only when enable_resource_track is set to on.
Type: USERSET
Value range: an integer ranging from –1 to INT_MAX
Default value: 0
The default value of this parameter is 0 for a new cluster. In upgrade scenarios, the default value of this parameter is the same as that of the source version.
Parameter description: Specifies the minimum statement execution time that determines whether information about jobs of a statement recorded in the real-time view (see Table 1) will be dumped to a historical view after the statement is executed. Job information will be dumped from the real-time view (with the suffix statistics) to a historical view (with the suffix history) if the statement execution time is no less than this value. This parameter is valid only when enable_resource_track is set to on.
Type: USERSET
Value range: an integer ranging from 0 to INT_MAX. The unit is second (s).
Default value: 60s
Parameter description: Filters the minimum execution time of substatements in a stored procedure. This parameter is supported by version 8.2.1 or later clusters.
If the execution time of a sub-statement in a stored procedure is greater than the value of this parameter, the job information is archived to the Top SQL table. This parameter takes effect only when enable_track_record_subsql is set to on.
Type: USERSET
Value range: an integer ranging from 0 to INT_MAX. The unit is second (s).
Default value: 180s
Parameter description: Specifies the maximum number of times that a job triggers an exception rule. If the number of times that a job triggers an exception rule reaches the upper limit, the job will be automatically added to the blocklist and cannot be executed anymore. The job can be resumed only after it is removed from the blocklist.
Type: USERSET
Value range: an integer ranging from –1 to INT_MAX
Default value: –1
Parameter description: Specifies the memory quota in adaptive load scenarios, that is, the proportion of maximum available memory to total system memory.
Type: SIGHUP
Value range: an integer ranging from 1 to 100
Default value: 80
Parameter description: Stops memory protection. To query system views when system memory is insufficient, set this parameter to on to stop memory protection. This parameter is used only to diagnose and debug the system when system memory is insufficient. Set it to off in other scenarios.
Type: USERSET
Value range: Boolean
Default value: off
Parameter description: Specifies the job type of the current session.
Type: USERSET
Value range: a string
Default value: empty
Parameter description: Specifies whether to enable the dynamic workload management function.
Type: POSTMASTER
Value range: Boolean
Default value: on
Parameter description: Specifies whether to enable the global memory management function. This parameter is supported by version 8.2.1 or later clusters.
Type: SIGHUP
Value range: Boolean
Default value: on
The dynamic load function consists of two layers of memory management: global memory management and resource pool management. Global memory management determines whether a job can be delivered based on its estimated memory. Resource pool management determines whether a job can be delivered based on resource pool parameters. In versions earlier than 8.2.1, the global memory management function is enabled by default after the dynamic load management function is enabled. The statement memory usage may be underestimated or overestimated by the optimizer. As a result, jobs are queued in the global memory management queue on the CCN. In GaussDB 8.2.1, this parameter is used to control whether to enable the global memory management to improve job efficiency and reduce CCN queue exceptions.
Pay attention to the following when modifying this parameter:
Parameter description: Specifies whether to enable the built-in limit on estimated statement memory usage in load management. (This parameter is supported by version 8.2.0 or later clusters.)
In the memory management module of load management, some built-in restrictions are imposed on the estimated memory of statements. For example:
These built-in restrictions can prevent overestimation of statement memory. If memory usage is overestimated, statements will preoccupy too much memory, causing subsequent jobs to queue and affecting resource utilization. To avoid such problems, the kernel limits the estimated memory usage of a single statement. Execution plans under the built-in restrictions may not be optimal, and may affect the performance of a statement. The memory negative feedback mechanism is provided in 8.2.0 and later cluster versions to alleviate this problem. The enable_wlm_internal_memory_limit parameter is added in 8.2.0 and later versions. You can determine whether to enable the built-in restrictions.
Type: SIGHUP
Value range: Boolean
Default value: on
Parameter description: Specifies whether to enable strict control over the increase of statement memory usage. (This parameter is supported by version 8.2.0 or later clusters.)
The CN calculates the estimated memory for a statement and preempts memory accordingly. If there is sufficient memory, the DN can increase the memory used for a statement to facilitate its execution. If this parameter is enabled, the increase of memory usage for a statement will be strictly controlled. The memory usage of a statement will not be allowed to exceed its estimated maximum usage. The memory usage of an operator is increased proportionally each time, so the memory usage after an increase may exceed the allowed maximum, but to a limited extent.
Type: SIGHUP
Value range: Boolean
Default value: off
Parameter description: Specifies whether the estimated memory usage of a statement can be 0. (This parameter is supported by version 8.2.0 or later clusters.)
If the table queried by a statement does not contain statistics, the estimated memory of the statement on the CN may be 0. In this case, the memory usage of operators in the statement is limited by work_mem. (work_mem is not recommended for operator memory usage control). If work_mem is large and there are many operators in a statement, the actual memory of the statement will be large. If this parameter is set to off, the estimated memory usage cannot be 0 for queries that have not been analyzed. This setting can help reduce unexpected problems.
Type: SIGHUP
Value range: Boolean
Default value: on
Parameter description: Specifies whether to enable memory negative feedback in dynamic load management. (This parameter is supported by version 8.2.0 or later clusters.)
Memory is preempted based on the estimated statement memory usage calculated on the CN. If the estimated memory usage of a statement is too high, it will preempt too much memory, causing subsequent jobs to be queued. With the negative memory feedback mechanism, if the cluster memory usage has been overestimated for a period of time, the CCN node will dynamically release some memory for subsequent jobs, improving resource utilization.
Type: SIGHUP
Value range: string
Default value: on
Parameter description: Specifies the maximum number of core files that are generated by GaussDB(DWS) and can be stored in the path specified by bbox_dump_path. If the number of core files exceeds this value, old core files will be deleted. This parameter is valid only if enable_bbox_dump is set to on.
Type: USERSET
Value range: an integer ranging from 1 to 20
Default value: 8
When core files are generated during concurrent SQL statement execution, the number of files may be larger than the value of bbox_dump_count.
Parameter description: This parameter has been discarded in version 8.1.2 and is reserved for compatibility with earlier versions. This parameter is invalid in the current version.
Type: USERSET
Value range: an integer ranging from 0 to 1073741823
Default value: 0
Parameter description: This parameter has been discarded in version 8.1.2 and is reserved for compatibility with earlier versions. This parameter is invalid in the current version.
Type: USERSET
Value range: enumerated values
Default value: None
Parameter description: Specifies the resource pool associated with the current session.
Type: USERSET
If you set cgroup_name and then session_respool, the Cgroups associated with session_respool take effect. If you reverse the order, Cgroups associated with cgroup_name take effect.
If the Workload Cgroup level is specified during the cgroup_name change, the database does not check the Cgroup level. The level ranges from 1 to 10.
You are not advised to set cgroup_name and session_respool at the same time.
Value range: a string. This parameter can be set to the resource pool configured through create resource pool.
Default value: invalid_pool
Parameter description: whether to control transaction block statements and stored procedure statements.
Type: USERSET
Value range: Boolean
Default value: on
Parameter description: Specifies the memory size of a historical query view.
Type: SIGHUP
Value range: an integer ranging from 10 MB to 50% of max_process_memory
Default value: 100MB
Parameter description: Specifies the retention period of historical Top SQL data in the gs_wlm_session_info and gs_wlm_operator_info tables.
Type: SIGHUP
Value range: an integer ranging from 0 to 3650. The unit is day.
Default value: 30
Parameter description: maximum queuing time of transaction block statements and stored procedure statements if enable_transaction_parctl is set to on.
Type: USERSET
Value range: an integer ranging from –1 to INT_MAX. The unit is second (s).
Default value: 0
This parameter is valid only for internal statements of stored procedures and transaction blocks. That is, this parameter takes effect only for the statements whose enqueue value (for details, see PG_SESSION_WLMSTAT) is Transaction or StoredProc.
Parameter description: Specifies whitelisted SQL statements for resource management. Whitelisted SQL statements are not monitored by resource management.
Type: SIGHUP
Value range: a string, which contains a maximum of 1,024 characters
Default value: empty