2010年11月10日

[pgsql-jp: 40528] Re:UPDATEエラー後の処理時間増加について

笠原と申します。

munekatsu.tomori@xxxxx wrote:
> 毎日vacuum fullを実行しています。
> ただ、reindexは実行していません。
> 性能が戻らないのは、vacuumでクリアされない領域があるということでしょうか?
VACUUM FULL をすると、ガベージが取り除かれて物理的にテーブルが
圧縮されます。ただし、行の物理位置が変わるために行のクラスタ性が

崩れて参照処理性能が落ちることもありますし、インデックスも汚れます。

もし、INSERT するデータをどこかのテーブルから SELECT して持ってきている
場合、上記が関係しているかもしれません。その場合、VACUUM FULL ではなく
CLUSTER コマンドを使ってみて下さい。CLSUTER を実施することで、
VACUUM FULL + REINDEX に加え、行のクラスタ性を最適化する効果が
あります。

なお、VACUUM FULL を定期的に実施するのはお奨めしません。
普通の VACUUM で十分です。

> それとも、postmaster(デーモンプロセス)を常に起動中にしていることにより、
> 何かしらのリソースが肥大化していることで、処理効率が改善されないことが
> 考えられるのでしょうか?
> →システム導入当初から約半年が経ちますが、上記デーモンプロセスは
>  常に起動中の状態です。(サーバの再起動もありません。)
特にPostgreSQLの長期間運用が原因とは思えませんが(そのような事例も
無いような気がします・・)、手立てがなければ試しに再起動してみるのも
良いと思います。


--
NTT OSSセンタ

笠原辰仁


投稿者 xml-rpc : 2010年11月10日 16:29
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/99999
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。