A interface de dados brutos /proc/diskstats da ferramenta de análise de latência de E/S iostat foi otimizada no Alibaba Cloud Linux para calcular o tempo consumido pelas operações de leitura, gravação e E/S especial (descarte) nos dispositivos. Além disso, o Alibaba Cloud Linux 2 oferece o conjunto de ferramentas BPF Compiler Collection (BCC) para rastrear a latência de E/S. Este tópico descreve a interface /proc/diskstats otimizada e o conjunto de ferramentas BCC no Alibaba Cloud Linux 2.
Interface /proc/diskstats
A interface /proc/diskstats no Alibaba Cloud Linux 2 permite consultar as informações de E/S de um disco e o tempo consumido pelas operações de leitura, gravação e descarte em um dispositivo.
Execute o comando a seguir para consultar a interface /proc/diskstats:
cat /proc/diskstats
O comando retorna a seguinte saída:
254 0 vda 6328 3156 565378 2223 1610 424 25160 4366 0 1358 5332 0 0 0 0 2205 3347 0
Na saída do comando, os três últimos campos são novos no Alibaba Cloud Linux 2. A tabela a seguir descreve todos os campos.
Instalar e usar o conjunto de ferramentas BCC
O Alibaba Cloud Linux 2 disponibiliza o conjunto de ferramentas BCC para rastrear a latência de E/S.
-
Execute o comando a seguir para baixar o conjunto de ferramentas BCC:
yum install -y bcc-tools -
Use um dos comandos a seguir para consultar a descrição do conjunto de ferramentas BCC:
-
Execute o comando a seguir para obter a descrição do conjunto de ferramentas BCC:
/usr/share/bcc/tools/alibiolatency -hExemplo de descrição:
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 -
Execute o comando
manpara consultar a descrição do conjunto de ferramentas BCC.man bcc-alibiolatency
-