Benchmarking de desempenho de disco em sistemas de memória grande

1

Eu preciso produzir algumas métricas comparativas de desempenho do sistema de arquivos para o nosso ambiente de hospedagem virtual. Especificamente, preciso observar a diferença entre o NFS e o iSCSI e o impacto no desempenho da alteração da MTU da rede de 1500 para 9000. Essa é minha primeira incursão nas métricas de desempenho do sistema de arquivos ... há uma tremenda quantidade de informações lá fora (e tantas ferramentas!) e não sei exatamente por onde começar.

A complicar as coisas é o fato de que cada um desses sistemas tem 48 núcleos e 256 GB de memória, e não sei exatamente como isso pode afetar a configuração de minhas ferramentas de medição de desempenho. Por exemplo, a documentação do iozone recomenda configurar o tamanho máximo do arquivo para ser maior que a memória local do sistema ... mas isso sugere um tamanho máximo de arquivo de pelo menos 512 GB.

Espero que alguém possa fornecer algumas sugestões (ou um apontador para alguma documentação) para (a) configurar alguns testes razoáveis e (b) interpretar os resultados.

Obrigado!

    
por larsks 20.12.2011 / 18:30

2 respostas

2

Você precisa considerar o cenário de uso comum para o qual você está comparando. Você parece estar fazendo benchmarks para não decidir se um drive é melhor que o outro, mas sim decidir qual tecnologia e qual configuração você deve usar. E o que quero dizer é que quando você quer que seus resultados o ajudem a escolher o que é melhor para o seu caso de uso, você deve replicar o ambiente de produção o mais próximo possível.

Então, você vai ter muita memória disponível para caches e buffers? Em caso afirmativo, reduza a quantidade esperada de memória livre nos benchmarks. Se não, tente torná-lo o mais próximo possível.

Você pode limitar a quantidade de memória disponível para o Linux usando o parâmetro mem= kernel - por exemplo. passar mem=2G fará com que o linux use apenas 2GB de memória.

Outra maneira (um pouco melhor para obter resultados do mundo real) é escrever um aplicativo simples, que irá alocar a memória e preenchê-lo com alguma coisa.

E a melhor maneira é configurar a caixa como se ela estivesse em produção, fazer com que ela use a memória normalmente usada e, melhor ainda, fazer as coisas que você quer fazer (se você puder fazer isso sem causar IO) .

Com o servidor configurado dessa forma, você pode executar o iozone, o fio ou outros benchmarks para obter alguns números.

    
por 20.12.2011 / 20:21
0

O blog abaixo discute benchmarking de disco várias vezes. Pesquise seus arquivos. O autor é meu amigo e confia no que ele escreve.

link

    
por 20.12.2011 / 18:34