300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > WAL日志磁盘空间占用大小分析

WAL日志磁盘空间占用大小分析

时间:2022-05-24 21:56:13

相关推荐

WAL日志磁盘空间占用大小分析

作者:瀚高PG实验室(Highgo PG Lab)-Chrisx

WAL日志磁盘空间占用大小分析

文章目录

WAL日志磁盘空间占用大小分析参数影响WAL大小的因素

参数

通常情况下,pg_wal目录中的 WAL 段文件数量取决于min_wal_size、max_wal_size以及在之前的检查点周期中产生的 WAL 数量。

max_wal_size,两个检查点之间,wal可增长的最大大小,这是一个软限制。min_wal_size,检查点后用来保留的,用于未来循环使用的wal文件。可以被用来确保有足够的 WAL 空间被保留来应付 WAL 使用的高峰

WAL空间使用情况如下

如果日志量大于max_wal_size,则WAL日志空间尽量保持在max_wal_size。因为会触发检查点,不需要的段文件将被移除直到系统回到这个限制以下。如果日志量小于max_wal_size,则WAL日志空间至少保持min_wal_size。通常情况下,WAL日志空间大小在min_wal_size和max_wal_size之间动态评估。该估计基于在以前的检查点周期中使用的WAL文件数的动态平均值。如果实际使用量超过估计值,动态平均数会立即增加。

如:

postgres=# select name,setting,unit from pg_settings where name like '%wal_size%';name| setting | unit--------------+---------+------max_wal_size | 1024 | MBmin_wal_size | 80| MB(2 rows)

$ lltotal 81936drwx------ 3 pg126 pg1264096 Apr 28 10:09 ./drwx------ 20 pg126 pg1264096 Apr 29 15:18 ../-rw------- 1 pg126 pg126337 Apr 14 14:02 000000010000000000000009.00000028.backup-rw------- 1 pg126 pg126 16777216 Apr 28 16:09 00000001000000000000000A-rw------- 1 pg126 pg126 16777216 Apr 14 13:52 00000001000000000000000B-rw------- 1 pg126 pg126 16777216 Apr 14 13:52 00000001000000000000000C-rw------- 1 pg126 pg126 16777216 Apr 14 14:02 00000001000000000000000D-rw------- 1 pg126 pg126 16777216 Apr 14 14:02 00000001000000000000000Edrwx------ 2 pg126 pg1264096 Apr 28 10:09 archive_status/

pg_wal大小至少保留80MB的文件,也就是00000001000000000000000A-E 5个文件

执行一个大型操作,查看pg_wal大小超过了1GB

$ du -sm pg_wal1329 pg_wal

执行检查点后,查看pg_wal大小为801MB,低于1GB

$ du -sm pg_wal/801pg_wal/

再次执行检查点后,查看pg_wal大小依然为801MB,与上一个检查点周期WAL大小一致

$ du -sm pg_wal/801pg_wal/

影响WAL大小的因素

其他情况下,会有以下因素影响WAL大小。

WAL异常增长,或WAL一直膨胀且超过max_wal_size,执行检查点后,WAL使用量未见降低或WAL日志不会被删除重用,需要排查以下因素。

独立于max_wal_size之外,wal_keep_size(MB)+ 1 个最近的 WAL 文件将总是被保留。(pg13之前的版本是wal_keep_segments)启用了WAL 归档,旧的段在被归档之前不能被移除或者再利用。启用了复制槽功能,一个使用了复制槽的较慢或者失败的后备服务器也会导致WAL不能被删除或重用。checkpoing未完成,长事务未提交。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。