すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Linux:トラックI/Oレイテンシ

最終更新日:Dec 11, 2024

iostat I/Oレイテンシ分析ツールの生データソースインターフェイス /proc/diskstatsは、Alibaba Cloud Linuxで最適化されており、デバイスでの読み取り、書き込み、および特殊I/O (破棄) 操作にかかる時間を計算できます。 さらに、Alibaba Cloud Linux 2は、I/Oレイテンシを追跡するためのBPFコンパイラコレクション (BCC) ツールセットを提供しています。 このトピックでは、Alibaba Cloud Linux 2の最適化された /proc/diskstatsインターフェイスとBCCツールセットについて説明します。

/proc/diskstatsインターフェイス

Alibaba Cloud Linux 2の /proc/diskstatsインターフェイスを使用すると、ディスク上のI/O情報と、デバイスの読み取り、書き込み、および破棄操作にかかる時間をクエリできます。

次のコマンドを実行して、/proc/diskstatsインターフェイスを照会します。

cat /proc/diskstats

次のコマンド出力が返されます。

254       0 vda 6328 3156 565378 2223 1610 424 25160 4366 0 1358 5332 0 0 0 0 2205 3347 0

コマンド出力では、最後の3つのフィールドはAlibaba Cloud Linux 2の新しいフィールドです。 次の表に、すべてのフィールドを示します。

フィールド

項目

説明

最初のフィールド

完了した読み取り操作の総数。

2番目のフィールド

マージされた読み取り操作の数。

3番目のフィールド

データが読み取られたセクタの数。

4番目のフィールド

すべての読み取り操作で消費された時間。 単位:ミリ秒。

5番目のフィールド

完了した書き込み操作の総数。

6番目のフィールド

マージされた読み取り操作の数。

第7フィールド

データが書き込まれたセクタ数。

第8フィールド

すべての書き込み操作で消費された時間。 単位:ミリ秒。

第9フィールド

進行中のI/O操作の数。

10番目のフィールド

I/O操作によって消費された時間。 単位:ミリ秒。

第11フィールド

I/O操作によって消費された加重時間。 単位:ミリ秒。

第12フィールド

完了した破棄操作の総数。

13番目のフィールド

マージされた破棄操作の数。

14番目のフィールド

データが破棄されたセクタの総数。

15番目のフィールド

すべての破棄操作で消費された時間。 単位:ミリ秒。

16番目のドメイン

デバイスの読み取り操作で消費された時間。 単位:ミリ秒。

17番目のドメイン

デバイスでの書き込み操作に費やされた時間。 単位:ミリ秒。

18番目のドメイン

デバイスの破棄操作によって消費された時間。 単位:ミリ秒。

BCCツールセットのインストールと使用

Alibaba Cloud Linux 2は、I/Oレイテンシを追跡するためのBCCツールセットを提供します。

  1. 次のコマンドを実行して、BCCツールセットをダウンロードします。

    yum install -y bcc-tools
  2. 次のいずれかのコマンドを実行して、BCCツールセットの説明を照会します。

    • 次のコマンドを実行して、BCCツールセットの説明を照会します。

      /usr/share/bcc/tools/alibiolatency -h

      サンプルの説明:

      usage: alibiolatency [-h] [-d DEVICE] [-i [DIS_INTERVAL]]
                           [-t [AVG_THRESHOLD_TIME]] [-T [THRESHOLD_TIME]] [-r]
      
      Summarize block device I/O latency
      
      optional arguments:
        -h, --help            show this help message and exit
        -d DEVICE, --device DEVICE
                              inspect specified device
        -i [DIS_INTERVAL], --dis_interval [DIS_INTERVAL]
                              specify display interval
        -t [AVG_THRESHOLD_TIME], --avg_threshold_time [AVG_THRESHOLD_TIME]
                              display only when average request process time is
                              greater than this value
        -T [THRESHOLD_TIME], --threshold_time [THRESHOLD_TIME]
                              dump request life cycle when single request process
                              time is greater than this value
        -r, --dump_raw        dump every io request life cycle
      
      examples:
          ./alibiolatency          # summarize block I/O latency(default display interval is 2s)
          ./alibiolatency -d sda3  # inspect specified device /dev/sda3
          ./alibiolatency -i 2     # specify display interval, 2s
          ./alibiolatency -t 10    # display only when average request process time is greater than 10ms
          ./alibiolatency -T 20    # dump request life cycle when single request process time is greater than 20ms
          ./alibiolatency -r       # dump every io request life cycle
    • manコマンドを実行して、BCCツールセットの説明を照会します。

      man bcc-alibiolatency