Como avaliar o desempenho de um servidor Linux: ferramentas abertas para benchmarking

Nós na 1cloud.ru preparamos uma seleção de ferramentas e scripts para avaliação de desempenho de processadores, armazenamento em rede e memória em máquinas Linux: Iometer, DD, vpsbench, HammerDB e 7-Zip.

Nossas outras seleções com benchmarks:

Como avaliar o desempenho de um servidor Linux: ferramentas abertas para benchmarking
Foto — Bureau of Land Management Alaska — CC BY

Iometer

Este é um benchmark para avaliar o desempenho de subsistemas de disco e rede. É adequado tanto para o trabalho com um único servidor quanto com um cluster. O Iometer foi apresentado por engenheiros da Intel em 1998. Em 2001, a corporação transferiu o código-fonte para a organização sem fins lucrativos Open Source Development Labs (OSDL) sob a licença Intel Open Source License. Desde 2003, o suporte à ferramenta é feito por um grupo de entusiastas — o projeto está registrado no SourceForge.net.

O Iometer consiste em um gerador de carga dynamo e uma interface gráfica. No entanto, a última está disponível apenas para Windows. Quanto ao gerador, ele permite simular a carga de aplicativos de terceiros — para isso, são criados modelos de teste especiais.

Os benchmarks mostram: largura de banda, operações por segundo, latência e carga do processador. Não apenas as médias dos valores são calculadas, mas também os mínimos/máximos.

Apesar de a última versão estável da ferramenta ter sido lançada em 2014, ela ainda é utilizada na Broadcom e Dell. Contudo, a idade do sistema se faz sentir. Em primeiro lugar, sua interface está desatualizada e não foi alterada desde 1998. Em segundo lugar, a ferramenta às vezes apresenta resultados não tão adequados em arrays all-flash.

vpsbench

Um script simples para avaliação de desempenho de VPS. É distribuído sob licença MIT. Aqui está um exemplo de seu funcionamento, apresentado no repositório oficial no GitHub:

$ bash <(wget --no-check-certificate -O - https://raw.github.com/mgutz/vpsbench/master/vpsbench)

Modelo do CPU:  Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
Número de núcleos: 4
Frequência do CPU:  3417.879 MHz
Quantidade total de RAM: 3265 MB
Quantidade total de swap: 1021 MB
Tempo de atividade do sistema:   8:41,
Velocidade de I/O:  427 MB/s
Bzip 25MB: 4.66s
Baixar arquivo de 100MB: 1.64MB/s

A utilidade exibe o número de núcleos, a frequência do processador e os volumes de memória utilizados. Para avaliar o desempenho dos discos, o vpsbench executa realiza leitura/escrita sequencial e aleatória. Apesar de a utilidade ser bastante antiga (a última atualização no GitHub foi feita há cerca de quatro anos), ela é usa amplamente utilizada por provedores de nuvem e empresas de TI.

HammerDB

Um dos benchmarks mais populares abertos para teste de carga em bancos de dados. O suporte à ferramenta é mantido por uma organização sem fins lucrativos TPC — Conselho de Desempenho de Processamento de Transações. O seu objetivo é desenvolver padrões para benchmarks de banco de dados.

O HammerDB cria um esquema de banco de dados de teste, preenche-o com dados e simula a carga de vários usuários virtuais. A carga pode incluir tanto operações transacionais quanto analíticas. Suporta: Oracle Database, SQL Server, IBM Db2, MySQL, MariaDB, PostgreSQL e Redis.

Ao redor do HammerDB formou-se uma ampla comunidade. A ferramenta é utilizada por empresas em 180 países ao redor do mundo. Entre elas: Intel, Dell, Lenovo, Red Hat e muitas outras outros. Se você deseja explorar as capacidades da ferramenta por conta própria, pode começar com os guias oficiais.

Como avaliar o desempenho de um servidor Linux: ferramentas abertas para benchmarking
Foto — places perdidos — CC BY

7-Zip

Este compactador possui um benchmark embutido para testar a velocidade dos processadores ao compactar um determinado número de arquivos. Também é adequado para verificar a RAM em busca de erros. Para os testes, é utilizado o algoritmo LZMA (Algoritmo de Cadeia de Markov de Lempel–Ziv). Ele é baseado no esquema de compressão de dados por dicionário.Por exemplo, para executar o benchmark com um único thread e um dicionário de 64 megabytes, basta usar o seguinte comando:

7z b -mmt1 -md26

O resultado será fornecido pelo programa no formato MIPS (milhões de instruções por segundo), o que pode ser considerado uma desvantagem. Este parâmetro é adequado para comparar o desempenho de processadores de arquitetura idêntica, mas no caso de arquiteturas diferentes, sua aplicabilidade é limitada.

DD

Uma ferramenta de linha de comando que converte e copia arquivos. Mas também pode ser usada para realizar testes simples de I/O em sistemas de armazenamento. Funciona praticamente em qualquer sistema GNU/Linux.

Na página wiki está listada a comando para avaliar o desempenho do disco ao escrever blocos de 1024 bytes de forma sequencial:

dd if=/dev/zero bs=1024 count=1000000 of=file_1GB
dd if=file_1GB of=/dev/null bs=1024

Também vale a pena notar que o DD podemos usar funciona como um benchmark simples de CPU. No entanto, para isso será necessário um programa adicional que exija cálculos intensivos. Por exemplo, uma ferramenta para calcular valores de hash md5sum.

dd if=/dev/zero bs=1M count=1024 | md5sum

O comando acima mostrará quão rápido (MB/s) o sistema processa uma longa sequência numérica. Embora os especialistas digam que este comando serve apenas para uma avaliação grosseira de desempenho. Também é importante lembrar que o DD permite realizar operações de baixo nível em discos rígidos. Portanto, é necessário ter cuidado ao trabalhar com a ferramenta, para não perder parte dos dados (o nome DD é às vezes brincado como disk destroyer).

Sobre o que escrevemos em nossos blogs e redes sociais:

Como avaliar o desempenho de um servidor Linux: ferramentas abertas para benchmarking Pesquisa: Linux ainda é o sistema operacional mais popular na nuvem
Como avaliar o desempenho de um servidor Linux: ferramentas abertas para benchmarking Na Open Invention Network, há mais de três mil licenciados — o que isso significa para o software livre

Como avaliar o desempenho de um servidor Linux: ferramentas abertas para benchmarking Como proteger um sistema Linux: 10 dicas
Como avaliar o desempenho de um servidor Linux: ferramentas abertas para benchmarking Minimizando riscos: como não perder seus dados

Como avaliar o desempenho de um servidor Linux: ferramentas abertas para benchmarking Livros para quem já está em administração de sistemas ou está apenas planejando começar
Como avaliar o desempenho de um servidor Linux: ferramentas abertas para benchmarking Zonas de domínio incomuns para o seu projeto

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster