web-dev-qa-db-ja.com

どのiowait値で問題ありませんか?

かなり忙しいphp/mysqlサイトを実行しているサーバーのボトルネックを見つけようとしています。私の最初の犯人はioでしたが、iostatは、平均してiowaitがCPU時間の%3.60しか消費しないことを示しています。 iostatを発行した完全な結果は次のとおりです。

avg-cpu:  %user   %Nice %system %iowait  %steal   %idle
          65.78    0.00    8.52    3.60    0.00   22.10

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda              42.36       138.28      1754.70  408630278 5185216128

それで、iowaitが許容範囲内にあるかどうか、そうでない場合は、SATAからSSDに切り替えると劇的に減少するかどうか疑問に思っています。

2
alfish

iowaitは、システム負荷の尺度として、他のプロセスで合理的に使用される可能性のあるCPU時間を消費するため、問題になります。それでもアイドルCPU時間が残っている場合は、高いiowait(それ自体)は問題ではありません。

一方、高いiowaitcanは問題の症状です。ただし、実際には、アプリケーションをプロファイリングして、ディスクI/Oに費やされた時間が、有用なタスクを完了するのにかかった合計時間のかなりの割合であるかどうかを確認する必要があります。 CPU統計、tophtopiotop、または人々が推奨しようとするその他のシステムレベルのツールを調べても、これを行うことはできません。 アプリケーションとその動作方法を調べて、ディスクI/Oサブシステムの変更がアプリケーションに役立つかどうかを判断する必要があります。

6
womble

ディスク使用率はより重要です。次の方法で測定できます。

iostat -xm 5

おそらく100%近くと言うでしょう

3
Joshua D'Alton