Qual é a melhor maneira de calcular e verificar quantas E / S's são recebidas em um disco?

1

Estou tentando descobrir se estamos obtendo um E / S esperado para escrever & amp; / ou lendo dados de SCSI ou SAN LUN?

Neste ambiente de teste, eu tenho um servidor LTS Ubuntu 14.04.5 e tenho um único LUN em um único caminho da equipe de armazenamento SAN em uma porta FC.

que solicitamos para 6.000 I / O, no entanto, tem sido um problema que nós sentimos que as I / O solicitadas não são recebidas nesse SAN LUN, mas a equipe de armazenamento está dizendo que elas forneceram muitos I / O's.

Então, para provar a eles que há algo errado em seu fim, preciso saber como posso capturar ou verificar o quanto de I / O's são recebidos em tempo real contra o solicitado?

alguém pode me ajudar com isso? Agradecemos antecipadamente & amp; desculpe pelo pobre Inglês.

    
por Hrish 05.08.2017 / 16:04

1 resposta

2

Para monitoramento ao vivo da taxa de transferência de leitura / gravação em discos ou partições específicas, você pode usar a ferramenta nmon . Ele exibe as taxas de dados absolutas por partição / disco, bem como estima o quão ocupado cada um está em porcentagem, incluindo um gráfico de barras agradável.

Você pode instalá-lo usando:

sudo apt install nmon

Depois disso invoque-o como nmon e, em seguida, pressione D para mostrar o monitor de disco ou execute-o como NMON=d nmon para exibir diretamente o monitor de disco sem entrada adicional. A taxa de atualização é de 2 segundos por padrão, mas você pode alterá-la manualmente usando o parâmetro -s , por exemplo, nmon -s 1 por 1 segundo. Para sair de nmon , pressione Q ou Ctrl + C .

Veja um exemplo da aparência:

┌nmon─14g─────────────────────Hostname=type40mark3──Refresh= 6secs ───16:26.08─┐
│ Disk I/O ──/proc/diskstats────mostly in KB/s─────Warning:contains duplicates─│
│DiskName Busy  Read WriteMB|0          |25         |50          |75       100|│
│sda        0%    0.0    0.0|>                                                |│
│sda1       0%    0.0    0.0|>                                                |│
│sda2       0%    0.0    0.0|>                                                |│
│sda3       0%    0.0    0.0|>                                                |│
│sda4       0%    0.0    0.0|>                                                |│
│sda5       0%    0.0    0.0|>                                                |│
│sdb       49%  230.5    0.0|RRRRRRRRRRRRRRRRRRRRRRRRR                        >│
│sdb1      15%   75.0    0.0|RRRRRRRR                                     >   |│
│sdb2       4%   16.7    0.0|RR    >                                          |│
│sdb3       0%    2.7    0.0|R>                                               |│
│sdb4      30%  135.9    0.0|RRRRRRRRRRRRRRR                         >        |│
│sdb5       0%    0.0    0.0|>                                                |│
│sdb6       0%    0.0    0.0|>                                                |│
│dm-0       0%    0.0    0.0|>                                                |│
│Totals Read-MB/s=460.7    Writes-MB/s=0.1      Transfers/sec=469.0            │                                                                     
└──────────────────────────────────────────────────────────────────────────────┘

Como alternativa, se você quiser apenas fazer um "teste de velocidade" de qualquer disco, use a ferramenta hdparm :

sudo hdparm -t /dev/sda

Isso lerá o dispositivo especificado (aqui /dev/sda ) por cerca de 3 segundos e exibirá a taxa de dados posteriormente. Observe que ele executa uma "leitura de buffer", mas sem usar o cache de disco. Use -T em vez de -t para testar as velocidades de leitura do cache do disco.

Você não pode testar ou determinar a velocidade de gravação dessa maneira.

    
por Byte Commander 05.08.2017 / 16:39