No Windows, sempre que eu quero validar / confirmar que pode haver problemas relacionados às E / S em um volume em que um banco de dados ou outro aplicativo de baixa latência vive, verifico a latência do disco.
Se eu vir o contador de Média de disco / transferência média do Windows > 18-20ms de forma consistente, meu canário em uma mina de carvão acabou de morrer e preciso investigar mais. Simplesmente morto.
Estou vendo o Linux agora e não vejo uma métrica semelhante baseada em latência. A pesquisa rápida que fiz indica que talvez eu nem queira ... Vejo muitas referências à espera de E / S como a maioria das pessoas rastreia isso.
Existe uma regra prática que você usa em relação a isso? Por exemplo, QUALQUER espera de E / S é ruim para o volume de um banco de dados? Existe um comando iostat simples que me oferece uma visão melhor da integridade geral do disco do que apenas o TOP visual?
Muito obrigado!
ioping
sar
saída aqui . Preste atenção na%iowait
coluna.Respostas:
Pessoalmente, uso o comando
iostat -xk 10
e olho aawait
coluna.Essa é uma métrica praticamente idêntica à do Disco médio do Windows sec / Transfer e é listada em ms em vez de segundos. Portanto, regras práticas similares podem ser aplicadas, embora isso dependa de todo tipo de coisa. Normalmente, acho que os usuários começam a reclamar aos 15ms e 20ms é muito ruim.
Pressione ctrl + c para sair ou especifique o número de iterações a serem exibidas com o parâmetro count. Observe que o primeiro resultado da iteração é fortemente inclinado devido ao pequeno tempo de amostra usado na primeira iteração.
Da
man iostat
páginaaguardar O tempo médio (em milissegundos) para que as solicitações de E / S emitidas para o dispositivo sejam atendidas. Isso inclui o tempo gasto pelas solicitações na fila e o tempo gasto atendendo-as.
Editar:
await
é a principal métrica que eu uso para assistir a um disco sob cargas de produção para ver se sua taxa de transferência e iops conseguem acompanhar a demanda.O% iowait stat é mais sobre o equilíbrio entre CPU e uso de disco. % iostat permanecerá abaixo do esperado se a atividade da CPU e do disco for alta. Por outro lado, iniciando em níveis de uso de disco razoavelmente baixos, o% iostat pode ser relativamente alto se a CPU estiver ociosa. Dito isto, aguardar também precisa ser tomado com um grão de sal. Se houver muita leitura / gravação sequencial, a figura será inclinado para um valor mais baixo, e sua regra geral de 18 a 20ms não será útil nessas condições, porque a maioria dos pedaços que estão sendo gravados serão os dados sequenciais e serão atendidos. pelo disco muito rapidamente, enquanto o outro io aleatório estará aguardando, devido ao sistema NCQ (Native-Command-Queuing) incorporado ao disco para otimizar a taxa de transferência, permitindo que o disco escolha a sequência em que as solicitações serão atendidas.
fonte