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