云服务器内容精选

  • 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_delay 参数说明:设置后端写线程写"脏"共享缓冲区之间的时间间隔。每一次,后端写线程都会为一些脏的缓冲区发出写操作,全量checkpoint模式用bgwriter_lru_maxpages参数控制每次写的量,然后休眠bgwriter_delay毫秒后才再次启动;增量checkpoint模式下,根据设定candidate_buf_percent_target计算目标空闲缓冲页面个数,不足时每隔bgwriter_delay毫秒刷一批页面下盘,刷页个数根据目标差距百分比计算,会根据max_io_capacity限制最大数量。 在许多系统上,休眠延时的有效分辨率是10毫秒。因此,设置一个不是10倍数的数值与把它设置为一个10的倍数是一样的效果。 参数类型:整型 参数单位:毫秒 取值范围:10~10000 默认值:2s(即2000ms) 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议: 增量checkpoint模式:数据量是shared_buffers多倍时,bgwriter_delay设置值不宜大于2s;数据量比shared_buffers小时,bgwriter_delay如果为了节省IO,可以适当调大。 全量checkpoint模式:默认值即可,但是磁盘能力差的,可以适当调大。
  • 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回收。
  • candidate_buf_percent_target 参数说明:用于增量检查点打开时,设置候选buffer链中可用buffer数目占据shared_buffer百分比的期望值,若当前候选链中的数目占据的百分比小于该值,bgwriter线程会启动,将满足条件的脏页刷盘。 参数类型:双精度浮点型 参数单位:无 取值范围:0.1 ~ 0.85 默认值:0.3 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:该参数直接影响bgwriter线程刷页个数。当数据量大于shared_buffers时,设置过小,会影响性能。若数据量是shared_buffers的2倍及以上,该值不宜小于默认值;其他场景下,若想减少IO,可适当调小该参数。
  • 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
  • bgwriter_delay 参数说明:设置后端写线程写"脏"共享缓冲区之间的时间间隔。每一次,后端写线程都会为一些脏的缓冲区发出写操作,全量checkpoint模式用bgwriter_lru_maxpages参数控制每次写的量,然后休眠bgwriter_delay毫秒后才再次启动;增量checkpoint模式下,根据设定candidate_buf_percent_target计算目标空闲缓冲页面个数,不足时每隔bgwriter_delay毫秒刷一批页面下盘,刷页个数根据目标差距百分比计算,会根据max_io_capacity限制最大数量。 在许多系统上,休眠延时的有效分辨率是10毫秒。因此,设置一个不是10倍数的数值与把它设置为一个10的倍数是一样的效果。 参数类型:整型 参数单位:毫秒 取值范围:10~10000 默认值:2s(即2000ms) 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议: 增量checkpoint模式:数据量是shared_buffers多倍时,bgwriter_delay设置值不宜大于2s;数据量比shared_buffers小时,bgwriter_delay如果为了节省IO,可以适当调大。 全量checkpoint模式:默认值即可,但是磁盘能力差的,可以适当调大。
  • max_io_capacity 参数说明:设置后端写线程批量刷页每秒的IO上限。 参数类型:整型 参数单位:kB 取值范围:30720~10485760 默认值:512000kB(500MB) 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。取值不带单位,则默认为kB;取值如果要带单位,必须为kB、MB、GB。 设置建议:根据具体业务场景和机器磁盘IO能力进行设置。要求RTO很短时间或者数据量比共享内存大多倍的情况,业务访问数据量又是随机访问时,该值不宜过小。该参数设置较小会减小后端写线程刷页个数,如果业务触发页面淘汰多时,该值设置小会影响业务。
  • pagewriter_sleep 参数说明:设置用于增量检查点打开后,pagewriter线程每隔pagewriter_sleep的时间刷一批脏页下盘。当脏页占据shared_buffers的比例达到dirty_page_percent_max时,每批页面数量以设定的max_io_capacity计算出的值刷页,其余情况每批页面数量按比例相对减少。 参数类型:整型 参数单位:毫秒 取值范围:0~3600000 默认值:2000ms(2s) 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:不宜设置大于2s。脏页产生很快的情况下,建议设置100ms - 500ms,因为设置过大会导致redo点推进过慢,影响xlog回收。
  • bgwriter_flush_after 参数说明:设置background writer线程刷页个数超过设定的阈值时,告知操作系统开始将操作系统缓存中的页面异步刷盘。GaussDB中,磁盘页大小为8KB。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0~256(0表示关闭异步刷盘功能),单位页面(8KB)。可以设置页面的数量或字节的大小,例如,取值64或512KB,表示background writer线程连续写64个磁盘页,即64*8=512KB磁盘空间后会进行异步刷盘。 默认值:512KB(即64个页面)
  • backend_flush_after 参数说明:设置backend线程刷页个数超过设定的阈值时,告知操作系统开始将操作系统缓存中的页面异步刷盘。GaussDB中,磁盘页大小为8KB。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0~256(0表示关闭异步刷盘功能),单位页面(8KB)。可以设置页面的数量或字节的大小,例如,取值64或512KB,表示backend线程连续写64个磁盘页,即64*8=512KB磁盘空间后会进行异步刷盘。 默认值:0
  • checkpoint_flush_after 参数说明:设置checkpointer线程刷页个数超过设定的阈值时,告知操作系统开始将操作系统缓存中的页面异步刷盘。GaussDB中,磁盘页大小为8KB。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0~256(0表示关闭异步刷盘功能),单位页面(8K)。可以设置页面的数量或字节的大小,例如,取值32或256KB,表示checkpointer线程连续写32个磁盘页,即32*8=256KB磁盘空间后会进行异步刷盘。 默认值:256KB
  • temp_file_limit 参数说明:限制一个会话中,触发下盘操作时,下盘文件占用的空间大小。例如一次会话中,排序和哈希表使用的临时文件,或者游标占用的临时文件。此设置为会话级别的下盘文件控制。 参数类型:整型 参数单位:kB SQL查询执行时使用的临时表空间不在此限制。 取值范围:-1~2147483647,其中-1表示没有限制。 默认值:-1 设置方式:该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:无。
  • maintenance_work_mem 参数说明:设置在维护性操作(比如VACUUM、CREATE INDEX等)中可使用的最大的内存。该参数的设置会影响VACUUM、VACUUM FULL、CLUSTER、CREATE INDEX的执行效率。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,1024~2147483647‬,单位为KB。 默认值: 独立部署: CN:1GB(60核CPU/480G内存);512MB(32核CPU/256G内存);256MB(16核CPU/128G内存);128MB(8核CPU/64G内存);64MB(4核CPU/32G内存);32MB(4核CPU/16G内存) DN:2GB(60核CPU/480G内存);1GB(32核CPU/256G内存);512MB(16核CPU/128G内存);256MB(8核CPU/64G内存);128MB(4核CPU/32G内存);64MB(4核CPU/16G内存) 金融版(标准型): CN:1GB(196核CPU/1536G内存,128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存,96核CPU/768G内存,80核CPU/640G内存);512MB(72核CPU/576G内存,64核CPU/512G内存);256MB(60核CPU/480G内存,32核CPU/256G内存,16核CPU/128G内存,8核CPU/64G内存) DN:2GB(196核CPU/1536G内存,128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存,96核CPU/768G内存,80核CPU/640G内存,72核CPU/576G内存,64核CPU/512G内存,60核CPU/480G内存);1GB(32核CPU/256G内存);512MB(16核CPU/128G内存);256MB(8核CPU/64G内存) 企业版: CN:1GB(196核CPU/1536G内存,128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存,96核CPU/768G内存,80核CPU/640G内存,80核CPU/512G内存);512MB(72核CPU/576G内存,64核CPU/512G内存);256MB(60核CPU/480G内存,32核CPU/256G内存,16核CPU/128G内存,8核CPU/64G内存) DN:2GB(196核CPU/1536G内存,128核CPU/1024G内存,104核CPU/1024G内存,96核CPU/1024G内存,96核CPU/768G内存,80核CPU/640G内存,80核CPU/512G内存,72核CPU/576G内存,64核CPU/512G内存,60核CPU/480G内存);1GB(32核CPU/256G内存);512MB(16核CPU/128G内存);256MB(8核CPU/64G内存) 金融版(数据计算型): CN:1GB(196核CPU/1536G内存,128核CPU/1024G内存,96核CPU/768G内存);256MB(72核CPU/576G内存,64核CPU/512G内存);128MB(32核CPU/256G内存) DN:2GB(196核CPU/1536G内存,128核CPU/1024G内存,96核CPU/768G内存);1GB(72核CPU/576G内存,64核CPU/512G内存);512MB(32核CPU/256G内存) 设置建议: 建议设置此参数的值大于work_mem,可以改进清理和恢复数据库转储的速度。因为在一个数据库会话里,任意时刻只有一个维护性操作可以执行,并且在执行维护性操作时不会有太多的会话。 当自动清理线程运行时,autovacuum_max_workers倍数的内存将会被分配,所以此时设置maintenance_work_mem的值应该不小于work_mem。 如果进行大数据量的cluster等,可以在session中调大该值。