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 (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 .
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.
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
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.
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"