云服务器内容精选

  • 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,可适当调小该参数。
  • 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模式:默认值即可,但是磁盘能力差的,可以适当调大。
  • max_io_capacity 参数说明:设置后端写线程批量刷页每秒的IO上限。 参数类型:整型 参数单位:kB 取值范围:30720~10485760 默认值:512000kB(500MB) 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。取值不带单位,则默认为kB;取值如果要带单位,必须为kB、MB、GB。 设置建议:根据具体业务场景和机器磁盘IO能力进行设置。要求RTO很短时间或者数据量比共享内存大多倍的情况,业务访问数据量又是随机访问时,该值不宜过小。该参数设置较小会减小后端写线程刷页个数,如果业务触发页面淘汰多时,该值设置小会影响业务。
  • 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
  • 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回收。
  • checkpoint_flush_after 参数说明:设置checkpointer线程刷页个数超过设定的阈值时,告知操作系统开始将操作系统缓存中的页面异步刷盘。 GaussDB 中,磁盘页大小为8KB。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0~256(0表示关闭异步刷盘功能),单位页面(8K)。可以设置页面的数量或字节的大小,例如,取值32或256KB,表示checkpointer线程连续写32个磁盘页,即32*8=256KB磁盘空间后会进行异步刷盘。 默认值:256KB
  • 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
  • temp_file_limit 参数说明:限制一个会话中,触发下盘操作时,下盘文件占用的空间大小。例如一次会话中,排序和哈希表使用的临时文件,或者游标占用的临时文件。此设置为会话级别的下盘文件控制。 参数类型:整型 参数单位:kB SQL查询执行时使用的临时表空间不在此限制。 取值范围:-1~2147483647,其中-1表示没有限制。 默认值:-1 设置方式:该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:无。
  • max_stack_depth 参数说明:设置GaussDB执行堆栈的最大安全深度。需要这个安全界限是因为在服务器里,并非所有程序都检查了堆栈深度,只是在可能递规的过程,比如表达式计算这样的过程里面才进行检查。 参数类型:整型 参数单位:KB 取值范围:100~2147483647 默认值: (ulimit -s的设置)- 640 KB的值大于等于2MB时,此参数的默认值为2MB。 (ulimit -s的设置)- 640 KB的值小于2MB时,此参数的默认值为(ulimit -s的设置)- 640 KB。 设置方式:该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 设置建议: 数据库需要预留640KB堆栈深度,因此此参数可设置的最大值等于操作系统内核允许的最大值(就是ulimit -s的设置)- 640KB。 数据库未运行前设置的该参数值大于(ulimit -s的设置)- 640 KB时会导致数据库启动失败;数据库运行阶段设置该参数值大于(ulimit -s的设置)- 640 KB时该值不生效。 若(ulimit -s的设置)-640KB小于此参数取值范围的最小值时会导致数据库启动失败。 如果设置此参数的值大于实际的内核限制,则一个正在运行的递归函数可能会导致一个独立的服务器进程崩溃。 因为并非所有的操作都能够检测,所以建议用户在此设置一个明确的值。 默认值最大为2MB,这个值相对比较小,不容易导致系统崩溃。