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

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

最終更新日:Jul 10, 2024

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

インターフェイス説明

Alibaba Cloud Linuxの /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 2205 3347 0

コマンド出力では、最後の3つのドメインはAlibaba Cloud Linuxに追加された新しいドメインです。 次の表に、ドメインを示します。

ドメイン

説明

16番目のドメイン

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

17番目のドメイン

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

18番目のドメイン

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

説明

他のドメインについては、カーネルドキュメントDocumentation/iostats.txtをご参照ください。 カーネルドキュメントは、Alibaba Cloud Linux 2のDebuginfoパッケージとソースコードパッケージから取得できます。 詳細については、「Alibaba Cloud Linux 2の使用」をご参照ください。

bcc

Alibaba Cloud Linuxは、I/Oレイテンシを追跡するbccツールを提供しています。 使用する前にツールをダウンロードする必要があります。 次のコマンドを実行してツールをダウンロードします。

yum install -y bcc-tools

次のいずれかのコマンドを実行して、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