华为云云数据库GaussDB案例:调整I/O相关参数降低日志膨胀率_云淘科技

调整参数前的参数值:

pagewriter_sleep=2000ms
bgwriter_delay=2000ms
max_io_capacity=500MB

调整参数后的参数值:

pagewriter_sleep=100ms
bgwriter_delay=1s
max_io_capacity=300MB

将max_io_capacity调整小是因为,IO不会利用到之前参数的最大值,调整该值,是为了限制后端写进程IO的占用上限。
当日志量达到一定量时,日志才会触发回收,该值的计算方式是wal_keep_segments + checkpoint_segments * 2 + 1 ,假设 checkpoint_segments 设置128,wal_keep_segments 设置128,日志量就是 (128 + 128 * 2 + 1) * 16MB = 6GB。
调整参数前,tpcc导数阶段,不同的数据量xlog有不同程度的膨胀,基本会导致GB级别的日志膨胀,主要是因为脏页未刷盘,recovery点不能推进,日志不能及时回收。调整参数后,日志膨胀明显降低。
以2000仓为例,调整参数前,导数阶段,日志膨胀10GB,调整参数后,日志基本没有膨胀,维持在设置的参数计算出的xlog最低量的范围内。

父主题: 实际调优案例

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家