日志回放
recovery_time_target
参数说明: 设置recovery_time_target秒能够让备机完成日志写入和回放。
该参数属于SIGHUP类型参数,请参考重设参数表1中对应设置方法进行设置。
取值范围:整型,0~3600(秒)
0是指不开启日志流控。
1~3600是指备机能够在recovery_time_target时间内完成日志的写入和回放,可以保证主机与备机切换时能够在recovery_time_target秒完成日志写入和回放,保证备机能够快速升主机。
默认值: 0
recovery_time_target设置时间过小会影响主机的性能,设置过大会失去流控效果。
另外,由于极致RTO自带流控,所以同时开启极致RTO与流控时会以极致RTO优先,在运行期间使流控不生效。
recovery_max_workers
参数说明: 设置最大并行回放线程个数。
该参数属于POSTMASTER类型参数,请参考重设参数表1中对应设置方法进行设置。
取值范围:整型,0~20
默认值: 1(安装工具默认设置为8,以获得更好的性能。)
若开启极致RTO,则并行回放参数会失效。
recovery_parse_workers
参数说明: 是极致RTO特性中ParseRedoRecord线程的数量。
该参数属于POSTMASTER类型参数,请参考重设参数表1中对应设置方法进行设置。
取值范围:整型,1~16
默认值: 1
仅在开启极致RTO情况下可以将recovery_parse_workers取值设置为>1。需要配合recovery_redo_workers使用。
若同时开启recovery_parse_workers和recovery_max_workers,以开启极致RTO后的recovery_parse_workers为准,并行回放特性失效。
因极致RTO不支持主备从模式,仅在参数replication_type设置成1时可以设置recovery_parse_workers取值>1,另外,极致RTO也不支持列存,在已经使用列存表或者即将使用列存表的系统中,请关闭极致RTO。由于极致RTO自带流控,所以同时开启极致RTO与流控时会以极致RTO优先,在运行期间使流控不生效。
recovery_redo_workers
参数说明: 是极致RTO特性中每个ParseRedoRecord线程对应的PageRedoWorker数量。
该参数属于POSTMASTER类型参数,请参考重设参数表1中对应设置方法进行设置。
取值范围:整型,1~8
默认值: 1
该参数需要配合recovery_parse_workers使用。
开启极致RTO时,仅当recovery_parse_workers大于1,recovery_redo_workers参数才生效。
recovery_parallelism
参数说明: 查询实际回放线程个数,该参数为只读参数,无法修改。
该参数属于POSTMASTER类型参数,受recovery_max_workers以及recovery_parse_workers参数影响,任意一值大于1时,recover_parallelism将被重新计算。
取值范围:整型,1~2147483647
默认值: 1
enable_page_lsn_check
参数说明: 数据页lsn检查开关。回放时,检查数据页当前的lsn是否是期望的lsn。
取值范围:布尔型
默认值: on
该参数是保留参数,无实际用途。
recovery_min_apply_delay
参数说明: 设置备节点回放的延迟时间。
该参数属于SIGHUP类型参数,请参考重设参数表1中对应设置方法进行设置。
- 此参数主节点设置无效,必须设置在需要延迟的备节点上,推荐设置在异步备上,设置了延时的异步备如果升主RTO时间会比较长。
- 延迟时间是根据主服务器上事务提交的时间戳与备机上的当前时间来计算,因此需要保证主备系统时钟一致。
- 延迟时间设置过长时,可能会导致该备机XLOG文件所在的磁盘满,需要平衡考虑磁盘大小来设置延迟时间。
- 没有事务的操作不会被延迟。
- 主备切换之后,原主机若需延迟,需要再手动配置此参数。
- 当synchronous_commit被设置为remote_apply时,同步复制会受到这个延时的影响,每一个COMMIT都需要等待备机回放结束后才会返回。因此,当主机的synchronous_commit被设置为remote_apply时,禁止设置该参数为非0值,否则主机的业务会被严重阻塞。
- 使用这个特性也会让hot_standby_feedback被延迟,这可能导致主服务器的膨胀,两者一起使用时要小心。
- 主机执行了持有AccessExclusive锁的DDL操作,比如DROP和TRUNCATE操作,在备机延迟回放该条记录期间,在备机上对该操作对象执行查询操作会等待锁释放之后才会返回。
- 不支持MOT表。
取值范围: 整型,0~INT_MAX,单位为毫秒。
默认值: 0(不增加延迟)
redo_bind_cpu_attr
参数说明:用于控制回放线程的绑核操作,仅sysadmin用户可以访问。
该参数属于POSTMASTER类型参数,请参考重设参数表1中对应设置方法进行设置。
取值范围:字符串,长度大于0,该参数不区分大小写。
- nobind:线程不做绑核。
- nodebind: 1, 2:利用NUMA组1,2中的CPU core进行绑核。
- cpubind: 0-30:利用0-30号CPU core进行绑核。
默认值:nobind
enable_time_report
参数说明:用于控制回放时是否记录回放统计信息。
该参数属于POSTMASTER类型参数,请参考重设参数表1中对应设置方法进行设置。
取值范围:布尔型
- on:记录回访统计信息。
- off:不记录回访统计信息。
默认值:off
enable_batch_dispatch
参数说明:表级并行回放时,由startup线程读取wal日志并决定每一个wal记录的实际redo线程,然后再将读取到的wal记录分发给具体的redo线程。此参数用于控制表级并行回放时,是否启用批量分发的功能,即允许积攒一定数量的wal记录,再分发给各个redo线程。
该参数属于POSTMASTER类型参数,请参考重设参数表1中对应设置方法进行设置。
取值范围:布尔型
- on:表级并行回放时,启用批量分发的功能。
- off:表级并行回放时,不启用批量分发的功能。
默认值:off
parallel_recovery_batch
参数说明:参照enable_batch_dispatch参数对批量分发功能的描述,此参数控制表级并行回放时startup线程暂存wal记录的数量。
该参数属于SIGHUP类型参数,请参考重设参数表1中对应设置方法进行设置。
取值范围:整型,1~100000,意义为wal记录的个数
默认值:1000
parallel_recovery_timeout
参数说明:在表级别并行回放时,如果当在一段时间内没有积攒够parallel_recovery_batch数量,则应该立即分发当前已经暂存的wal记录。此参数用于控制wal分发的timeout时间。
该参数属于SIGHUP类型参数,请参考重设参数表1中对应设置方法进行设置。
取值范围: 整型,1~1000,单位为毫秒
默认值: 300
rto_ab_pos
参数说明: 调试极致rto时的选项,设置调试时终止的位置。需在编译时开启EXTREME_RTO_DEBUG_AB编译宏才有该参数。
该参数属于POSTMASTER类型参数,请参考重设参数表1中对应设置方法进行设置。
取值范围: 0 ~ INT_MAX
默认值: 0
rto_ab_type
参数说明: 调试极致rto时的选项,设置调试时终止的行为。需在编译时开启EXTREME_RTO_DEBUG_AB编译宏才有该参数。
该参数属于POSTMASTER类型参数,请参考重设参数表1中对应设置方法进行设置。
取值范围: 0 ~ INT_MAX
默认值: 0
rto_ab_count
参数说明: 调试极致rto时的选项,设置代码运行至指定位置几次后触发调试。
该参数属于POSTMASTER类型参数,请参考重设参数表1中对应设置方法进行设置。
取值范围: 0 ~ INT_MAX
默认值: 0