1

アプリケーションでパフォーマンスの問題が発生しています。私の疑いの 1 つは過剰な IO です。iostat は、毎秒 10K ブロックの書き込み率を示します。これが多いかどうかはどうすればわかりますか?特定のマシンとディスクの制限を知るにはどうすればよいですか?

編集:エリオットの要求に従って:

iostat 出力:

avg-cpu:  %user   %nice %system %iowait  %steal   %idle

      16.39    0.00    0.52   11.43    0.00   71.66

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
 cciss/c0d0      315.20         0.00     10341.80          0      51709

稼働時間:

2:08am  up 17 days 17:26,  5 users,  load average: 9.13, 9.32, 8.73

上:

top - 02:10:02 up 17 days, 17:27,  5 users,  load average: 8.89, 9.18, 8.72
Tasks: 202 total,   2 running, 200 sleeping,   0 stopped,   0 zombie
Cpu(s):  5.9%us,  0.7%sy,  0.0%ni, 90.5%id,  2.9%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:     96556M total,    15930M used,    80626M free,      221M buffers
Swap:   196615M total,       93M used,   196522M free,     2061M cached

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                 
20027 root      16   0 10.5g 9.8g  12m S   74 10.4   2407:55 /usr/intel/pkgs/java/1.6.0.31-64/jre//bin/java -server -X

ありがとう

4

2 に答える 2

2

経験上、ほとんどのシステムで非常に高いブロック書き込み率であることがわかります。ただし、使用しているハードウェアの種類によっては、システムがそれを完全に処理できる場合があります。重要なのは、サーバー負荷の数値とiowaitパーセンテージです。サーバーの負荷が高く (つまり、システムのコア数よりも多く)、負荷の大部分が で構成されiowaitている場合は、問題があります。

iostat、 の完全な出力と、アプリケーションの実行中uptimeの出力のスナップショットを共有していただけますか?top -c

于 2012-08-22T20:01:21.530 に答える
2

視点:

  • 回転ディスクの場合、それは高い値です。
  • 書き込みキャッシュを備えた SSD または SAN であれば、それは合理的です。

幅広いメトリックと拡張メトリックには iostat -x を使用します。

[xxx@xxxxxxxxxx]$ iostat -x 
Linux 2.6.32-358.6.2.el6.x86_64 (boxname.goes.here)     12/12/2013  _x86_64_    (24 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.57    0.00    0.21    0.00    0.00   99.21

Device:  rrqm/s wrqm/s r/s  w/s  rsec/s wsec/s avgrq-sz avgqu-sz await svctm  %util
sda        0.06  28.38 0.04 3.99   0.99 259.15    64.58     0.01  2.11  0.55   0.22

%util はあなたの友達です。iostat.c (参照: http://code.google.com/p/tester-higkoo/source/browse/trunk/Tools/iostat/iostat.c ) を見ると、このパーセンテージが次のように計算されていることがわかります。 IO の実行に費やされた時間 (プロセッサ ティック) と経過したティックの総数を比較します。つまり、PERCENTAGE-UTIL は、IO がビジー状態であった時間の割合です。

于 2013-12-12T20:47:58.797 に答える