[pgsql-jp: 40585] Re: vacuumdbでもI/O

加藤 健太 kenta @ diverta.co.jp
2010年 12月 4日 (土) 21:24:39 JST


以前、vacuumdbでI/Oが重くなると投稿した者です。

基本的なことなのかもしれませんが、
mount -o rw,noatime,remount /
のようにファイルシステムのアクセス日時の更新をしないようにしたら、
大幅にI/Oが減りました。(実際にファイルを書き込んでいる分のみのI/Oが
発生している感じです)

ご報告まで。

On Mon, 23 Aug 2010 16:40:08 +0900
加藤 健太 <kenta @ diverta.co.jp> wrote:

> 石井様
> 
> 加藤です。ありがとうございます。参考になりました!
> うちのようなシステムだとdefault設定は要注意ですね。
> 
> 
> 
> On Sun, 22 Aug 2010 12:02:04 +0900 (JST)
> Tatsuo Ishii <ishii @ sraoss.co.jp> wrote:
> 
> > 石井です。
> > 
> > > ありがとうございます!DBのスキーマの変更は更新として認識される
> > > のでしょうか?
> > > 例えば、レコード数1万件のテーブルで、カラムを1件追加すると、1万件更新し
> > > たことになるのでしょうか?
> > 
> > カラム追加の際にデフォルト値を設定したりすると、新しいテーブルにカラム
> > を追加しながら元データを丸ごとコピーするので、かなり大量の更新が発生す
> > るようです。
> > # ただ、その際にWALの大量書き込みが発生するかどうかはわかりません。
> > # もしかしたら賢く最適化しているかも。
> > 
> > デフォルト値を設定しないなど、物理的にタプルを拡張する必要がない場合は、
> > システムカタログの修正くらいしか更新が発生しないので、WALの書き込みは
> > わずかだと思います。
> > --
> > Tatsuo Ishii
> > SRA OSS, Inc. Japan
> > English: http://www.sraoss.co.jp/index_en.php
> > Japanese: http://www.sraoss.co.jp
> > 
> > > On Fri, 20 Aug 2010 20:26:34 +0900
> > > Tatsuhito Kasahara <kasahara.tatsuhito @ oss.ntt.co.jp> wrote:
> > > 
> > > > こんばんは、笠原と申します。
> > > > 
> > > > 加藤 健太 wrote:
> > > > > そこにWALファイルもあるのですが、vacuumの時にファイルの書き込みなどは行
> > > > > われるのでしょうか?
> > > > VACUUM 時には、
> > > > ・不要なレコードを掃除したページのイメージ
> > > > ・上記のページ操作を記録したWAL
> > > > が書き込みされます。
> > > > 
> > > > もし、"デフォルト以外のテーブルスペース"に置いたテーブルへの
> > > > VACUUM にて、"デフォルトのテーブルスペース"へ書き込みが発生
> > > > しているようであれば、WAL の書き込みの影響だと思います。
> > > > 
> > > > 基本的に、更新が走らない DB であれば、VACUUM をしても書き込みは
> > > > ほとんど発生しません。
> > > > 
> > > > ただし、更新されていない DB であっても、古いトランザクションで挿入された
> > > > データが FREEZE されずに残っていると、データの書き込みが発生します。
> > > > 一度 FREEZE されたレコードは、以降 FREEZE 対象にはなりません。
> > > > 
> > > > # FREEZE 処理は、VACUUM 中に行われる処理です。古いトランザクションで
> > > >   挿入されたレコードに特別な ID を振って"必ず可視"である、という情報を
> > > >   付与する操作です。そのため、データの更新が発生します。
> > > > 
> > > > (参考)
> > > > http://www.postgresql.jp/document/current/html/routine-vacuuming.html#VACUUM-FOR-WRAPAROUND
> > > > 
> > > > -- 
> > > > NTT OSSセンタ
> > > > 
> > > > 笠原辰仁
> > > 
> 




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