云服务器内容精选

  • archive_command 参数说明:由管理员设置的用于归档WAL日志的命令,建议归档路径为绝对路径。 参数类型:SIGHUP 取值范围:字符串 默认值:(disabled) 字符串中任何%p都被要归档的文件的绝对路径代替,而任何%f都只被该文件名代替(相对路径都相对于数据目录的)。如果需要在命令里嵌入%字符就必须双写%。 这个命令当且仅当成功的时候才返回零。示例如下: 1 2 archive_command = 'cp --remove-destination %p /mnt/server/archivedir/%f' archive_command = 'copy %p /mnt/server/archivedir/%f' # Windows --remove-destination选项作用为:复制前如果目标文件已存在,会先删除已存在的目标文件,然后执行复制操作。 当archive_mode为on,archive_mode未设置时,系统会在pg_xlog目录下新建backup目录,并将wal日志复制压缩至pg_xlog/backup目录。
  • archive_timeout 参数说明:表示归档周期。 参数类型:SIGHUP 取值范围:整型,0 ~ INT_MAX,单位为秒。其中0表示禁用该功能。 默认值:0 超过该参数设定的时间时强制切换WAL段。 由于强制切换而提早关闭的归档文件仍然与完整的归档文件长度相同。因此,将archive_timeout设为很小的值将导致占用巨大的归档存储空间,建议将archive_timeout设置为60秒。
  • max_size_for_xlog_prune 参数说明:在enable_xlog_prune打开时生效,工作机制如下: 如果replconninfo系列guc参数配置的所有备机都连着主机,那么该参数实际不起作用。 如果replconninfo系列guc参数配置的备机至少有一个没有连着主机,那么该参数生效:当主机历史日志数量大于该参数值,会强制回收。例外:在同步提交模式下(即synchronous_commit参数非local或off时),如果还存在连着的备机,那么主机会考虑保留满足多数派备机中最小日志接受位置的日志,这种情况下,保留的日志可能会多余max_size_for_xlog_prune参数值。 如果有任何一个备机正在build,那么该参数不会生效,主机日志会全量保留,防止build操作由于日志回收重复失败。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0~2147483647‬,单位为KB 默认值:256GB
  • checkpoint_segments 参数说明:设置checkpoint_timeout周期内所保留的最少WAL日志段文件数量。每个日志文件大小为16MB。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,最小值1 提升此参数可加快大数据的导入速度,但需要结合checkpoint_timeout、shared_buffers这两个参数统一考虑。这个参数同时影响WAL日志段文件复用数量,通常情况下pg_xlog文件夹下最大的复用文件个数为2倍的checkpoint_segments个,复用的文件被改名为后续即将使用的WAL日志段文件,不会被真正删除。 默认值:1024
  • wal_flush_delay 参数说明:遍历WalInsertStatusEntryTbl时,遇到WAL_NOT_COPIED状态entry时等待的时间间隔。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型, 0 ~ 90000000(微秒) 默认值: 1us(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内存);100us(4核CPU/16G内存)
  • wal_receiver_bind_cpu 参数说明:WAL receiver 线程绑定cpu的核号。 默认是-1,-1是无效值,就是不绑核。 虽然数值范围为INT_MAX,但是实际和所用设备核数相关,所设定CPU核号不存在时报错中断。 多个线程允许绑定一个核,但是性能下降,不建议。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:最大值INT_MAX ,最小值-1。 默认值:-1
  • wal_file_init_num 参数说明:WAL编写器将创建的xlog段文件的数量。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0~1000000。 默认值:10(196核CPU/1536G内存,128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存,96核CPU/768G内存,80核CPU/640G内存,64核CPU/512G内存,60核CPU/480G内存);0(32核CPU/256G内存,16核CPU/128G内存,8核CPU/64G内存,4核CPU/32G内存,4核CPU/16G内存)
  • wal_flush_timeout 参数说明:遍历WalInsertStatusEntryTbl的超时时间。Xlog刷盘自适应控制的刷盘IO遍历WalInsertStatusEntryTbl等待的最大时间。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 如果时间过长可能造成Xlog刷盘频率降低,降低Xlog处理性能。 取值范围:整型, 0 ~ 90000000(微秒) 默认值: 2us(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内存);800us(4核CPU/16G内存)
  • wal_rec_writer_bind_cpu 参数说明:WAL rec writer 线程绑定cpu的核号。 默认是-1,-1是无效值,就是不绑核。 虽然数值范围为INT_MAX,但是实际和所用设备核数相关,所设定CPU核号不存在时报错中断。 多个线程允许绑定一个核,但是性能下降,不建议。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:最大值INT_MAX ,最小值-1。 默认值:-1
  • wal_sync_method 参数说明:设置向磁盘强制更新WAL数据的方法。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 如果将fsync关闭,这个参数的设置就没有意义,因为所有数据更新都不会强制写入磁盘。 取值范围:枚举类型 open_datasync表示用带O_DSYNC选项的open()打开“WAL”文件。 fdatasync表示每次提交的时候都调用fdatasync()(支持suse10和suse11)。 fsync_writethrough表示每次提交的时候调用fsync()强制把缓冲区任何数据写入磁盘。 由于历史原因,Windows平台支持将wal_sync_method设置为fsync_writethrough。在windows平台上fsync_writethrough和fsync等效。 fsync表示每次提交的时候调用fsync()(支持suse10和suse11)。 open_sync表示用带O_SYNC选项的open()写“WAL”文件(支持suse10和suse11)。 不是所有的平台都支持以上参数。 默认值:fdatasync
  • wal_buffers 参数说明:设置用于存放WAL数据的共享内存空间的XLOG_BLCKSZ数,XLOG_BLCKSZ的大小默认为8KB。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:-1~218,最小值为-1,最大值为262144,单位为8KB。 如果设置为-1,表示wal_buffers的大小随着参数shared_buffers自动调整,为shared_buffers的1/64,最小值为8个XLOG_BLCKSZ,最大值为2048个XLOG_BLCKSZ,自动调整后的值小于最小值时会调整为最小值,大于最大值时会调整为最大值。 如果设置为其他值,当小于4时,会被默认设置为4。 默认值: 1GB(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内存);512MB(16核CPU/128G内存);256MB(8核CPU/64G内存);128MB(4核CPU/32G内存);16MB(4核CPU/16G内存) 设置建议:每次事务提交时,WAL缓冲区的内容都写入到磁盘中,因此设置为很大的值不会带来明显的性能提升。如果将它设置成几百兆,就可以在有很多即时事务提交的服务器上提高写入磁盘的性能。根据经验来说,默认值可以满足大多数的情况。
  • commit_delay 参数说明:表示一个已经提交的数据在WAL缓冲区中存放的时间。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置为非 0 值时事务执行commit后不会立即写入WAL中,而仍存放在WAL缓冲区中,等待WalWriter进程周期性写入磁盘。 如果系统负载很高,在延迟时间内,其他事务可能已经准备好提交。但如果没有事务准备提交,这个延迟就是在浪费时间。 取值范围:整型, 0~100000(微秒),其中0表示无延迟。 默认值:0
  • full_page_writes 参数说明:设置GaussDB服务器在检查点之后对页面的第一次修改时,是否将每个磁盘页面的全部内容写到WAL日志中。当增量检查点开关和enable_double_write同时打开时,则不使用full_page_writes。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置这个参数是因为在操作系统崩溃过程中可能磁盘页面只写入了一部分内容,从而导致在同一个页面中包含新旧数据的混合。在崩溃后的恢复期间,由于在WAL日志中存储的行变化信息不够完整,因此无法完全恢复该页。把完整的页面影像保存下来就可以保证页面被正确还原,代价是增加了写入WAL日志的数据量。 关闭此参数,在系统崩溃的时候,可能无法恢复原来的数据。如果服务器硬件的特质(比如电池供电的磁盘控制器)可以减小部分页面的写入风险,或者文件系统特性支持(比如ReiserFS 4),并且清楚知道写入风险在一个可以接受的范畴,可以关闭这个参数。 取值范围:布尔型 on表示启用此特性。 off表示关闭此特性。 默认值:on
  • wal_sender_bind_cpu_attr 参数说明:用于控制日志发送的绑核操作,仅sysadmin用户可以访问。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 'nobind':线程不做绑核。 'cpuorderbind: 8-12': 从8号核开始一个线程绑定一个CPU,区间内核不足就不参与绑定。建议区间大小设置为大于等于参数max_wal_senders。 取值范围:字符串,长度大于0,该参数不区分大小写。 默认值:'nobind'
  • walwriter_sleep_threshold 参数说明:xlogflusher进入sleep之前空闲xlog刷新的次数,达到阈值会休眠。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,1-50000。 默认值:500(196核CPU/1536G内存,128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存,96核CPU/768G内存,80核CPU/640G内存,64核CPU/512G内存,60核CPU/480G内存);50(32核CPU/256G内存,16核CPU/128G内存,8核CPU/64G内存,4核CPU/32G内存,4核CPU/16G内存)