Como avaliar o desempenho do armazenamento no Linux: benchmarking usando ferramentas abertas

Na última vez, falamos sobre ferramentas de código aberto para avaliar o desempenho do processador e da memória. Hoje estamos falando de benchmarks para sistemas de arquivos e sistemas de armazenamento de dados no Linux - Interbench, Fio, Hdparm, S e Bonnie.


Foto - Daniele Levis Pelusi - Unsplash



Fio


Fio (sigla para Flexible I / O Tester) cria fluxos de E / S de disco para avaliar o desempenho do sistema de arquivos Linux. O utilitário também pode ser executado no Windows - você precisa instalar a interface da linha de comandos do Cygwin . O guia de configuração está no repositório fio no GitHub .

O autor do fio é Jens Axboe, responsável pelo subsistema Linux IO e desenvolvedor do utilitário blktrace para rastrear E / S. Ele criou o fio porque estava cansado de escrever programas para testar manualmente uma carga específica.

O utilitário calculará o IOPS e a largura de banda do sistema e também permitirá avaliar a profundidade da fila de E / S. O utilitário trabalha com arquivos especiais (extensão .fio), nos quais são gravadas configurações e condições de teste. Existem várias opções de teste, por exemplo, há escrita, leitura e reescrita arbitrárias. Aqui está um exemplo do conteúdo do arquivo para o primeiro caso:

[global] name=fio-rand-read filename=fio-rand-read rw=randread bs=4K direct=0 numjobs=1 time_based=1 runtime=900 

Hoje, o fio é usado por grandes empresas - elas trabalham com o utilitário SUSE , Nutanix e IBM .



Hdparm


O utilitário foi escrito pelo desenvolvedor canadense Mark Lord em 2005. Ainda é suportado pelo autor e faz parte de muitas distribuições populares. O principal objetivo do hdparm é definir as configurações da unidade. Mas a ferramenta pode ser usada para realizar benchmarks simples, como medir a velocidade de leitura. Para fazer isso, escreva o comando no console:

 $ sudo hdparm -t /dev/sdb 

O sistema irá gerar uma resposta semelhante:

 Timing buffered disk reads: 242 MB in 3.01 seconds = 80.30 MB/sec 

Quanto às configurações da unidade, o hdparm permite alterar o tamanho do cache, modificar o modo de suspensão e as configurações de energia, além de apagar dados com segurança no SSD. Mas, como os especialistas do ArchLinux alertam , uma alteração descuidada nos parâmetros do sistema pode tornar os dados no disco inacessíveis e até danificar a unidade. Antes de trabalhar com o hdparm, é melhor se familiarizar com o manual - basta escrever o comando man hdparm no console.



S


Este é um conjunto de parâmetros de referência para avaliar o desempenho dos sistemas de E / S. Os autores do utilitário foram uma equipe de desenvolvimento do grupo AlgoDev, que inclui funcionários da Universidade Italiana de Modena e Reggio Emilia .

Todos os benchmarks são scripts de bash que avaliam o desempenho do sistema de armazenamento - largura de banda, latência, o trabalho dos agendadores. Por exemplo, o benchmark throughput-sync.sh “bombardeia” os sistemas de armazenamento com solicitações de leitura ou gravação (nesse caso, o utilitário fio já mencionado é usado). Aqui está o código para este script .

Outro script - comm_startup_lat.sh - mede o atraso na leitura de dados do disco durante o "cache frio" (quando ele não possui os dados necessários). O código também pode ser encontrado no repositório .




Fotos - Agê Barros - Unsplash



Bonnie


Um utilitário para avaliar o desempenho do sistema de arquivos desenvolvido em 1989. Seu autor foi o engenheiro Tim Bray (Tim Bray). Com a ajuda de Bonnie, ele planejou otimizar os sistemas de computação envolvidos no projeto New Oxford English Dictionary da University of Waterloo.

Bonnie lê e grava dados aleatoriamente no disco. Depois, o utilitário mostra parâmetros como o número de bytes processados ​​por segundo de CPU , bem como a porcentagem de utilização do processador. O código fonte da referência pode ser encontrado no Google Code .

Com base no Bonnie, outro conjunto de ferramentas para testar um disco rígido é construído - Bonnie ++ (escrito em C ++, em vez de C). Ele fornece ferramentas adicionais de benchmark. Por exemplo, zcav para avaliar o desempenho de várias zonas do disco rígido. O Bonnie ++ também é adequado para testar servidores de correio e servidores de banco de dados.



Interbench


O utilitário foi desenvolvido por Con Kolivas , um anestesista australiano conhecido por suas contribuições ao kernel do Linux e trabalha em um " programador de processador justo " . O Interbench ajuda a definir o agendador de E / S e as configurações do sistema de arquivos.

O Interbench emula o comportamento do agendador da CPU ao executar tarefas interativas. Essas tarefas interativas podem incluir trabalhar com som e vídeo, iniciar jogos de computador ou simplesmente arrastar e soltar uma caixa de diálogo no sistema operacional.

O código fonte, exemplos e recomendações para configurar a ferramenta podem ser encontrados no repositório oficial no GitHub .



Sobre o que escrevemos em nossos blogs:

Benchmarks para servidores Linux: 5 ferramentas abertas

Backup de arquivo: como se proteger contra perda de dados
Como transferir um disco rígido do sistema para uma máquina virtual?
Suporte de treinamento para administradores: como a nuvem ajudará

Aparelhos de triagem na fronteira: como agir para não perder dados confidenciais?
Instantâneos: por que precisamos de "instantâneos"

Source: https://habr.com/ru/post/pt458204/


All Articles