Hoje falaremos sobre ferramentas abertas para avaliar o desempenho de processadores, memória, sistemas de arquivos e sistemas de armazenamento.
A lista inclui utilitários oferecidos por residentes do GitHub e membros de tópicos temáticos no Reddit - Sysbench, UnixBench, Phoronix Test Suite, Vdbench e IOzone.
/ Unsplash / Veri IvanovaEste é um utilitário para teste de carga de servidores MySQL, com base no projeto LuaJIT, que desenvolve uma máquina virtual para a linguagem Lua. O autor da ferramenta é programador e especialista em MySQL Alexey Kopytov. O projeto começou como um hobby, mas com o tempo ganhou reconhecimento da comunidade. Hoje, o sysbench usa grandes universidades e organizações de TI
como o IEEE em seus trabalhos.
Durante a conferência SECR-2017 (há uma gravação do discurso
no YouTube ), Alexey disse que o sysbench permite avaliar o desempenho do banco de dados ao mudar para um novo equipamento, atualizar a versão do DBMS ou alterar drasticamente o número de consultas. Em geral, a sintaxe de comando para o teste é a seguinte:
sysbench [options]... [testname] [command]
Este comando determina o tipo (CPU, memória, arquivo) e os parâmetros de teste de carga (número de threads, número de solicitações, velocidade de processamento da transação). Em geral, a ferramenta é capaz de processar milhões de eventos por segundo. Alexey Kopytov falou com mais detalhes sobre a arquitetura e a estrutura interna do sysbench em um dos
problemas do podcast de desenvolvimento de software do podcast .
Um conjunto de ferramentas para avaliar o desempenho dos sistemas Unix. Ele foi apresentado por engenheiros da Universidade Monash em 1983. Desde então, muitas pessoas têm apoiado a ferramenta, por exemplo, a
Byte Magazine , autor da
revista de tecnologia de microcomputadores
, e David Niemi, membro da LKML.
Anthony Voellm, da Microsoft, é responsável pelo lançamento da próxima versão da ferramenta.
O UnixBench é uma coleção de testes individuais. Eles comparam a velocidade de execução do código em uma máquina executando o Unix com o desempenho do sistema de referência, que é o
SPARCstation 20-61. Com base nessa comparação, uma pontuação de desempenho é gerada.
Entre os testes disponíveis estão: Whetstone, que descreve a eficácia das operações de ponto flutuante, File Copy, que estima a velocidade da cópia de dados, e vários benchmarks 2D e 3D. Uma lista completa de testes pode ser encontrada no repositório no GitHub . Muitos deles usam máquinas virtuais na nuvem para avaliar o desempenho de máquinas virtuais.
Este conjunto de testes foi desenvolvido pelos autores do recurso da web Phoronix, que publica notícias sobre as distribuições GNU / Linux. O primeiro Conjunto de Testes foi lançado em 2008 - e incluiu 23 testes diferentes. Mais tarde, os desenvolvedores lançaram o serviço de nuvem
OpenBenchmarking.org , onde os usuários podiam publicar seus próprios scripts de teste. Hoje,
apresenta cerca de 60 kits de referência, incluindo aqueles relacionados ao aprendizado de máquina e à tecnologia de rastreamento de raios.
Conjuntos de scripts especializados permitem testar componentes individuais do sistema. Com a ajuda deles, você pode avaliar o tempo de compilação do kernel e a codificação dos arquivos de vídeo, a velocidade de compactação dos arquivadores, etc. Para executar os testes, basta escrever o comando apropriado no console. Por exemplo, este comando inicia uma avaliação do desempenho da CPU:
phoronix-test-suite benchmark smallpt
Durante o teste, o Test Suite monitora independentemente as condições do equipamento (temperatura da CPU e velocidade do cooler), protegendo o sistema contra superaquecimento.
/ Unsplash / Jason Chen
Uma ferramenta para gerar carga de E / S em sistemas de disco desenvolvida pela Oracle. Ajuda a avaliar o desempenho e a integridade dos sistemas de armazenamento (preparamos uma
breve ajuda sobre como calcular o desempenho teórico de um sistema de disco).
A solução funciona da seguinte maneira: em um sistema real, é iniciado o programa SWAT (Sun StorageTek Workload Analysis Tool), que cria um dump com todos os acessos ao disco por um determinado período. O registro de data e hora, tipo de operação, endereço e tamanho do bloco de dados são registrados. Em seguida, usando o arquivo de despejo, o vdbench emula a carga em qualquer outro sistema.
A lista de parâmetros para gerenciar o utilitário está no
documento oficial do
Oracle . O código fonte do utilitário pode ser encontrado
no site da empresa .
Utilitário do console para avaliar o desempenho do sistema de arquivos. Determina a velocidade de leitura, gravação e substituição de arquivos. Dezenas de programadores participaram do desenvolvimento da ferramenta, mas o engenheiro de sua primeira versão
é considerado o engenheiro William Norcott. O desenvolvimento foi apoiado por empresas como Apple, NetApp e iXsystems.
Para controlar encadeamentos e sincronizá-los durante o teste, a ferramenta usa o padrão de encadeamentos
POSIX . Após a conclusão do trabalho, o IOzone emite um relatório com os resultados em formato de texto ou na forma de uma planilha (Excel). A ferramenta também inclui o script gengnuplot.sh, que constrói um gráfico tridimensional a partir dos dados nas tabelas. Exemplos de tais gráficos podem ser encontrados na documentação do instrumento (
p. 11-17 ).
O IOzone está disponível como perfil de teste no já mencionado Phoronix Test Suite.
Leitura adicional de nossos blogs e redes sociais:
Um bug no Linux 5.1 levou à perda de dados - um patch de correção já foi lançado
Alguns dizem que a tecnologia DANE para navegadores falhou
Por que o monitoramento é necessário?
Backup de arquivo: como se proteger contra perda de dados
Como transferir um disco rígido do sistema para uma máquina virtual?
Todo mundo fala sobre vazamentos de PD - como o provedor de IaaS ajudará
Programa educacional curto: como a assinatura eletrônica é organizada
Histórico: como funciona a lei de dados pessoais