Como posso gerar diferentes níveis de carga de disco em um sistema Linux (2.4)?

1

Eu preciso descobrir o impacto que diferentes níveis de E / S de disco têm em meu aplicativo. Para fazer isso, estou procurando uma maneira de gerar diferentes quantidades de carga de disco enquanto executo o aplicativo em um modo de referência.

No momento, recebemos reclamações de usuários sobre desempenho lento, mas as informações que recebemos são muito pequenas, por isso ainda não podemos determinar onde exatamente está o problema. AE / S é o principal suspeito, no entanto, gostaríamos de saber com certeza.

Para começar, eu estaria bem com algo para criar uma carga contínua de leitura ou gravação configurável, e. g. de /dev/zero para um arquivo tmp ou algo assim. Eu sei que posso usar dd , mas isso vai empurrar o disco para o limite imediatamente, enquanto eu gostaria de algum tipo de acelerador para fazer testes diferentes com quantidades crescentes de tráfego de fundo.

Para tornar as coisas um pouco mais desafiadoras, isso precisa ser executado em caixas RedHat9, o que significa kernel 2.4. Então, idealmente, isso seria algum tipo de script que faz uso das ferramentas padrão presentes de qualquer maneira.

    
por Daniel Schneller 23.06.2009 / 10:53

5 respostas

3

Você pode criar um arquivo grande (por exemplo, 1 GB) e usar rsync para copiar o arquivo. rsync foi construído em uma opção para limitar a largura de banda. Então você pode copiar o arquivo a 10KiB / seg, ou 50KiB / seg ou 2MiB / seg, etc.

    
por 23.06.2009 / 10:59
1

Tanto quanto me lembro, Bonnie pode criar alguma carga: link Se não funcionar do jeito que você quer, compõe um pequeno script que usará vários utilitários como dd, rm, ls (ou o rsync mencionado).

    
por 23.06.2009 / 11:20
0

Se você tem um modo de benchmark, você pode gerar várias instâncias dele? Nesse caso, você pode continuar executando cópias até chegar perto da sua carga de produção.

    
por 23.06.2009 / 11:08
0

Você pode usar uma ferramenta de script para enfatizar os discos com o padrão adequado. Por exemplo:

  • O IOZone é uma ferramenta cli, muito fácil de configurar, fornece diretamente arquivos CVS ou XLS (www.iozone.org)
  • O IOMeter possui uma GUI do Windows para controlar remotamente o que está acontecendo em tempo real. (www.iometer.org)

Ambos permitem que você escolha precisamente como equilibrar leitura e gravação, tamanho de E / S, etc.

    
por 23.06.2009 / 12:46
0

rugg é um utilitário de teste de disco que pode fazer o truque para você. Você pode controlar o número de threads que ele usa para realizar seus testes, controlando assim a carga no (s) disco (s) e no sistema. Ele também permite controlar se ele faz seus testes em paralelo ou sequencialmente, adicionando outro nível de controle.

    
por 23.06.2009 / 14:30