云服务器内容精选

  • commit_delay 参数说明:表示一个已经提交的数据在WAL缓冲区中存放的时间。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置为非 0 值时事务执行commit后不会立即写入WAL中,而仍存放在WAL缓冲区中,等待WalWriter进程周期性写入磁盘。 如果系统负载很高,在延迟时间内,其他事务可能已经准备好提交。但如果没有事务准备提交,这个延迟就是在浪费时间。 取值范围:整型, 0~100000(微秒),其中0表示无延迟。 默认值:0
  • wal_flush_timeout 参数说明:遍历WalInsertStatusEntryTbl的超时时间。Xlog刷盘自适应控制的刷盘IO遍历WalInsertStatusEntryTbl等待的最大时间。 该参数属于SIGHUP类型参数,请参考表2中对应设置方法进行设置。 如果时间过长可能造成Xlog刷盘频率降低,降低Xlog处理性能。 取值范围:整型, 0 ~ 90000000(微秒) 默认值:2us
  • wal_buffers 参数说明:设置用于存放WAL数据的共享内存空间的X LOG _BLCKSZ数,XLOG_BLCKSZ的大小默认为8KB。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:-1~218,最小值为-1,最大值为262144,单位为8KB。 如果设置为-1,表示wal_buffers的大小随着参数shared_buffers自动调整,默认为shared_buffers的1/32。当该值小于8时,会被强制设置为8;当该值大于2048时,会被强制设置为2048。 如果设置为其他值,当小于4时,会被强制设置为4。 独立部署:1GB(60核CPU/480G内存,32核CPU/256G内存);512MB(16核CPU/128G内存);256MB(8核CPU/64G内存);128MB(4核CPU/32G内存);64MB(4核CPU/16G内存) 设置建议:每次事务提交时,WAL缓冲区的内容都写入到磁盘中,因此设置为很大的值不会带来明显的性能提升。如果将它设置成几百兆,就可以在有很多即时事务提交的服务器上提高写入磁盘的性能。根据经验来说,默认值可以满足大多数的情况。
  • full_page_writes 参数说明:设置 GaussDB 服务器在检查点之后对页面的第一次修改时,是否将每个磁盘页面的全部内容写到WAL日志中。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置这个参数是因为在操作系统崩溃过程中可能磁盘页面只写入了一部分内容,从而导致在同一个页面中包含新旧数据的混合。在崩溃后的恢复期间,由于在WAL日志中存储的行变化信息不够完整,因此无法完全恢复该页。把完整的页面影像保存下来就可以保证页面被正确还原,代价是增加了写入WAL日志的数据量。 关闭此参数,在系统崩溃的时候,可能无法恢复原来的数据。如果服务器硬件的特质(比如电池供电的磁盘控制器)可以减小部分页面的写入风险,或者文件系统特性支持(比如ReiserFS 4),并且清楚知道写入风险在一个可以接受的范畴,可以关闭这个参数。 取值范围:布尔型 on表示启用此特性。 off表示关闭此特性。 默认值:on
  • fsync 参数说明:设置GaussDB服务器是否使用fsync()系统函数(请参见wal_sync_method)确保数据的更新及时写入物理磁盘中。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 使用fsync()系统函数可以保证在操作系统或者硬件崩溃的情况下将数据恢复到一个已知的状态。 如果将此参数关闭,可能会在系统崩溃时无法恢复原来的数据,导致数据库不可用。 取值范围:布尔型 on表示使用fsync()系统函数。 off表示不使用fsync()系统函数。 默认值:on
  • 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_level 参数说明:设置写入WAL信息量的级别,不能为空或被注释掉。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 如果需要启用WAL日志归档和主备机的数据流复制,必须将此参数设置为archive、hot_standby或者logical。 如果该参数设置为archive或minimal,则hot_standby必须设置为off,因为分布式环境下该参数不支持设置hot_standby为off,因此不建议该参数设置为archive或minimal,否则数据库将无法启动。 取值范围:枚举类型 minimal 优点:一些重要操作(包括创建表、创建索引、簇操作和表的复制)都能安全的跳过,这样就可以使操作变得更快。 缺点:WAL仅提供从数据库服务器崩溃或者紧急关闭状态恢复时所需要的基本信息,无法用WAL归档日志恢复数据。 archive 这个参数增加了WAL归档需要的日志信息,从而可以支持数据库的归档恢复。 hot_standby 这个参数进一步增加了在备机上运行的SQL查询的信息,这个参数只能在数据库服务重新启动后生效。 为了在备机上开启只读查询,wal_level必须在主机上设置成hot_standby,并且备机必须打开hot_standby参数。hot_standby和archive级别之间的性能只有微小的差异,如果它们的设置对产品的性能影响有明显差异,欢迎反馈。 logical 设置为logical后才可以进行逻辑日志解析,设置后xlog日志中会额外记录主键信息。 默认值:hot_standby
  • synchronous_commit 参数说明:设置当前事务的同步方式。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 通常情况下,一个事务产生的日志的同步顺序如下: 主机将日志内容写入本地内存。 主机将本地内存中的日志写入本地文件系统。 主机将本地文件系统中的日志内容刷盘。 主机将日志内容发送给备机。 备机接收到日志内容,存入备机内存。 备机将备机内存中的日志写入备机文件系统。 备机将备机文件系统中的日志内容刷盘。 备机回放日志,完成对数据文件的增量更新。 取值范围:枚举类型 on(true, yes, 1):表示主机事务提交需要等待备机将对应日志刷新到磁盘。 off(false, no, 0):表示主机事务提交无需等待主机自身将对应日志刷新到磁盘,通常也称为异步提交。 local:表示主机事务提交需要等待主机自身将对应日志刷新到磁盘,通常也称为本地提交。 remote_write:表示主机事务提交需要等待备机将对应日志写到文件系统(无需刷新到磁盘)。 remote_receive:表示主机事务提交需要等待备机接收到对应日志数据(无需写入文件系统)。 remote_apply:表示主机事务提交需要等待备机完成对应日志的回放操作。 true:同on。 false:同off。 yes:同on。 no:同off。 1:同on。 0:同off。 2:同remote_apply。 默认值:on
  • commit_delay 参数说明:表示一个已经提交的数据在WAL缓冲区中存放的时间。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置为非 0 值时事务执行commit后不会立即写入WAL中,而仍存放在WAL缓冲区中,等待WalWriter进程周期性写入磁盘。 如果系统负载很高,在延迟时间内,其他事务可能已经准备好提交。但如果没有事务准备提交,这个延迟就是在浪费时间。 取值范围:整型, 0~100000(微秒),其中0表示无延迟。 默认值:0
  • wal_flush_timeout 参数说明:遍历WalInsertStatusEntryTbl的超时时间。Xlog刷盘自适应控制的刷盘IO遍历WalInsertStatusEntryTbl等待的最大时间。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 如果时间过长可能造成Xlog刷盘频率降低,降低Xlog处理性能。 取值范围:整型, 0 ~ 90000000(微秒) 默认值:2us
  • 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_file_init_num 参数说明:WAL编写器将创建的xlog段文件的数量。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0~1000000。 默认值:10(128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存,96核CPU/768G内存,64核CPU/512G内存,60核CPU/480G内存);0(32核CPU/256G内存,16核CPU/128G内存,8核CPU/64G内存,4核CPU/32G内存,4核CPU/16G内存)
  • 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(128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存,96核CPU/768G内存,64核CPU/512G内存,60核CPU/480G内存,32核CPU/256G内存);512MB(16核CPU/128G内存);256MB(8核CPU/64G内存);128MB(4核CPU/32G内存);64MB(4核CPU/16G内存) 设置建议:每次事务提交时,WAL缓冲区的内容都写入到磁盘中,因此设置为很大的值不会带来明显的性能提升。如果将它设置成几百兆,就可以在有很多即时事务提交的服务器上提高写入磁盘的性能。根据经验来说,默认值可以满足大多数的情况。
  • full_page_writes 参数说明:设置GaussDB服务器在检查点之后对页面的第一次修改时,是否将每个磁盘页面的全部内容写到WAL日志中。当增量检查点开关和enable_double_write同时打开时,则不使用full_page_writes。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置这个参数是因为在操作系统崩溃过程中可能磁盘页面只写入了一部分内容,从而导致在同一个页面中包含新旧数据的混合。在崩溃后的恢复期间,由于在WAL日志中存储的行变化信息不够完整,因此无法完全恢复该页。把完整的页面影像保存下来就可以保证页面被正确还原,代价是增加了写入WAL日志的数据量。 关闭此参数,在系统崩溃的时候,可能无法恢复原来的数据。如果服务器硬件的特质(比如电池供电的磁盘控制器)可以减小部分页面的写入风险,或者文件系统特性支持(比如ReiserFS 4),并且清楚知道写入风险在一个可以接受的范畴,可以关闭这个参数。 取值范围:布尔型 on表示启用此特性。 off表示关闭此特性。 默认值:on
  • walwriter_sleep_threshold 参数说明:xlogflusher进入sleep之前空闲xlog刷新的次数,达到阈值会休眠。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,1-50000。 默认值:500(128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存,96核CPU/768G内存,64核CPU/512G内存,60核CPU/480G内存);50(32核CPU/256G内存,16核CPU/128G内存,8核CPU/64G内存,4核CPU/32G内存,4核CPU/16G内存)