[pgsql-jp: 34382] Re: パフォーマンスチューニング

Katsuhiko Okano k_okano @ po.ntts.co.jp
2004年 12月 1日 (水) 18:27:26 JST


岡野と申します。

北村 英志 wrote:
> 【これまでに行った対策】
> autovacuumは数時間おきに走らせています。マニュアルでVACUUMも実行しました
> が、コストは変わらず(むしろ高くなる場合もあります)。リストアするとやはり
> 劇的にコストは下がります。

リストアで解決するのであれば、ブロック内に空きが多く
余計なブロックを多く読んでいるのではないでしょうか。
たとえば、
・大量のデータをロードした。その後で削除したが、VACUUM FULLを
 しなかったため、ファイルサイズは大きいまま。
・更新や削除が多いトランザクション構成だが、VACUUMがたまにしか行われていないため、
 ブロック内に不要なデータが残っていて、無駄にブロック数が増えている。
などです。


> ただ、フルバキュームを行うとその間、データベースがロックしてしまうという
> 認識なのですが、間違いないでしょうか?

テーブル単位のロックです。
(VACUUMコマンドでテーブル名を指定しないと、全てのテーブルを処理するので、
データベースがロックされていると思ったほうが運用上は安全という意味で使われたのだと
思います)


また、これは興味本位の質問なのですが、autovacuumの結果の確認はどのように
なさっていますか?
私の近所のチームで、確認方法がわからないケースがあったので(^_^;)
教えていただければ幸いです。

-- 
----------------------------------------
Katsuhiko Okano
k_okano _at_ po.ntts.co.jp
NTT Software Corp. (division "NBRO-PT6")




pgsql-jp メーリングリストの案内