データベースサーバーの空きストレージ容量の一時的な変動について

質問

🕓 事例公開日 : 2025-08-26

【背景】

運用管理サイトでデータベースサーバーのリソース状況を監視している中で、空きストレージ容量に関して気になる動作を発見しました。通常、空きストレージ容量は減少または横ばいで推移し、増加することは基本的にないと理解していましたが、実際の動作が想定と異なっていたため確認したいと思います。

Q1.

毎朝8:30頃に空きストレージ容量が一時的に減少し、その後すぐに元の水準まで回復する現象が発生しています。この動作の原因を教えてください。

Q2.

通常は15分程度で容量が回復するのですが、7/28 8:00から7/29 8:00までの約24時間、空きストレージ容量が下がったままの状態が続きました。この長時間の容量減少が発生した原因を知りたいです。

回答

A1.

毎朝8:30頃に発生している空きストレージ容量の一時的な減少は、PostgreSQLの正常な動作として想定される現象です。
PostgreSQLでは以下のような処理により一時的にディスク領域を使用し、処理完了後に自動的に解放されます:

1. 一時テーブルやソート処理による作業領域の使用

2. 自動メンテナンス処理(VACUUM、ANALYZE)による一時的な作業領域の使用
毎朝8:30という定期的な時刻での発生と、処理後の容量回復パターンから、PostgreSQLの正常な動作と判断できます。この時間帯に実行されているジョブネットや各種処理がある場合は、そのデータベースアクセス内容をご確認いただくことをお勧めします。

A2.

7/28から7/29にかけて約24時間継続した容量減少についても、PostgreSQLを含むデータベースシステムで発生しうる一般的な動作の範囲内です。
通常15分程度で回復する容量使用が長時間継続した要因として、以下の可能性が考えられます:
1. **長時間実行トランザクション**

完了していないトランザクションが存在する間、関連するデータ領域が保持され続けます
2. **大量データの一時保持**

バッチ処理等で作成された一時テーブルやソート用作業領域が、処理完了まで長時間保持される場合があります
3. **VACUUM処理の待機**

アクティブなトランザクションが存在する場合、不要領域の回収処理が遅延し、使用領域が維持される状態が継続します
4. **ログファイルの蓄積**

トランザクションログやWALファイルが通常より多く蓄積され、処理完了後に解放される場合があります

これらの要因により、通常より長時間の容量使用が発生したものと考えられます。

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
Powered by Zendesk