Este é o meu gráfico de HDD avgqu-sz de diferentes máquinas de aplicativos: O aplicativo armazena os dados na memória e a cada n minutos os dados são liberados para o sistema de arquivos + a cada m minutos os dados são (re)carregados do sistema de arquivos na memória. Essa é a razão dos picos. A utilização de dispositivos de bloco durante esses picos é de 80 a 95%.
P: Preciso me preocupar com o desempenho dos meus discos? Como interpretar este gráfico - está OK ou não? Preciso otimizar algo?
- Sim, tenho picos muito altos ~ 1k, mas o tamanho da fila é ~ 1 => um dia médio é ~ 16 - não sei se posso ficar feliz com esse valor médio
- Sim, eu sei o que significa métrica avgqu-sz
- Sim, otimizei meus sistemas de arquivos para altas IOps (noatime, nodirtime)
Esta é apenas uma visão geral e não cobre tudo. Enquanto nr_requests permanecer como queue_Depth, o I/O passará rapidamente.
Olhando para seus gráficos, eu sugiro 1: verifique se o disco está com picos altos 2: tente alterar o valor de nr_requests e queue_depth para ver se isso ajuda 3: altere o agendador em seu ambiente de teste (como seus dados aqui não contêm solicitação de mesclagem (leitura/gravação).. então não posso comentar)
Um tamanho médio de fila de mais de 1.000 solicitações é problemático, a menos que você esteja executando uma matriz com centenas de discos expostos como um único dispositivo.
No entanto, a partir do seu gráfico, eu argumentaria que a maioria dos seus picos são artefatos de medição ou gráficos - seus dados parecem estar sendo coletados em intervalos de 5 minutos, mas os picos têm uma largura basicamente zero - muito incomum. Você deve dar uma olhada nos dados brutos coletados
sar
ou exibidosiostat
quase em tempo real para descartar isso. Se você ainda vê tamanhos de fila de mais de 30 solicitações por eixo usado, verifique novamente aqui com os dados.