[pgsql-jp: 36600] Re: dbmirror 内の delete に非常に時間がかかる

Kiyoshi Mizuno kiyoshi_mizuno @ mail.toyota.co.jp
2006年 1月 7日 (土) 14:54:03 JST


水野です。


> -----Original Message-----
> postgresql 7.4.8 の環境で dbmirror を用いてレプリケートを
> 行っていますが、dbmirror の中で行っている delete 文で非常に
> 時間がかかっており、その原因調査方法などご教授頂けますでしょうか。

・最初から遅かった/使っているうちに遅くなってきた
・この処理だけが遅い/他にも遅い処理がある
・いつも遅い/たまに遅くなる
といったポイントが気になります。普通の用途ならミラーの処理時間なんて

> 同一スペックの別サーバにて同じようなのデータを作成し、同じような
> delete 文を実行したところ、10秒程度で完了しました。

こんなもんのはずですから。
詳細な環境が分からない以上推測にしかなりませんが
ざっと思いつくだけでも
・ミラー元のテーブルがVACUUMされていなくて肥大化している。
・インデックスが働かずシーケンシャルスキャンになっている。
・ディスク断片化が派手に進行している
・ミラー動作を邪魔する不届き者が存在している。

さしあたりこの「遅いDELETE」が走っている瞬間の
トランザクション状態をチェックしてみてはどうでしょうか。




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