(Windowsの人が尋ねる)Linuxでのディスクレイテンシの測定:わざわざですか?


11

Windowsでは、データベースまたは他の低遅延アプリが存在するボリュームにIO関連の問題がある可能性があることを検証/確認するたびに、ディスクの遅延を確認します。

Windows Average Disk sec / Transfer counter> 18-20msが一貫して表示される場合、炭鉱の私のカナリアはちょうど死亡したので、さらに調査する必要があります。ドロップデッドシンプル。

現在Linuxを調べていますが、同様の遅延ベースのメトリックは表示されません。私が行った簡単な調査は、私も望んでいないかもしれないことを示しています...私はほとんどの人がこれを追跡する方法であるI / O待機への多くの参照を見ています。

これに関して使用する大まかな経験則はありますか?たとえば、データベースのボリュームに悪いI / O待機がありますか?TOPをただ見回すだけでなく、ディスクの全体的な状態をよく見ることができる簡単なiostatコマンドはありますか

どうもありがとう!


4
調べることができますioping
ewwhite

ありがとう、@ ewwhite。フォーカスを完全に変更し、代わりに別の方法でこれを監視する必要があるかどうか疑問に思っているだけだと思いますか?
ラッセルクリストファー

2
システムでsysstat収集を有効にします。次に、iowait CPUの割合を調べることができます。これは、IO関連の速度低下の診断に非常に役立ちます。
EEAA

2
@RussellChristopher ここでsar出力例を見ることができます%iowait列に注意してください。
EEAA

@Mattは非常に似ていますが、フォーカスはわずかに異なります。このQAは、シミュレートされた環境でのテストの実行により重点を置いています。このQは、実稼働環境での現在のパフォーマンスの監視に重点を置いているようです。
BeowulfNode42

回答:


12

個人的にこのコマンドを使用iostat -xk 10して、await列を確認します。

  • -x拡張統計を表示します。
  • -kキロバイト/秒で統計を表示します。または、メガバイト/秒にmを使用します。
  • 秒単位の10表示間隔

これは、ウィンドウの平均ディスク秒/転送と実質的に同一のメトリックであり、ではなくミリ秒で表示されます。したがって、同様の経験則を適用できますが、これはあらゆる種類のものに依存します。私は通常、ユーザーが15ミリ秒で不平を言い始め、20ミリ秒は非常に悪いと感じます。

ctrl + cを押して終了するか、countパラメーターで表示する反復回数を指定します。最初の反復で使用される時間サンプルが小さいため、最初の反復結果は大きく歪んでいることに注意してください。

man iostatページから

awaitデバイスに発行されたI / O要求が処理される平均時間(ミリ秒単位)。これには、キュー内のリクエストに費やされた時間とそれらのサービスに費やされた時間が含まれます。

編集: await実稼働負荷のディスクを監視して、スループットとiopsが需要に対応できるかどうかを確認するために使用する主要なメトリックです。

%iowait統計は、CPUとディスクの使用量のバランスに関するものです。CPUとディスクの両方のアクティビティが高い場合%iostatは予想より低くなります。一方、かなり低いディスク使用レベルから始めて、CPUがアイドル状態の場合、%iostatは比較的高くなる可能性があります。待っていると言われていることは、塩の粒と同様に取られる必要がある。多くのシーケンシャル読み取り/書き込みが発生すると、図がより低い値にスキューされ、書き込まれるチャンクのほとんどがシーケンシャルデータであり、サービスが提供されるため、これらの条件下では18〜20ミリ秒の経験則は役に立ちませんディスクに組み込まれたNative-Command-Queuing(NCQ)システムにより、ディスクが要求を処理する順序を選択できるようにすることでスループットを最適化するため、ディスクによって非常に高速に、他のランダムioが待機します。


@ beowulfNode42に感謝します。これは、「不良ディスク」に注目するために使用する主要な指標ですか?新しいレリックが、I /(読み書き)待機し、ディスクの使用率O率に焦点を当てているようだ...これは....私が間違ってメトリックを追いかけていた場合、または、彼らは単に以下の便利な情報を報告しているなら、私は思ってしまいます
ラッセルクリストファー

@RussellChristopher他の統計は、待機情報を解釈するために必要なコンテキストを提供します。たとえば、多数のiops(r /およびw / s)、多数のMB / sがあり、平均要求サイズ(avgrq-sz)が大きいか小さいか、および平均キューサイズは(avgqu-sz)です。はい、cpuに関連するメトリック%iowait、%user、%systemなどとともに、ディスクがcpuを遅くしているかどうか、またはその逆を確認します。
BeowulfNode42
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.