[pgsql-jp: 28410] Re: IDEとSCSI でのパフォーマンスの差
Eita Morikawa
chanoma @ parknet.co.jp
2002年 12月 21日 (土) 15:32:22 JST
森川です。ご回答ありがとうございます。
別メールで書きました通り、IDEのHDDのwrite cacheが有効だった
のが今回の問題の原因だったようです。
Hiroki Takada <takada @ rh.xdsl.ne.jp> wrote:
> vmstat -n 1 を実行すれば,毎秒あたりのブロックデバイスへの書き
> だしブロック数が見れます.キャッシュの影響を排除するために,実
> メモリ X 2 以上は書き込み,vmstat の buff が飽和した後の数値を
> 測定値とすれば良いのではないかと思います.
せっかくですので、長くなりますがvmstatの結果を最後に載せます。
IDEのpgbench実行時については write chace ON/OFF両方を載せます。
SCSI HDD : SEAGATE ST336706LW(10000rpm,Ultra160)
IDE HDD : MAXTOR 6Y080L0(7200rpm,cache2MB)
この結果をみると、write cache ON でのpgbench時には、io/boの値が
突出して大きくなっていますね。といいつつ、実は数字の見方がいま
いちよくわかっていません^ ^;
最初、
io/bi = ブロックデバイスからの入力ブロック数(読み込み)
io/bo = ブロックデバイスへの出力ブロック数(書き込み)
と思ったのですが、man vmstat すると
io/bi = Blocks send to a block device
io/bo = Blocks received from a block device
とありますし、pgbench時にはio/boに値が入っているし
逆に思えてきました。しかしbgbench時にio/biが0になるのは
どうして? と基本的に理解できていません。
PostgreSQLからは外れますが、biとかboの数字はどのように
捉えたらよいのでしょうか?
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
[SCSI] (dd if=/dev/zero of=/dev/sda5 bs=1024 count=1048576)
1 1 0 0 6388 31996 440200 0 0 25628 43005 6507 12873 3 13 84
1 0 0 0 6388 31996 440212 0 0 22884 0 5908 11515 0 7 93
0 1 0 0 6388 32000 440200 0 0 20120 43012 5133 10136 2 5 93
1 0 0 0 6388 32000 440200 0 0 27572 0 7079 13864 4 9 87
[IDE] (dd if=/dev/zero of=/dev/hda5 bs=1024 count=1048576)
2 0 0 0 6388 31416 440248 0 0 29880 0 7575 14990 4 23 73
0 1 1 0 6388 31416 440248 0 0 13096 20480 3632 6624 1 12 87
1 0 0 0 6388 31424 440240 0 0 808 22539 723 513 0 1 99
1 0 0 0 6388 31424 440240 0 0 30740 0 7786 15416 2 19 79
[SCSI] (bgbench -t 1000 test_db)
1 1 1 0 345556 32688 105788 0 0 0 1028 216 583 2 1 97
0 1 1 0 345440 32792 105796 0 0 0 1008 213 627 8 1 91
0 1 1 0 345332 32888 105804 0 0 0 1056 216 643 3 1 96
[IDE] (bgbench -t 1000 test_db) (write cache ON)
1 0 0 0 308968 41104 126180 0 0 0 7480 1068 5309 37 4 59
2 0 0 0 308936 41104 126212 0 0 0 5896 893 4535 21 6 73
0 1 1 0 308884 41108 126260 0 0 0 6274 964 5038 27 8 65
[IDE] (bgbench -t 1000 test_db) (write cache OFF)
1 1 1 0 375260 31072 76380 0 0 0 828 207 570 4 0 96
0 1 1 0 375164 31156 76388 0 0 0 844 208 591 6 2 92
0 1 1 0 375076 31244 76388 0 0 0 772 207 603 4 0 96
--
Eita Morikawa <chanoma @ parknet.co.jp>
pgsql-jp メーリングリストの案内