-
redo_bind_cpu_attr 参数说明:用于控制回放线程的绑核操作,仅sysadmin用户可以访问。 参数类型:字符串 参数单位:无 取值范围:长度大于0,该参数不区分大小写。 'nobind':线程不做绑核。 'nodebind: 1, 2':利用NUMA组1,2中的CPU core进行绑核。 'cpubind: 0-30':利用0-30号CPU core进行绑核。 'cpuorderbind: 16-32': 从16号核开始一个线程绑定一个CPU,区间内核不足就不参与绑定。建议区间大小设置为大于等于recovery_parallelism + 1。 默认值:'nobind' 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:见下方说明。 设置不当的风险与影响:错误的设置会造成数据库节点无法启动。
-
recovery_min_apply_delay 参数说明:设置备节点回放的延迟时间。 参数类型:整型 参数单位:ms(毫秒) 取值范围:0 ~ 2147483647 默认值:0(不增加延迟) 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:见下方须知。 设置不当的风险与影响:见下方须知。 此参数主节点设置无效,必须设置在需要延迟的备节点上,推荐设置在异步备节点上,设置了延时的异步备节点如果升主RTO时间会比较长。 延迟时间是根据主服务器上事务提交的时间戳与备机上的当前时间来计算,因此需要保证主备系统时钟一致。 延迟时间设置过长时,可能会导致该备机X
LOG 文件所在的磁盘满,需要平衡考虑磁盘大小来设置延迟时间。 没有事务的操作不会被延迟。 主备切换之后,原主机若需延迟,需要再手动配置此参数。 当synchronous_commit被设置为remote_apply时,同步复制会受到这个延时的影响,每一个COMMIT都需要等待备机回放结束后才会返回。 使用这个特性也会让hot_standby_feedback被延迟,这可能导致主服务器的膨胀,因此这两个参数同时使用时要权衡风险。 主机执行了持有AccessExclusive锁的DDL操作,比如DROP和TRUNCATE操作,在备机延迟回放该条记录期间,在备机上对该操作对象执行查询操作会等待锁释放之后才会返回。
-
dcf_truncate_dump_info_level 参数说明:用于控制dcf做日志截断(truncate)时是否打印被截断lsn及之后的lsn。 参数类型:整型 参数单位:无 取值范围:0 ~ 2 0:不开启。 1:打印被dcf截断的所有lsn内容(大于等于截断lsn的xlog日志)。 2:打印被dcf截断的所有lsn内容,且当落盘lsn大于截断lsn时打印warning级别日志。 默认值:1 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。
-
enable_page_lsn_check 参数说明:数据页lsn检查开关。回放时,检查数据页当前的lsn是否是期望的lsn。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启数据页lsn检查开关。 off:表示关闭数据页lsn检查开关。 默认值:on 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:该参数关闭后,可能无法快速发现数据页错误,导致预期外的报错。
-
recovery_redo_workers 参数说明:是极致RTO特性中每个ParseRedoRecord线程对应的PageRedoWorker数量。recovery_redo_workers需要配合recovery_parse_workers使用,recovery_parse_workers或者recovery_redo_workers大于1,则开启极致RTO。如不期望开启极致RTO,请保持recovery_redo_workers为默认值1。 参数类型:整型 参数单位:无 取值范围:1 ~ 8 默认值:1 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:不同CPU、内存和部署模式下,recovery_parse_workers和recovery_redo_workers的设置值可参考表1 不同CPU、内存和部署模式下的参数设置参考。 设置不当的风险与影响:设置过大,会导致CPU、内存资源不足,造成回放速度降低。 表1 不同CPU、内存和部署模式下的参数设置参考 编号 CPU个数 内存(GB) 是否混合部署 recovery_parse_workers recovery_redo_workers 回放线程总数 备注 1 4 - - 1 1 - 不推荐开极致RTO 2 8 - 是 1 1 - 不推荐开极致RTO 3 8 64 否 1 3 10 - 4 16 128 是 1 2 9 - 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 大于此硬件规格的系统均参考此参数设置值
-
recovery_parallelism 参数说明:查询并行回放线程的实际数量。 参数类型:整型 参数单位:无 取值范围:1 ~ 165 默认值:4 设置方式:该参数属于POSTMASTER类型参数,但是不能直接修改。recovery_max_workers、recovery_parse_workers、recovery_redo_workers这3个参数的任意一个被修改时,recover_parallelism都将被重新计算。 设置建议:该参数为只读参数,无法修改。 设置不当的风险与影响:无
-
recovery_time_target 参数说明:备机完成日志写入和回放的流控阈值。当备机的回放完成预期时间大于此参数,主机会触发日志流控,将降低主机向备机发送日志的速率。 参数类型:整型 参数单位:s(秒) 取值范围:0 ~ 3600 0:表示不开启日志流控。 1 ~ 3600:表示备机能够在recovery_time_target时间内完成日志的写入和回放,可以保证主机与备机切换时能够在recovery_time_target完成日志写入和回放,保证备机能够快速升主机。 默认值:60 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:一般设置为默认值,不作调整。 设置不当的风险与影响:设置过小会影响主机的性能,例如设置为10,说明备机回放相对备机接收日志有延迟,允许延迟最大为10s,如果超过了10s,则会限制主机往备机段发送日志,对主机的性能会有限制,在主备场景下,主机的事务需要有备机日志落盘才能提交,限制了日志的发送会限制主机的事务执行影响到性能。设置过大会失去流控效果。关闭流控后,可能会出现RTO/RPO升高的情况。
-
recovery_max_workers 参数说明:设置并行回放线程的最大数量。recovery_parse_workers和recovery_redo_workers同时为1,即不开启极致RTO,此参数才能生效。 参数类型:整型 参数单位:无 取值范围:0 ~ 20 默认值:4(安装工具默认设置为4,以获得更好的性能) 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:设置过大,会导致CPU、内存资源不足,造成回放速度降低。
-
recovery_parse_workers 参数说明:是极致RTO特性中ParseRedoRecord线程的数量。 需要配合recovery_redo_workers使用。recovery_parse_workers或者recovery_redo_workers大于1,则开启极致RTO。如不期望开启极致RTO,请保持recovery_parse_workers为默认值1; 在开启极致RTO时确保参数replication_type为1; 若同时开启极致RTO和并行回放,则极致RTO特性生效,并行回放特性失效; 极致RTO不支持流控,流控统一由recovery_time_target参数控制。 参数类型:整型 参数单位:无 取值范围:1 ~ 16 默认值:1 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:不同CPU、内存和部署模式下,recovery_parse_workers和recovery_redo_workers的设置值可参考表1 不同CPU、内存和部署模式下的参数设置参考。 设置不当的风险与影响:设置过大,会导致CPU、内存资源不足,造成回放速度降低。 打开极致RTO后,备机会额外启动的回放线程总数=recovery_parse_workers * (recovery_redo_workers + 2) + 5。回放线程越多,占用CPU、内存和I/O资源越多。请根据实际硬件配置合理设置参数,避免因为参数设置过大,导致CPU和内存占用过高,进而导致系统启动异常。
-
wal_rec_writer_bind_cpu 参数说明:WAL receiver writer 线程绑定CPU的核号。多个线程允许绑定一个核,但是会导致性能下降,因此不建议。 参数类型:整型 参数单位:无 取值范围:-1 ~ 2147483647。CPU核从0号开始排序。 -1:表示不进行绑核操作。 N:表示把WAL receiver writer 线程绑定到第N号CPU核上。 默认值:-1 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。虽然最大值为INT_MAX,但是实际和所用设备核数相关,设置的最大值不能超过(核数-1)。 设置不当的风险与影响:设置值超过(核数-1),会导致数据库无法启动。
-
max_size_for_shared_storage_xlog_write 参数说明:控制共享盘单次写入的最大数据量。 参数类型:整型 参数单位:kB 取值范围:8 ~ 131072 默认值:1024 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:安装时会进行设定,不建议用户修改此配置。 设置不当的风险与影响:修改该参数取值可能导致数据库出现意料之外的结果,请保持默认值。
-
wal_flush_timeout 参数说明:遍历walInsertStatusTable的超时时间。xlog刷盘自适应控制的刷盘I/O遍历walInsertStatusTable等待的最大时间。 参数类型:整型 参数单位:us(微秒) 取值范围:0 ~ 90000000 默认值: 2(196核CPU/1536G内存,128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存,96核CPU/768G内存,80核CPU/640G内存,64核CPU/512G内存,60核CPU/480G内存,32核CPU/256G内存,16核CPU/128G内存,8核CPU/64G内存,4核CPU/32G内存);800(4核CPU/16G内存) 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。取值不能带单位。 设置建议:推荐使用默认值。 设置不当的风险与影响:设置值过大可能造成xlog刷盘频率降低,降低xlog处理性能。
-
shared_storage_write_mode 参数说明:用于控制共享存储下,主集群的最大Xlog可写入位置。 参数类型:枚举类型 参数单位:无 取值范围: none:无限制。 standby:集群内已连接备机的本地最大Xlog LSN + xlog_file_size(双数据库实例共享存储场景下,xlog日志共享盘的大小)。 disaster_standby:灾备集群已连接备机的本地最大LSN + xlog_file_size。 disaster_standby_strict:灾备集群备机的本地最大LSN + xlog_file_size。(和disaster_standby的区别在于,即使主备集群之间数据面网络隔离,也不会覆盖写入) standby_and_disaster_standby:集群内已连接备机的本地最大LSN和灾备集群已连接备机的本地最大LSN中的较小值+xlog_file_size。 默认值:disaster_standby 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:不建议用户修改此配置。 设置不当的风险与影响:修改该参数可能会导致备集群触发重建(build),不建议手动修改。
-
enable_shared_storage_optimization 参数说明:用于控制共享存储下,是否开启性能优化。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启共享存储下性能优化。 off:表示关闭共享存储下性能优化。 默认值:on,从之前版本升级到当前版本默认为off。 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:不建议用户修改此配置。 设置不当的风险与影响:关闭后将影响低并发下共享存储下的性能。 在鲲鹏2路/4路服务器上同时开启enable_shared_storage_optimization和enable_standby_walsync_optimization参数后,经sysbench基准测试验证,其INSERT/UPDATE操作在256并发线程规模下可实现30%的吞吐量提升。
-
force_promote 参数说明:备机强切功能开关。 备机强切在数据库实例故障状态下,以丢失部分数据为代价换取数据库实例尽可能快地恢复服务;是数据库实例状态为不可用时的一个逃生方法,不建议频繁触发。如果操作者不清楚备机强切后丢失数据对业务的影响,请勿使用本功能。 参数类型:整型 参数单位:无 取值范围: 0:表示关闭。 1:表示开启。 默认值:0 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。使用备机强切功能时,DN和cmserver都需要将此参数设置为开启,重启数据库后生效。 设置建议:不推荐开启此参数。 设置不当的风险与影响:开启后,触发强切会导致丢失部分数据。