华为云用户手册

  • 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_min_apply_delay 参数说明:设置备节点回放的延迟时间。 参数类型:整型 参数单位:毫秒 取值范围:0~INT_MAX 默认值:0(不增加延迟) 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:见下方须知。 此参数主节点设置无效,必须设置在需要延迟的备节点上,推荐设置在异步备上,但设置了延时的异步备如果升主RTO时间会比较长。 延迟时间是根据主服务器上事务提交的时间戳与备机上的当前时间来计算,因此需要保证主备系统时钟一致。 延迟时间设置过长时,可能会导致该备机xLog文件所在的磁盘满,需要平衡考虑磁盘大小来设置延迟时间。 没有事务的操作不会被延迟。 主备切换之后,原主机若需延迟,需要再手动配置此参数。 当synchronous_commit被设置为remote_apply时,同步复制会受到这个延时的影响,每一个COMMIT都需要等待备机回放结束后才会返回。 使用这个特性也会让hot_standby_feedback被延迟,这可能导致主服务器的膨胀,两者一起使用时需谨慎操作。 主机执行了持有AccessExclusive锁的DDL操作,比如DROP和TRUNCATE操作,在备机延迟回放该条记录期间,如果在备机上对该对象执行查询操作,等待锁释放之后才会返回。
  • 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_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中对应设置方法进行设置。 设置建议:建议设置为默认值。
  • recovery_time_target 参数说明:设置recovery_time_target能够让备机完成日志写入和回放。 参数类型:整型 参数单位:秒 取值范围:0~3600 0是指不开启日志流控,1~3600是指备机能够在recovery_time_target时间内完成日志的写入和回放,可以保证主机与备机切换时能够在recovery_time_target完成日志写入和回放,保证备机能够快速升主机。recovery_time_target设置时间过小会影响主机的性能,设置过大会失去流控效果。 默认值:60 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:一般设置为默认值,不作调整。
  • checkpoint_segments 参数说明:设置checkpoint_timeout周期内所保留的最少WAL日志段文件数量。每个日志文件大小为16MB。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,1~2147483646 提升此参数可加快大数据的导入速度,但需要结合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。
  • backend_flush_after 参数说明:设置backend线程刷页个数超过设定的阈值时,告知操作系统开始将操作系统缓存中的页面异步刷盘。 GaussDB 中,磁盘页大小为8KB。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0~256(0表示关闭异步刷盘功能),单位页面(8K)。可以设置页面的数量或字节的大小,例如,取值64或512KB,表示backend线程连续写64个磁盘页,即64*8=512KB磁盘空间后会进行异步刷盘。 默认值:0
  • bgwriter_flush_after 参数说明:设置background writer线程刷页个数超过设定的阈值时,告知操作系统开始将操作系统缓存中的页面异步刷盘。GaussDB中,磁盘页大小为8KB。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0~256(0表示关闭异步刷盘功能),单位页面(8K)。可以设置页面的数量或字节的大小,例如,取值64或512KB,表示background writer线程连续写64个磁盘页,即64*8=512KB磁盘空间后会进行异步刷盘。 默认值:512KB(即64个页面)
  • candidate_buf_percent_target 参数说明:用于增量检查点打开时,设置候选buffer链中可用buffer数目占据shared_buffer百分比的期望值,若当前候选链中的数目占据的百分比小于该值,bgwriter线程会启动,将满足条件的脏页刷盘。 参数类型:双精度浮点型 参数单位:无 取值范围:0.1 ~ 0.85 默认值:0.3 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:该参数直接影响bgwriter线程刷页个数。当数据量大于shared_buffers时,设置过小,会影响性能。若数据量是shared_buffers的2倍及以上,该值不宜小于默认值;其他场景下,若想减少IO,可适当调小该参数。
  • max_io_capacity 参数说明:设置后端写线程批量刷页每秒的IO上限。 参数类型:整型 参数单位:kB 取值范围:30720~10485760 默认值:512000kB(500MB) 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。取值不带单位,则默认为kB;取值如果要带单位,必须为kB、MB、GB。 设置建议:根据具体业务场景和机器磁盘IO能力进行设置,要求RTO很短时间或者数据量比共享内存大多倍的情况,业务访问数据量又是随机访问时,该值不宜过小。设置较小的max_io_capacity会减小后端写线程刷页个数,如果业务触发页面淘汰多时,该值设置小会影响业务。
  • bgwriter_lru_multiplier 参数说明:通过与已使用缓存区数目的乘积评估下次服务器需要的缓存区数目。 写“脏”缓存区到磁盘的数目取决于服务器最近几次使用的缓存区数目。最近的buffers数目的平均值乘以bgwriter_lru_multiplier是为了评估下次服务器进程需要的buffers数目。在有足够多的干净的、可用的缓存区之前,后端写线程会一直写“脏”缓存区的(每次写的缓存区数目不会超过bgwriter_lru_maxpages的值)。 设置bgwriter_lru_multiplier的值为1.0表示一种“实时”策略,其作用是准确预测下次写“脏”缓冲区的数目。设置为较大的值可以应对突然的需求高峰,而较小的值则可以让服务器进程执行更多的写操作。 设置较小的bgwriter_lru_maxpages和bgwriter_lru_multiplier会减小后端写线程导致的额外I/O开销,但是服务器进程必须自己发出写操作,增加了对查询的响应时间。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:浮点型,0~10。 默认值:2
  • pagewriter_sleep 参数说明:设置用于增量检查点打开后,pagewriter线程每隔pagewriter_sleep的时间刷一批脏页下盘。当脏页占据shared_buffers的比例达到dirty_page_percent_max时,每批页面数量以设定的max_io_capacity计算出的值刷页,其余情况每批页面数量按比例相对减少。 参数类型:整型 参数单位:毫秒 取值范围:0~3600000 默认值:2000ms(2s) 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:CN设置为默认值。DN不宜设置大于2s,脏页产生很快的情况下,建议设置100ms - 500ms,因为设置过大会导致redo点推进过慢,影响xlog回收。
  • enable_stateless_pooler_reuse 参数说明:pooler连接池复用切换开关,开启后可对已有的空闲TCP连接进行复用,重启集群生效。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 设置为on/true表示使用pooler复用模式。 设置为off/false表示关闭pooler复用模式。 CN和DN需要同步设置。如果CN设置enable_stateless_pooler_reuse为off,DN设置enable_stateless_pooler_reuse为on会导致集群不能正常通信,因此必须对该参数做CN和DN全局相同的配置,重启集群生效。 默认值:on
  • COMM_PA RAM 参数说明:通信性能问题定位开关,该参数设置是否打印节点通信过程中session参数 设置情况。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 设置为on/true表示打开连接的session参数设置日志。 设置为off/false表示关闭连接的session参数设置日志。 set logging_module='on(COMM_PARAM)'; --打开 set logging_module='off(COMM_PARAM)'; --关闭 show logging_module; --查看设置结果 设置为on时,打印日志量较大,会增加额外的overhead并降低数据库性能,仅在调试时打开,打开后及时关闭。 默认值:off
  • COMM_IPC 参数说明:通信性能问题定位开关,该参数设置是否打印通信各个节点的报文收发情况。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 设置为on/true表示打开报文收发统计日志。 设置为off/false表示关闭报文收发统计日志。 set logging_module='on(COMM_IPC)'; --打开 set logging_module='off(COMM_IPC)'; --关闭 show logging_module; --查看设置结果。 设置为on时,打印日志量较大,会增加额外的overhead并降低数据库性能,仅在调试时打开,打开后及时关闭。 默认值:off
  • comm_cn_dn_logic_conn 参数说明:CN和DN间逻辑连接特性开关,重启集群生效。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 设置为on/true表示CN和DN之间连接为逻辑链接,使用libcomm组件。 设置为off/false表示CN和DN之间连接为物理连接,使用libpq组件。 不再提供CN和DN之间的逻辑连接支持,为了保持兼容,提供此参数的接口,但此参数会在设置过程中强制改为off。 默认值:off
  • tcp_keepalives_count 参数说明:在支持TCP_KEEPCNT套接字选项的操作系统上,设置GaussDB服务端在断开与客户端连接之前可以等待的保持活跃信号个数。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 如果操作系统不支持TCP_KEEPCNT选项,这个参数的值必须为0。 在通过Unix域套接字进行连接的操作系统上,这个参数将被忽略。 取值范围:0-100,其中0表示GaussDB未收到客户端反馈的保持活跃信号则立即断开连接。 默认值:20
  • tcp_keepalives_interval 参数说明:在支持TCP_KEEPINTVL套接字选项的操作系统上,以秒数声明在重新传输之间等待响应的时间。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:0-180,单位为s。 默认值:30 如果操作系统不支持TCP_KEEPINTVL选项,这个参数的值必须为0。 在通过Unix域套接字进行的连接的操作系统上,这个参数将被忽略。
  • tcp_user_timeout 参数说明:在支持TCP_USER_TIMEOUT套接字选项的操作系统上,设置GaussDB在发送数据时,指定传输的数据在TCP连接被强制关闭之前可以保持未确认状态的最大时长。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 如果操作系统不支持TCP_USER_TIMEOUT选项,这个参数的值将不生效,默认为0。 在通过Unix域套接字进行连接的操作系统上,这个参数将被忽略。 取值范围:0-3600000,单位为ms。其中0表示跟随操作系统设置。 默认值:0 不同操作系统内核下,该参数生效结果不同: aarch64 EulerOS(Linux内核版本:4.19):超时时间即为该参数设置值。 x86 Euler2.5(Linux内核版本:3.10):超时时间不是该参数设置值,而是不同区间的最大值。即超时时间取值为:tcp_user_timeout设置值所处“Linux TCP重传总耗时”区间的上限最大值。例如:tcp_user_timeout=40000时,重传总耗时为51秒。 表1 x86 Euler2.5(Linux内核版本:3.10)tcp_user_timeout参数取值示意 Linux TCP重传次数 Linux TCP重传总耗时区间(秒) tcp_user_timeout设置举例(毫秒) 实际Linux TCP重传总耗时(秒) 1 (0.2,0.6] 400 0.6 2 (0.6,1.4] 1000 1.4 3 (1.4,3] 2000 3 4 (3,6.2] 4000 6.2 5 (6.2,12.6] 10000 12.6 6 (12.6,25.4] 20000 25.4 7 (25.4,51] 40000 51 8 (51,102.2] 80000 102.2 9 (102.2,204.6] 150000 204.6 10 (204.6,324.6] 260000 324.6 11 (324.6,444.6] 400000 444.6 注:TCP每次重传耗时随重传次数指数增加,当TCP一次重传到达120秒后,后续每次重传都将耗时120秒不再变化。
  • tcp_syn_retries 参数说明:在支持TCP_SYNCNT套接字选项的操作系统上,设置GaussDB连接其他内部节点时,建立连接三次握手阶段SYN包发送失败而重新传的次数。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 如果操作系统不支持TCP_SYNCNT选项,则tcp_syn_retries参数的值将不生效,默认为0。 在通过Unix域套接字进行连接的操作系统上,tcp_syn_retries参数将被忽略。 取值范围:0-127,0表示与操作系统设置保持一致。 默认值:0
  • comm_max_stream 参数说明:TCP代理通信库支持的最大并发数据流数。该参数必须大于业务并发数*每并发平均stream算子数*query_dop的平方。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,最小值为1,最大值为60000。 默认值:1024 不建议该参数值设置过大,因为comm_max_stream会占用内存(占用内存=256byte*comm_max_stream*comm_max_datanode),若并发数据流过大,查询较为复杂及smp过大都会导致内存不足。 如果comm_max_stream参数值较小,进程内存充足,可以适当将comm_max_stream值调大。
  • comm_client_bind 参数说明:通信库客户端发起连接时是否使用bind绑定指定IP。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示绑定指定IP。 off表示不绑定指定IP。 如果集群某一节点存在多个IP处于同一通信网段时,需设置为on。此时将绑定本地listen_addresses指定的IP发起通信,随机端口号不能重复使用,集群并发数量会受到可用随机端口号数量的限制。 默认值:off
  • port 参数说明:GaussDB服务侦听的TCP端口号。 该参数由安装时的配置文件指定,请勿轻易修改,否则修改后会影响数据库正常通信。 参数类型:整型 参数单位:无 取值范围:1~65535 设置端口号时,请设置一个未被占用的端口号。设置多个实例的端口号,不可冲突。 1~1023为操作系统保留端口号,请不要使用。 通过配置文件安装集群时,配置文件中的端口号需要注意通信矩阵预留端口。如:DN还需保留dataPortBase+1作为内部工具使用端口。故集群安装阶段,port最大值为:CN可设置65532,DN可设置65529,GTM可设置65534,同时需要保证端口号不冲突。 默认值:5432(实际值由安装时的配置文件指定) 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:该参数由安装时的配置文件指定,请勿轻易修改,否则修改后会影响数据库正常通信。
  • sysadmin_reserved_connections 参数说明:为管理员用户预留的最少连接数,不建议设置过大。该参数和max_connections参数配合使用,管理员用户的最大连接数等于max_connections + sysadmin_reserved_connections。 当启用线程池功能时,若线程池占满将形成处理瓶颈,导致管理员预留连接无法正常建立;作为逃生手段,此时可使用gsql通过主端口+1端口号连入,清理无用会话,即可正常连入。 当管理员预留连接数全部被使用后,新建连接将失败,此时只能通过重启集群来恢复,所以需要谨慎使用该预留连接数。 参数类型:整型 参数单位:无 取值范围:最小值为0,最大值为MIN(262143, max_connections),max_connections的计算方法见max_connections。 默认值:3 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:无 设置不当的风险与影响:无
  • unix_socket_directory 参数说明:设置GaussDB服务器侦听客户端连接的Unix域套接字目录,仅sysadmin用户可以访问。 参数类型:字符串 参数单位:无 取值范围:合法目录路径。 该参数的取值长度限制于操作系统的最大目录路径长度,Linux系统下,套接字路径名(套接字目录与套接字文件名拼接而成)长度不得超过107bytes,目录最长不得超过92bytes。超过该限制将会导致Unix-domain socket path "xxx" is too long的问题。 默认值:空字符串(实际值由安装时配置文件中tmpMppdbPath指定) 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:无 设置不当的风险与影响:若误设置出错(包括长度超过限制、非法目录等),会影响进程正常拉起,可以通过检索cm_agent路径下system_call日志定界。
  • max_inner_tool_connections 参数说明:允许和数据库连接的工具的最大并发连接数。此参数会影响GaussDB的工具连接并发能力。 参数类型:整型 参数单位:无 取值范围:整型,最小值为1,最大值的计算公式为:262143 - job_queue_processes - autovacuum_max_workers - max_connections - max_concurrent_autonomous_transactions - AUXILIARY_BACKENDS - AV_LAUNCHER_PRO CS - min(max(max_connections/4,64),1024)。job_queue_processes、autovacuum_max_workers、max_connections和max_concurrent_autonomous_transactions的值与相应的GUC参数的设置有关;AUXILIARY_BACKENDS为预留辅助线程数,固定为20;AV_LAUNCHER_PROCS为预留autovacuum的launcher线程数,固定为2。 默认值:50。如果该默认值超过内核支持的最大值(在执行gs_initdb的时候判断),系统会提示错误。 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:数据库主节点中此参数建议保持默认值。 设置不当的风险与影响:无
  • service_reserved_connections 参数说明:为后台运维用户(带有persistence属性)预留的最少连接数,不建议设置过大。该参数和max_connections参数配合使用,运维用户的最大连接数等于max_connections + service_reserved_connections。 参数类型:整型 参数单位:无 取值范围:整型,最小值为0,最大值为262143。 默认值:10 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。如果设置过小,会导致在max_connections满的情况下,运维用户(带有persistence属性)无法连接数据库,作业无法正常执行。 设置不当的风险与影响:无
  • extip_reserved_connections 参数说明:为用户在listen_address_ext配置的扩展IP上进行的普通gsql业务连接预留的最少连接数。该参数和max_connections参数配合使用,对应业务连接的最大连接数等于max_connections + service_reserved_connections。 该参数仅在为分布式DN配置了listen_address_ext的具体IP地址时有效。 参数类型:整型 参数单位:无 取值范围:整型,最小值为0,最大值为MIN(262143, max_connections),max_connections的计算方法见max_connections。 默认值: 5 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:无 设置不当的风险与影响:无
共100000条