我是靠谱客的博主 眼睛大冷风,最近开发中收集的这篇文章主要介绍checkpoints相关参数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

checkpoint就是把共有内存里面更新过的数据写到磁盘(磁盘缓存)里面的处理。有两个参数控制写入的时机和频率,两个参数同时有效,满足任何一个条件都会执行写入处理。(应该是。。^_^;)


checkpoint_segments:定量,写入大小。 一个是16MB,默认是3,所以就是48MB。到了这个量就会调用写入处理。
checkpoint_timeout:定时,写入间隔。默认是5min(五分种)。过了5分钟就调入写入处理。


这两个参数很容易理解,而判断设置的合适不合适,就要看实际的运用了。
如果日志文件里面频繁出现下列的提示,就要考虑调整上述两个参数了。


HINT: Consider increasing the configuration parameter "checkpoint_segments".
LOG: checkpoints are occurring too frequently (25 seconds apart)


这个提示说明,共享内存里面的数据更新的很频繁,就算写入磁盘之后,马上又会被更新。这时就可以加大一下写入间隔和写入大小,再看看效果。但是如果在vacuum或者在定时处理的时候出现上述提示的话,基本可以不理会。


另外还有一个参数,checkpoint_completion_target,是控制写入处理的分步程度的。
默认是0.5,也就是说,一次需要写入的内容,实际上不是一次全部完成,而是在写入间隔中分步完成的。


例如:
checkpoint_timeout是5分钟,而checkpoint_completion_target是0.5的话,
那么实际上是用了2分30秒来分步写入变更过的数据。每次写入不需要大量的缓存,可以加快写入效率。
当然是越分步越好了,所以推荐设置成0.9。 当然不能超过1啦,会跟下一次的写入发生冲突。

最后

以上就是眼睛大冷风为你收集整理的checkpoints相关参数的全部内容,希望文章能够帮你解决checkpoints相关参数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部