Toggle navigation

checkpoint_flush_after

类型: integer
默认: 32
最低限度: 0
最大: 256
单元: 8kB
上下文: sighup
重新开始: false
以来: 9.6

在执行检查点时,只要有checkpoint_flush_after字节被写入,就尝试强制 OS 把这些写发送到底层存储。这样做将会限制内核页面高速缓存中的脏数据数量,降低在检查点末尾发出fsync或者 OS 在后台大批量写回数据时被卡住的可能性。那常常会导致大幅度压缩的事务延迟,但是也有一些情况(特别是负载超过shared_buffers但小于 OS 页面高速缓存)的性能会降低。这种设置可能会在某些平台上没有效果。合法的范围在0(禁用强制写回)和2MB之间。Linux 上的默认值是256kB,其他平台上是0(如果BLCKSZ不是8kB,则默认值和最大值会按比例缩放到它)。这个参数只能在postgresql.conf文件中或者服务器命令行上设置。

建议 [EN]

Unless you have time to tune memory flushing behavior and test for improvements/regressions

条评论