更新时间:2024-05-07 GMT+08:00

日志回放

recovery_time_target

参数说明:设置recovery_time_target秒能够让备机完成日志写入和回放。

该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

取值范围:整型,0~3600(秒)

0是指不开启日志流控,1~3600是指备机能够在recovery_time_target时间内完成日志的写入和回放,可以保证主机与备机切换时能够在recovery_time_target秒完成日志写入和回放,保证备机能够快速升主机。recovery_time_target设置时间过小会影响主机的性能,设置过大会失去流控效果。

默认值:60

recovery_max_workers

参数说明:设置最大并行回放线程个数。

该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。

取值范围:整型,0~20

默认值:4

recovery_parallelism

参数说明:查询实际回放线程个数,该参数为只读参数,无法修改。

该参数属于POSTMASTER类型参数,受recovery_max_workers以及recovery_parse_workers参数影响,任意一值大于0时,recover_parallelism将被重新计算。

取值范围:整型,1~2147483647

默认值:1

queue_item_size

参数说明:设定每个redo replay 线程的任务队列最大长度。

该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。

取值范围:最大值65535 ,最小值1。

默认值:560

recovery_parse_workers

参数说明:是极致RTO特性中ParseRedoRecord线程的数量。

该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。

取值范围:整型,1~16

仅在开启极致RTO情况下可以设置recovery_parse_workers为>1。需要配合recovery_redo_workers使用。若同时开启recovery_parse_workers和recovery_max_workers,以开启极致RTO的recovery_parse_workers为准,并行回放特性失效。同时,开启极致RTO需保证wal_receiver_buffer_size的值大于等于32MB(推荐64MB)。

默认值:1

  • 从V500R001C00版本升级到V500R001C10及其后续版本后,建议设置该参数为2,并重启DN。
  • 打开极致RTO后,备机会额外启动recovery_parse_workers * (recovery_redo_workers + 2) + 5个线程,占用更多的CPU、内存和IO资源,需要选择合适参数,否则可能会因为资源不足而无法启动。
  • 从本版本开始,极致RTO不再自带流控,流控统一由recovery_time_target参数来控制。

recovery_redo_workers

参数说明:是极致RTO特性中每个ParseRedoRecord线程对应的PageRedoWorker数量。

该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。

取值范围:整型,1~8

需要配合recovery_parse_workers使用。在配合recovery_parse_workers使用时,只有recovery_parse_workers大于1,recovery_redo_workers参数才生效。

默认值:1

从V500R001C00版本升级到V500R001C10及其后续版本后,建议根据环境的CPU个数进行参数设置,并重启DN。

表1 不同CPU内存和部署模式下的参数设置参考

编号

CPU个数

内存

是否分布式混部

recovery_parse_workers

recovery_redo_workers

回放线程总数

备注

1

4

-

-

1

1

-

不推荐设置。

2

8

-

1

1

-

不推荐设置。

3

8

64

1

1

-

不推荐设置。

4

16

128

1

1

-

不推荐设置。

5

16

128

2

3

15

-

6

32

256

2

2

13

-

7

32

256

2

8

25

-

8

64

512

2

4

17

-

9

64

512

2

8

25

大于此规格的均按照此推荐值设置。

10

96

768

-

2

8

25

大于此规格的均按照此推荐值设置。

enable_page_lsn_check

参数说明:数据页lsn检查开关。回放时,检查数据页当前的lsn是否是期望的lsn。

该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。

取值范围:布尔型

默认值:on

redo_bind_cpu_attr

参数说明:用于控制回放线程的绑核操作,仅sysadmin用户可以访问。该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。

取值范围:字符串,长度大于0

可选择的配置方式有:1. 'nobind' ,线程不做绑核;2. 'nodebind: 1, 2',利用NUMA组1,2中的CPU core进行绑核;3. 'cpubind: 0-30',利用0-30号CPU core进行绑核。该参数不区分大小写。

默认值:'nobind'

本参数主要用于arm环境下的绑核操作。推荐将所有的回放线程绑定到一个numa组内,性能会更好。