网站建设中小企业广西,未来做啥网站致富,怎么开发网站程序,济南网站建设老威一、默认参数含义分析1 checkpoint_timeoutcheckpoint_timeout 900s含义#xff1a;两次 checkpoint 最大时间间隔900 秒 15分钟即#xff1a;每15分钟至少触发一次 checkpoint触发条件#xff1a;1️⃣ WAL写满 2️⃣ 到达 checkpoint_timeout谁先到谁触发。2 checkpoint…一、默认参数含义分析1 checkpoint_timeoutcheckpoint_timeout 900s含义两次 checkpoint 最大时间间隔900 秒 15分钟即每15分钟至少触发一次 checkpoint触发条件1️⃣ WAL写满2️⃣ 到达 checkpoint_timeout谁先到谁触发。2 checkpoint_segmentscheckpoint_segments 64含义允许 WAL 在两个 checkpoint 之间增长到64个 segment默认1 segment 16MB所以 WAL 最大64 × 16MB 1GB也就是WAL达到1GB就触发checkpoint3 checkpoint_completion_targetcheckpoint_completion_target 0.5含义checkpoint写脏页的分布比例公式checkpoint写入时间 checkpoint_timeout × target所以15分钟 × 0.5 7.5分钟即7.5分钟内慢慢刷脏页如果值太小IO突刺如果值太大checkpoint结束时压力大4 checkpoint_flush_aftercheckpoint_flush_after 32 (8kB)含义32 × 8k 256KB每写256KB刷盘。这是减少 page cache 脏页堆积。5 checkpoint_wait_timeoutcheckpoint_wait_timeout 60s含义checkpointer 最多等待 60 秒启动一般不用改。6 checkpoint_warningcheckpoint_warning 300s含义如果checkpoint 频率小于 300秒日志报警checkpoints are occurring too frequently二、openGauss 特有参数这是和 PostgreSQL 最大的不同。1 enable_incremental_checkpointenable_incremental_checkpoint on含义启用增量 checkpoint原理传统 checkpoint一次刷大量 dirty buffer增量 checkpoint逐步刷脏页优点IO更平滑减少checkpoint抖动openGauss 默认开启。2 incremental_checkpoint_timeoutincremental_checkpoint_timeout 60s含义每60秒执行一次增量 checkpoint也就是每分钟刷一部分脏页效果减少checkpoint瞬时IO三、默认参数配置优化参数当前值评价checkpoint_timeout900正常checkpoint_segments64偏小completion_target0.5偏小incremental_checkpointon很好最大问题checkpoint_segments 偏小如果业务写入多容易频繁 checkpoint。生产环境推荐checkpoint_timeout 15mincheckpoint_segments 256checkpoint_completion_target 0.9enable_incremental_checkpoint onincremental_checkpoint_timeout 60解释checkpoint_segments256 × 16MB 4GB WAL减少 checkpoint 频率。completion_target0.9写入更均匀。避免 IO spike。优点减少checkpoint降低IO抖动提升TPS四、如何判断 checkpoint 是否频繁查看统计openGauss# select * from pg_stat_bgwriter;-[ RECORD 1 ]---------------------------------------checkpoints_timed | 2896checkpoints_req | 3checkpoint_write_time | 0checkpoint_sync_time | 1139084buffers_checkpoint | 0buffers_clean | 0maxwritten_clean | 0buffers_backend | 0buffers_backend_fsync | 0buffers_alloc | 0stats_reset | 2026-03-09 11:04:40.13821808重点字段字段含义checkpoints_timed时间触发checkpoints_reqWAL触发判断规则如果checkpoints_req 很高说明WAL写满触发checkpoint需要增加checkpoint_segments五、建议打开checkpoint日志现在log_checkpoints off建议log_checkpoints on修改vi postgresql.conflog_checkpoints on重载gs_ctl reload日志会看到checkpoint complete:wrote 12345 buffers可以分析checkpoint耗时写脏页数量WAL大小