Testando uma alta carga de E / S de alta velocidade de difícil / depuração de produção

2

Eu tenho recebido muita carga ultimamente neste servidor mais do que deveria pelo pouco que existe neste sistema. Parece que apenas as coisas mais simples usando o disco, como uma atualização do YUM, vai soar bem na unidade em 10LA quando ele funciona bem abaixo de 1.

Isso pode ser um mau caminho?

iostat -xdk 1 50 link

    
por Tiffany Walker 04.10.2012 / 03:13

2 respostas

0

Você pode postar iostat -xdk 1 50 quando o problema ocorre. Veja a man page do iostat em qual switch você pode usar para obter nomes de partições listados). Pastebin isto junto com um poutput de topo levado ao mesmo tempo.

Ok, então aqui quando o seu disco parece estar muito carregado em determinados momentos da sua carga de trabalho.

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz       await  svctm  %util
sda              85.00     5.00  249.00   11.00  6040.00    64.00    46.95    10.73       44.23   3.85 100.00
sda               3.00     0.00  275.00    0.00  7764.00     0.00    56.47     7.63   23.27   3.64 100.00
sda             125.00    29.00  221.00    3.00  5508.00   128.00    50.32     7.49   41.08   4.46 100.00
sda              14.00    65.00  224.00   28.00  5940.00   372.00    50.10     1.97    8.05   3.52  88.80

Comparando com as outras iterações, a solicitação de leitura se torna muito esporadicamente grande às vezes. E então espere aumentos. No entanto, o tamanho médio da fila observado no avgqu-sz ainda é bastante baixo. Isso significa que a maior parte do tempo de espera é gasto enquanto o armazenamento atende às solicitações. Não está no lado do linux, não estou no lado do agendador.

Grosso modo, existem duas filas. Um no agendador e outro no lado do hardware. O tempo de espera é medido com base em cada IO desde o momento em que atinge o agendador de IO até o momento em que é atendido pelo armazenamento, ou seja, disco. O avgqu-sz é o número médio de I / O contido no planejador IO e na fila lun de armazenamento. Se o avgqu-sz for muito menor que a profundidade da fila do armazenamento, isso significa que pouco tempo é gasto na fila do planejador. O Scheduler passará esses IOs para o armazenamento e, até que eles sejam atendidos pelo armazenamento, o tempo de espera continuará aumentando.

Para encurtar a história, na minha opinião, em momentos específicos, o armazenamento está se tornando lento e isso aumenta a latência.

    
por 04.10.2012 / 05:08
0

Uma coisa importante a ser entendida com a alta utilização do disco, além da capacidade bruta do disco, é como a memória está se comportando no seu sistema.

O bom arquivo IO geralmente depende de uma quantidade significativa de armazenamento em cache. Duas coisas podem acontecer sob pressão de memória que podem resultar em alta carga de IO:

  1. Os arquivos armazenados em cache são enviados da memória para liberar espaço para a memória de processo (isso pode ser visualizado observando a saída do comando free
  2. Você pode começar a empurrar a memória ativamente para dentro e para fora da partição de troca. Você pode ver se isso está acontecendo olhando para bi / bo sob swap com o comando vmstat .

Se tudo isso parecer bem, provavelmente você vai querer analisar Como determinar qual processo está causando E / S de disco pesado?

    
por 04.10.2012 / 04:34