Log Replay
recovery_time_target
Parameter description: Sets the value of recovery_time_target in seconds to enable the standby server to write and replay logs.
This parameter is a SIGHUP parameter. Set it based on instructions provided in Table 1.
Value range: an integer ranging from 0 to 3600. The unit is s.
0 indicates that log flow control is disabled. A value from 1 to 3600 indicates that a standby node can write and replay logs within the period specified by the value, so that the standby node can quickly assume the primary role. If this parameter is set to a small value, the performance of the primary server is affected. If it is set to a large value, the log flow is not effectively controlled.
Default value: 60
recovery_max_workers
Parameter description: Specifies the maximum number of concurrent replay threads.
This parameter is a POSTMASTER parameter. Set it based on instructions provided in Table 1.
Value range: an integer ranging from 0 to 20.
Default value: 4
recovery_parallelism
Parameter description: Specifies the actual number of replay threads. This parameter is read-only.
This parameter is a POSTMASTER parameter and is affected by recovery_max_workers and recovery_parse_workers. If any value is greater than 0, recover_parallelism will be recalculated.
Value range: an integer ranging from 1 to 2147483647.
Default value: 1
queue_item_size
Parameter description: Specifies the maximum length of the task queue of each redo replayer thread.
This parameter is a POSTMASTER parameter. Set it based on instructions provided in Table 1.
Value range: a value ranging from 1 to 65535.
Default value: 560
recovery_parse_workers
Parameter description: Specifies the number of ParseRedoRecord threads for the ultimate RTO feature.
This parameter is a POSTMASTER parameter. Set it based on instructions provided in Table 1.
Value range: an integer ranging from 1 to 16.
This parameter can be set to a value greater than 1 only when the ultimate RTO feature is enabled. In addition, it must be used together with recovery_redo_workers. If both recovery_parse_workers and recovery_max_workers are enabled, the ultimate RTO setting of recovery_parse_workers prevails and the concurrent replay function is disabled. In addition, to enable ultimate RTO, ensure that the value of wal_receiver_buffer_size is greater than or equal to 32 MB (64 MB is recommended).
Default value: 1
- After the database is upgraded from V500R001C00 to V500R001C10 or a later version, you are advised to set this parameter to 2 and restart the DN.
- After ultimate RTO is enabled, the standby node extra starts a number of threads (recovery_parse_workers x (recovery_redo_workers + 2) + 5), occupying more CPU, memory, and I/O resources. You need to select proper parameters. Otherwise, the standby node may fail to start due to insufficient resources.
- In this version and later, the ultimate RTO feature does not have flow control. Flow control is controlled by the recovery_time_target parameter.
recovery_redo_workers
Parameter description: Specifies the number of PageRedoWorker threads corresponding to each ParseRedoRecord thread when the ultimate RTO feature is enabled.
This parameter is a POSTMASTER parameter. Set it based on instructions provided in Table 1.
Value range: an integer ranging from 1 to 8.
It must be used together with recovery_parse_workers. The setting of recovery_redo_workers takes effect only when recovery_parse_workers is set to a value greater than 1.
Default value: 1
After the database is upgraded from V500R001C00 to V500R001C10 or a later version, you are advised to set parameters based on the number of CPUs in the environment and restart the DN.
No. |
CPUs |
Memory |
Distributed Hybrid Deployment |
recovery_parse_workers |
recovery_redo_workers |
Replayer Threads |
Remarks |
---|---|---|---|---|---|---|---|
1 |
4 |
- |
- |
1 |
1 |
- |
Not recommended |
2 |
8 |
- |
Yes |
1 |
1 |
- |
Not recommended |
3 |
8 |
64 |
No |
1 |
1 |
- |
Not recommended |
4 |
16 |
128 |
Yes |
1 |
1 |
- |
Not recommended |
5 |
16 |
128 |
No |
2 |
3 |
15 |
- |
6 |
32 |
256 |
Yes |
2 |
2 |
13 |
- |
7 |
32 |
256 |
No |
2 |
8 |
25 |
- |
8 |
64 |
512 |
Yes |
2 |
4 |
17 |
- |
9 |
64 |
512 |
No |
2 |
8 |
25 |
Set the parameter to the recommended value for larger specifications. |
10 |
96 |
768 |
- |
2 |
8 |
25 |
Set the parameter to the recommended value for larger specifications. |
enable_page_lsn_check
Parameter description: Specifies whether to enable the data page LSN check. During replay, the current LSN of the data page is checked to see if it is the expected one.
This parameter is a POSTMASTER parameter. Set it based on instructions provided in Table 1.
Value range: Boolean
Default value: on
redo_bind_cpu_attr
Parameter description: Specifies the core binding operation of the replayer thread. Only user sysadmin can access this parameter. This parameter is a POSTMASTER parameter. Set it based on instructions provided in Table 1.
Value range: a string, consisting of one or more characters.
The available configuration modes are as follows: 1. 'nobind': The thread is not bound to a core. 2. 'nodebind: 1, 2': Use the CPU cores in NUMA groups 1 and 2 to bind threads. 3. 'cpubind: 0-30': Use the CPU cores 0 to 30 to bind threads. The value of this parameter is case-insensitive.
Default value: 'nobind'
This parameter is used for core binding in the Arm environment. You are advised to bind all replay threads to the same NUMA group for better performance.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot