Using PostgreSQL async commit reduce write IO
时间:2011-02-22
来源:互联网
今天上了一个新的应用,使用的PostgreSQL数据库。
数据库写非常频繁,并且是单步提交。对数据库的WAL所在的磁盘是一个巨大的挑战。因为默认情况下,所有的提交都是同步写到WAL中的。
当时观察到的WAL所在的磁盘,%UTIL接近50%,要知道WAL属于连续性写,对磁盘IO的冲击这么大已经比较严重了。
解决这个问题有两种方法。
1. 取消单步提交,使用多步提交。
2. 在应用允许的情况下数据库使用异步提交(全局或者SESSION模式)。
使用第一种方法的话需要应用修改,显然立马解决还需要一定时间。
使用第二种方法非常快,数据库修改一个参数,不需要重启就可以解决。只不过要承担约3×wal_write_delay 的数据丢失风险。
最后与开发人员商议,觉得采用数据库端修改参数的方法。
修改后只能用立竿见影来形容:WAL所在磁盘的%UTIL降到4%以下.
数据库写非常频繁,并且是单步提交。对数据库的WAL所在的磁盘是一个巨大的挑战。因为默认情况下,所有的提交都是同步写到WAL中的。
当时观察到的WAL所在的磁盘,%UTIL接近50%,要知道WAL属于连续性写,对磁盘IO的冲击这么大已经比较严重了。
解决这个问题有两种方法。
1. 取消单步提交,使用多步提交。
2. 在应用允许的情况下数据库使用异步提交(全局或者SESSION模式)。
使用第一种方法的话需要应用修改,显然立马解决还需要一定时间。
使用第二种方法非常快,数据库修改一个参数,不需要重启就可以解决。只不过要承担约3×wal_write_delay 的数据丢失风险。
最后与开发人员商议,觉得采用数据库端修改参数的方法。
修改后只能用立竿见影来形容:WAL所在磁盘的%UTIL降到4%以下.
作者: digoal 发布时间: 2011-02-22
这个文档看得不是很明白。
作者: renxiao2003 发布时间: 2011-02-28
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28