Updated on 2024-06-03 GMT+08:00

Asynchronous I/O

checkpoint_flush_after

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

This is a SIGHUP parameter. Set it based on instructions provided in Table 1.

Value range: an integer ranging from 0 to 256. 0 indicates that the asynchronous flush function is disabled. The size of a single page is 8 KB. 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.

Default value: 256KB (32 pages)

bgwriter_flush_after

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

This is a SIGHUP parameter. Set it based on instructions provided in Table 1.

Value range: an integer ranging from 0 to 256. 0 indicates that the asynchronous flush function is disabled. The size of a single page is 8 KB. 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.

Default value: 512 KB (64 pages)

backend_flush_after

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

This is a USERSET parameter. Set it based on instructions provided in Table 1.

Value range: an integer ranging from 0 to 256. 0 indicates that the asynchronous flush function is disabled. The size of a single page is 8 KB. 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.

Default value: 0

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 indicates that the ADIO mode is enabled.
  • off indicates that 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" described 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.