[pgsql-jp: 38869] Re: HDD差異だけで更新性能だけこんなに違うのはなぜ?
omi @ ydc.co.jp
omi @ ydc.co.jp
2007年 10月 19日 (金) 07:04:30 JST
伊藤さん、尾見です。
おはようございます。
お返事ありがとうございます。
On Thu, 18 Oct 2007 22:12:26 +0900
Kouji Ito <kouji @ cty-net.ne.jp> wrote:
> こんにちは、伊藤です。
>
> PostgreSQLは、rawデバイスに対して書き込みを行うわけではないので、
> 下記の値に着目してみましたが、凄く早いですね。(200MB/sを軽く越えている。)
> この値って、本当に信用できる値なんでしょうか?
引用なさった箇所のddは、出力先がext3ファイルシステムなので、
OSのファイル・キャッシュが使用されたものですので、
200MB/sを超えても異常ではないと思います。
実際の書き込み完了までの時間は(とりあえずOSから先のキャッシュは無視)、
real 0m21.490s、
の方で考えて、47MB/s(1024/21.49)くらいですね。
> iostatとかでそれぞれのDISKに対するI/O統計を取ってみると、実は全然違うってことありませんか?
> もしくは、ddの後に1回syncしていますが、この後もこっそりDISKに書き込んでいるとか。
topで見るかぎり、
real 0m21.490s
の表示後はカーネル(kjournald,pdflush等)の活動は落ち着きます。
ちなみに、ddの出力先がext3ファイルシステムの場合は、
> > 1073741824 bytes (1.1 GB) copied, 4.72524 seconds, 227 MB/s
が表示された後も、カーネルがしばらく活動しているのが、
topでもよく判ります。
>
> また、内蔵SAS、DiskArrayはそれぞれ同じRAIDになってるんでしょうか?
内臓はRAID1、DiskArrayはRAID5です(いずれもハードRAID)。
なお、両者Diskでの結果が同じにならないのを問題視しているのではなく、
"dd..sync"の性能差にみあった結果が、
pgbenchや更新処理性能に反映されないのが腑に落ちないのです。
>
> 一度 iozoneなどのファイルシステムのベンチマークを取って比較してみてはどうでしょう。
情報ありがとうございます。
折を見て試してみます。
そもそも、"dd..sync"を使った原始的(?)な比較はよくないかもしれませんね。
>
> > sda10# time ( dd if=/dev/zero of=/DB/BIG bs=1M count=1024 ; sync )
> > 1024+0 records in
> > 1024+0 records out
> > 1073741824 bytes (1.1 GB) copied, 4.72524 seconds, 227 MB/s
> >
> > real 0m21.490s
> > user 0m0.001s
> > sys 0m1.909s
> >
>
>
>
> > sde1# time ( dd if=/dev/zero of=/DB/BIG bs=1M count=1024 ; sync )
> > 1024+0 records in
> > 1024+0 records out
> > 1073741824 bytes (1.1 GB) copied, 3.90016 seconds, 275 MB/s
> >
> > real 0m37.200s
> > user 0m0.002s
> > sys 0m2.079s
> >
> >
>
pgsql-jp メーリングリストの案内