云服务器内容精选

  • redo_bind_cpu_attr 参数说明:用于控制回放线程的绑核操作,仅sysadmin用户可以访问。该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串,长度大于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' 本参数主要用于arm环境下的绑核操作。推荐将所有的回放线程绑定到一个numa组内,性能会更好,针对混合部署的场景,推荐将同一个机器上的不同节点的回放线程绑定到不同的numa组。 通过本参数设置的绑核区间应与通过GUC参数thread_pool_attr设置的线程池绑核区间以及通过GUC参数wal_rec_writer_bind_cpu、walwriteraux_bind_cpu、wal_receiver_bind_cpu设置绑定的CPU核号错开。
  • recovery_time_target 参数说明:设置recovery_time_target能够让备机完成日志写入和回放。 参数类型:整型 参数单位:秒 取值范围:0~3600 0是指不开启日志流控,1~3600是指备机能够在recovery_time_target时间内完成日志的写入和回放,可以保证主机与备机切换时能够在recovery_time_target完成日志写入和回放,保证备机能够快速升主机。recovery_time_target设置时间过小会影响主机的性能,设置过大会失去流控效果。 默认值:60 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:一般设置为默认值,不作调整。
  • recovery_min_apply_delay 参数说明:设置备节点回放的延迟时间。 参数类型:整型 参数单位:毫秒 取值范围:0~INT_MAX 默认值:0(不增加延迟) 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:见下方须知。 此参数主节点设置无效,必须设置在需要延迟的备节点上,推荐设置在异步备上,但设置了延时的异步备如果升主RTO时间会比较长。 延迟时间是根据主服务器上事务提交的时间戳与备机上的当前时间来计算,因此需要保证主备系统时钟一致。 延迟时间设置过长时,可能会导致该备机xLog文件所在的磁盘满,需要平衡考虑磁盘大小来设置延迟时间。 没有事务的操作不会被延迟。 主备切换之后,原主机若需延迟,需要再手动配置此参数。 当synchronous_commit被设置为remote_apply时,同步复制会受到这个延时的影响,每一个COMMIT都需要等待备机回放结束后才会返回。 使用这个特性也会让hot_standby_feedback被延迟,这可能导致主服务器的膨胀,两者一起使用时需谨慎操作。 主机执行了持有AccessExclusive锁的DDL操作,比如DROP和TRUNCATE操作,在备机延迟回放该条记录期间,如果在备机上对该对象执行查询操作,等待锁释放之后才会返回。
  • recovery_redo_workers 参数说明:是极致RTO特性中每个ParseRedoRecord线程对应的PageRedoWorker数量。recovery_redo_workers需要配合recovery_parse_workers使用,只有recovery_parse_workers大于1,recovery_redo_workers参数设置值才生效。 参数类型:整型 参数单位:无 取值范围:1~8 默认值:1 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:不同CPU、内存和部署模式下,recovery_parse_workers和recovery_redo_workers的设置值可参考表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、内存和部署模式下的参数设置参考。 打开极致RTO后,备机会额外启动的回放线程总数=recovery_parse_workers * (recovery_redo_workers + 2) + 5。回放线程越多,占用CPU、内存和IO资源越多。请根据实际硬件配置合理设置参数,否则可能会因为资源不足而导致系统无法启动。混合部署场景可能对主机性能有影响。
  • dcf_truncate_dump_info_level 参数说明:用于控制dcf做日志截断(truncate)时是否打印被截断lsn及之后的lsn。 参数类型:整型 参数单位:无 取值范围: 0~2 0:不开启。 1:打印被dcf截断的所有lsn内容(大于等于截断lsn的xLog日志)。 2:打印被dcf截断的所有lsn内容,且当落盘lsn大于截断lsn时打印warnning级别日志。 默认值:0(不开启) 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:建议设置为默认值。
  • archive_timeout 参数说明:表示归档周期。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 超过该参数设定的时间时强制切换WAL段。 由于强制切换而提早关闭的归档文件仍然与完整的归档文件长度相同。因此,将archive_timeout设为很小的值将导致占用巨大的归档存储空间,建议将archive_timeout设置为60秒。 取值范围:整型,0 ~ 1073741823,单位为秒。其中0表示禁用该功能。 默认值:0
  • max_size_for_xlog_prune 参数说明:在备机故障时主机保留的xLog最大数量。在enable_xlog_prune打开时生效,工作机制如下: replconninfo系列guc参数配置的所有备机都连接主机时,则该参数不生效。 replconninfo系列guc参数配置的备机存在断连时,则该参数生效。当主机xLog日志量大于该参数值,会强制回收。例外:在同步提交模式下(即synchronous_commit参数不是local/off时),如果存在连接中的备机,则主机会考虑保留多数派备机中最小日志接受位置以后的日志,这种情况下,保留的日志可能多于max_size_for_xlog_prune参数值。 若存在build中的备机,则该参数不生效,主机日志会全量保留,防止build操作期间由于日志被回收引发的失败。 参数类型:整型 参数单位:kB 取值范围:0~2147483647 默认值:256GB 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。取值不带单位,则默认为kB;取值如果要带单位,必须为kB、MB、GB。 设置建议:磁盘小的情况,该参数建议设置小,最大设为256GB。
  • checkpoint_segments 参数说明:设置checkpoint_timeout周期内所保留的最少WAL日志段文件数量。每个日志文件大小为16MB。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,1~2147483646 提升此参数可加快大数据的导入速度,但需要结合checkpoint_timeout、shared_buffers这两个参数统一考虑。这个参数同时影响WAL日志段文件复用数量,通常情况下pg_xlog文件夹下最大的复用文件个数为2倍的checkpoint_segments个,复用的文件被改名为后续即将使用的WAL日志段文件,不会被真正删除。 默认值:1024
  • checkpoint_segments 参数说明:设置checkpoint_timeout周期内所保留的最少WAL日志段文件数量。每个日志文件大小为16MB。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,最小值1 提升此参数可加快大数据的导入速度,但需要结合checkpoint_timeout、shared_buffers这两个参数统一考虑。这个参数同时影响WAL日志段文件复用数量,通常情况下pg_xlog文件夹下最大的复用文件个数为2倍的checkpoint_segments个,复用的文件被改名为后续即将使用的WAL日志段文件,不会被真正删除。 默认值:1024
  • max_size_for_xlog_prune 参数说明:在备机故障时主机保留的xlog最大数量。在enable_xlog_prune打开时生效,工作机制如下: replconninfo系列guc参数配置的所有备机都连接主机时,则该参数不生效。 replconninfo系列guc参数配置的备机存在断连时,则该参数生效。当主机xlog日志量大于该参数值,会强制回收。例外:在同步提交模式下(即synchronous_commit参数不是local/off时),如果存在连接中的备机,则主机会考虑保留多数派备机中最小日志接受位置以后的日志,这种情况下,保留的日志可能多于max_size_for_xlog_prune参数值。 若存在build中的备机,则该参数不生效,主机日志会全量保留,防止build操作期间由于日志被回收引发的失败。 参数类型:整型 参数单位:kB 取值范围:0~2147483647 默认值:256GB 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。取值不带单位,则默认为kB;取值如果要带单位,必须为kB、MB、GB。 设置建议:磁盘小的情况,该参数建议设置小,最大设为256GB。
  • commit_delay 参数说明:表示一个已经提交的数据在WAL缓冲区中存放的时间。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置为非 0 值时事务执行commit后不会立即写入WAL中,而仍存放在WAL缓冲区中,等待WalWriter线程周期性写入磁盘。 如果系统负载很高,在延迟时间内,其他事务可能已经准备好提交。但如果没有事务准备提交,这个延迟就是在浪费时间。 取值范围:整型, 0~100000(微秒),其中0表示无延迟。 默认值:0
  • wal_file_preinit_bounds 参数说明:设置业务运行时,WAL writer辅助线程每秒可预扩的WAL日志段文件的数量限制(WAL日志段文件的大小为16MB)。当该参数值为0时,表示不进行限制。 参数类型:整型 参数单位:无 取值范围:0~1024 默认值:0 设置方式:该参数属于SIGHUP类型参数,请参考表2中对应设置方法进行设置。 设置建议:设置为默认值,不做调整。当把该参数设置为有效值时,需基于磁盘IO能力进行设置,可参考参数max_io_capacity的数值进行设置: 若max_io_capacity为500MB,可设置为25; 若max_io_capacity为1GB,可设置为50。
  • wal_flush_timeout 参数说明:遍历WalInsertStatusEntryTbl的超时时间。xLog刷盘自适应控制的刷盘IO遍历WalInsertStatusEntryTbl等待的最大时间。 该参数属于SIGHUP类型参数,请参考表2中对应设置方法进行设置。 如果时间过长可能造成xLog刷盘频率降低,降低xLog处理性能。 取值范围:整型, 0 ~ 90000000(微秒) 默认值:2us
  • full_page_writes 参数说明:设置GaussDB服务器在检查点之后对页面的第一次修改时,是否将每个磁盘页面的全部内容写到WAL日志中。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置这个参数是因为在操作系统崩溃过程中可能磁盘页面只写入了一部分内容,从而导致在同一个页面中包含新旧数据的混合。在崩溃后的恢复期间,由于在WAL日志中存储的行变化信息不够完整,因此无法完全恢复该页。把完整的页面影像保存下来就可以保证页面被正确还原,代价是增加了写入WAL日志的数据量。 关闭此参数,在系统崩溃的时候,可能无法恢复原来的数据。如果服务器硬件的特质(比如电池供电的磁盘控制器)可以减小部分页面的写入风险,或者文件系统特性支持(比如ReiserFS 4),并且清楚知道写入风险在一个可以接受的范畴,可以关闭这个参数。 取值范围:布尔型 on表示启用此特性。 off表示关闭此特性。 默认值:on