ProHoster > Blog > administração > Como avaliar o desempenho do armazenamento no Linux: benchmarking usando ferramentas abertas
Como avaliar o desempenho do armazenamento no Linux: benchmarking usando ferramentas abertas
В ultima vez falamos sobre ferramentas de código aberto para avaliar o desempenho do processador e da memória. Hoje estamos falando sobre benchmarks para sistemas de arquivos e sistemas de armazenamento em Linux - Interbench, Fio, Hdparm, S e Bonnie.
Fio (significa Flexible I/O Tester) cria fluxos de E/S de disco para avaliar o desempenho de um sistema de arquivos Linux. O utilitário também pode ser executado no Windows - você precisa instalar a interface de linha de comando Cygwin. O guia de configuração está em repositórios fio no GitHub.
Autor fio - Jens Axbo (Jens Axboe), responsável para o subsistema IO no Linux e desenvolvedor de utilitários traço preto para rastrear operações de E/S. Ele criou fio, porque estou cansado escrever programas para testar cargas específicas manualmente.
O utilitário calculará o IOPS e a taxa de transferência do sistema e também permitirá estimar a profundidade da fila de operações de E/S. O utilitário funciona com arquivos especiais (extensão .fio) nos quais são especificadas as configurações e condições de teste. Existem várias opções de teste, por exemplo, há escrita, leitura e substituição aleatória. Aqui exemplo conteúdo do arquivo para o primeiro caso:
O utilitário foi escrito pelo desenvolvedor canadense Mark Lord em 2005. Ela ainda apoiado pelo autor e faz parte de muitas distribuições populares. O principal objetivo do hdparm é configurar os parâmetros do inversor. Mas a ferramenta uma lata use para benchmarks simples, como velocidade de leitura. Para fazer isso, escreva o comando no console:
$ sudo hdparm -t /dev/sdb
O sistema irá gerar uma resposta como esta:
Timing buffered disk reads: 242 MB in 3.01 seconds = 80.30 MB/sec
Quanto à configuração de unidades, o hdparm permite alterar o tamanho da memória cache, modificar o modo de suspensão e as configurações de energia e também apagar dados do SSD com segurança. Mas como advertir Especialistas do ArchLinux, alterações descuidadas nos parâmetros do sistema podem tornar os dados do disco inacessíveis e até danificar a unidade. Antes de trabalhar com hdparm, é melhor ler o manual - basta digitar o comando man hdparm no console.
Todos os benchmarks são scripts bash, avaliadores desempenho do sistema de armazenamento - rendimento, latência, desempenho do agendador. Por exemplo, o benchmark throughput-sync.sh “bombardeia” o sistema de armazenamento com solicitações de leitura ou gravação (neste caso, o já mencionado utilitário fio é usado). Aqui código para este script.
Outro script - comm_startup_lat.sh - mede a latência de leitura de dados do disco quando o cache está “frio” (quando não contém os dados necessários). Código também pode ser encontrado no repositório.
Um utilitário para avaliar o desempenho do sistema de arquivos, desenvolvido em 1989. Seu autor foi o engenheiro Tim Bray. Com a ajuda de Bonnie ele planejou otimizar operação dos sistemas computacionais envolvidos no projeto Novo Dicionário de Inglês Oxford na Universidade de Waterloo.
Bonnie realiza leitura e gravação aleatória de dados em disco. Depois o utilitário mostra parâmetros como o número de bytes processados por Segundo CPU, bem como o nível de carga do processador como uma porcentagem. O código-fonte do benchmark está disponível encontrar no Google Code.
Baseado em Bonnie, outro conjunto de ferramentas para testar discos rígidos foi construído - Bonnie ++ (escrito em C++ em vez de C). Ele fornece ferramentas de benchmark adicionais. Por exemplo, zcav para avaliar o desempenho de diferentes zonas de HDD. Também Bonnie++ подходит para testar servidores de correio e servidores de banco de dados.
Desenvolveu o utilitário Con Kolivas (Con Kolivas), anestesista australiano conhecido por suas contribuições para o desenvolvimento do kernel Linux e pelo trabalho em "agendador de processador justo" O Interbench ajuda você a definir as configurações do agendador de E/S e do sistema de arquivos.
O Interbench emula o comportamento do agendador da CPU ao executar tarefas interativas. Essas tarefas interativas podem ser trabalhar com áudio e vídeo, executar jogos de computador ou simplesmente arrastar uma caixa de diálogo no sistema operacional.
Código fonte, exemplos e recomendações para configuração da ferramenta podem ser encontrados em repositório oficial no GitHub.