[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 メーリングリストの案内