Help us understand the problem. What is going on with this article?

PostgreSQLのWALファイル(トランザクションログ)見積もり

More than 1 year has passed since last update.

はじめに

PostgreSQLの設計を行うときの、WALファイル(トランザクションログ)の見積もり方法についてまとめました。

WALファイル(トランザクションログ)

PostgreSQL 9.5 より、WALファイルの設定パラメータ「checkpoint_segments」が、「min_wal_size」と「max_wal_size」に置き換えられた。
「max_wal_size」は、チェックポイントの間にWALが増加する最大サイズであり、 デフォルト値は1GB(WALファイル64個分)になる。
この設定値が小さい場合は障害発生時のリカバリ時間が短くなるが、チェックポイントが頻繁に行われることで性能に影響する。
また設定値を大きくすることで性能への影響を考慮できるが、ディスク容量の増大や障害発生時のリカバリに必要な時間が長くなる。

よって、性能への影響を考慮する場合は、大きいデータ更新などのトランザクション発生時に「max_wal_size」が満たせるように設計する。

例として以下に示す計算式で見積もる。
(※)WAL領域の枯渇はトランザクションの停止に繋がるため、少し多めを考慮したほうがいいと考える。

データ更新件数:100件/日
トランザクション量:10MB/回

見積りサイズ = 100 * 10 * 安全率
→安全率を1.5とすると約1.5GBになるので、切り上げて2GBとする。

アーカイブログ

アーカイブログはポイントインタイムリカバリ(PITR)時に必要となるファイルで、アーカイブモード有効時に出力される。運用としてデータベースのフルバックアップを週に一回で行い、かつ、差分バックアップとしてアーカイブログを日時でバックアップするときの見積もりについて考える。

アーカイブログは、以前にバックアップした時点から現在までのトランザクションログのアーカイブである。また、バックアップの期間と更新トランザクションの内容によって変動する。そのため、バックアップの期間が長いほど、更新トランザクションが多いほど、アーカイブログの容量は増加する。よって、アーカイブファイルはWALファイルと同一のものになるので、以下に示す計算式で見積もる。

例として上記WALファイルの見積もりを基に以下に示す計算式で見積もる。

WALファイルサイズ:2GB
バックアップの世代数:7

見積りサイズ = 2 * 7 * 安全率
→同じく安全率を1.5とした場合、21GBになる。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした