Updated on 2025-05-29 GMT+08:00

Asynchronous I/O

checkpoint_flush_after

Parameter description: Specifies the threshold for the number of dirty pages flushed by the checkpointer thread. If the number of pages exceeds the threshold, the thread instructs the OS to asynchronously flush the data pages cached in the file to disks. In GaussDB, the disk page size is 8 KB.

Parameter type: Integer

Unit: page (8 KB)

Value range: 0 to 256. 0 indicates that the asynchronous flush function is disabled.

Default value: 256kB (32 pages)

Setting method: This is a SIGHUP parameter. Set it based on instructions provided in Table 1. You can set the number of pages or the size in bytes, for example, 32 or 256kB. After the checkpointer thread continuously writes 32 disk pages, that is, 32 x 8 = 256 KB disk space, the asynchronous flush is performed. gs_guc does not allow you to set the number of pages as a parameter unit.

Setting suggestion: Retain the default value.

Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.

bgwriter_flush_after

Parameter description: Specifies the threshold for the number of dirty pages flushed by the background writer thread. If the number of pages exceeds the threshold, the thread instructs the OS to asynchronously flush the data pages cached in the file to disks. In GaussDB, the disk page size is 8 KB.

Parameter type: Integer

Unit: page (8 KB)

Value range: 0 to 256. 0 indicates that the asynchronous flush function is disabled.

Default value: 512kB (64 pages)

Setting method: This is a SIGHUP parameter. Set it based on instructions provided in Table 1. You can set the number of pages or the size in bytes, for example, 64 or 512kB. After the background writer thread continuously writes 64 disk pages, that is, 64 x 8 = 512 KB disk space, the asynchronous flush is performed. gs_guc does not allow you to set the number of pages as a parameter unit.

Setting suggestion: Retain the default value.

Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.

backend_flush_after

Parameter description: Specifies the threshold for the number of dirty pages flushed by the backend thread. If the number of pages exceeds the threshold, the thread instructs the OS to asynchronously flush the data pages cached in the file to disks. In GaussDB, the disk page size is 8 KB. This parameter can be set at the PDB level.

Parameter type: Integer

Unit: page (8 KB)

Value range: 0 to 256. 0 indicates that the asynchronous flush function is disabled.

Default value: 0. In the PDB scenario, if this parameter is not set, the global settings will apply.

Setting method: This is a USERSET parameter. Set it based on instructions provided in Table 1. You can set the number of pages or the size in bytes, for example, 64 or 512kB. After the backend thread continuously writes 64 disk pages, that is, 64 x 8 = 512 KB disk space, the asynchronous flush is performed. gs_guc does not allow you to set the number of pages as a parameter unit.

Setting suggestion: Retain the default value.

Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.

enable_adio_function

Parameter description: Specifies whether to enable the ADIO mode. For details about the ADIO mode, see "High Performance > ADIO and Doublewrite Removal" in Feature Description.

Parameter type: Boolean

Unit: None

Value range:

  • on: The ADIO mode is enabled.
  • off: The ADIO mode is disabled.

Default value: off

Setting method: This is a SIGHUP parameter. You can change the value of this parameter from off to on by referring to "Method 2" in Table 2. After the setting is complete, you can use the system function gs_get_io_type() to check whether the ADIO mode is enabled. For details, see "SQL Reference > Functions and Operators > System Management Functions > Other Functions" in Developer Guide. If you want to change the value of this parameter from on to off, restart the instance. For details, see "Method 1" in Table 2.

Setting suggestion: If the candidate_slots column in the DBE_PERF.global_candidate_status system view is less than 15% of the buffer page for multiple times in a short period of time, you are advised to set this parameter to on.

Risks and impacts of improper settings: Change the parameter value after fully understanding the parameter meaning and verifying it through testing.