Como avaliar o desempenho do servidor Linux: ferramentas abertas de benchmarking

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

Nossas outras coleções de benchmark:



Fotos - Bureau of Land Management Alaska - CC BY



Iometer


Essa é uma referência para avaliar o desempenho de subsistemas de disco e rede. Adequado para trabalhar com um único servidor ou um cluster inteiro. Os engenheiros da Intel introduziram o Iometer em 1998. Em 2001, a empresa transferiu o código-fonte para a organização sem fins lucrativos Open Source Development Labs ( OSDL ) sob a licença de código-fonte aberto da Intel . Desde 2003, um grupo de entusiastas apoia a ferramenta - o projeto está registrado no SourceForge.net.

O Iometer consiste em um gerador de carga de dínamo e uma interface gráfica. Verdade, o último está disponível apenas no Windows. Quanto ao gerador, ele permite simular a carga de aplicativos de terceiros - para isso, padrões de teste especiais são criados.

Os benchmarks mostram: largura de banda, operações por segundo, latência e carga do processador. Não apenas os valores médios são calculados, mas também min / max.

Apesar de a última versão estável da ferramenta ter sido lançada em 2014, ela ainda é usada pela Broadcom e pela Dell . No entanto, a idade do sistema ainda afeta. Em primeiro lugar, sua interface está desatualizada e não mudou desde 1998. Em segundo lugar, a ferramenta às vezes exibe resultados não adequados em matrizes totalmente em flash.



vpsbench


Um script simples para avaliar o desempenho do VPS. Distribuído sob a licença MIT . Aqui está um exemplo de seu trabalho, fornecido no repositório oficial no GitHub:

$ bash <(wget --no-check-certificate -O - https://raw.github.com/mgutz/vpsbench/master/vpsbench) CPU model: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz Number of cores: 4 CPU frequency: 3417.879 MHz Total amount of RAM: 3265 MB Total amount of swap: 1021 MB System uptime: 8:41, I/O speed: 427 MB/s Bzip 25MB: 4.66s Download 100MB file: 1.64MB/s 

O utilitário exibe o número de núcleos, a frequência do processador e a quantidade de memória usada. Para avaliar o desempenho do disco, o vpsbench executa leitura / gravação seqüencial e aleatória. Apesar de o utilitário ser bastante antigo (uma atualização no GitHub foi feita há cerca de quatro anos), ele é usado por muitos provedores de nuvem e empresas de TI.



Hammerdb


Um dos benchmarks abertos mais populares para teste de carga de banco de dados. A ferramenta é suportada pela organização sem fins lucrativos TPC - Transaction Processing Performance Council. Seu objetivo é desenvolver padrões para benchmarks de bancos 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. As operações transacionais e analíticas podem servir como uma carga. Suporta: banco de dados Oracle, SQL Server, IBM Db2, MySQL, MariaDB, PostgreSQL e Redis.

Uma comunidade extensa se formou em torno do HammerDB. O utilitário é usado por empresas de 180 países. Entre eles: Intel , Dell , Lenovo , Red Hat e muitos outros . Se você quiser explorar os recursos do utilitário, você pode começar com os guias oficiais .




Foto - lugares perdidos - CC BY



7 zip


Esse arquivador possui uma referência interna para testar a velocidade do processador ao compactar um determinado número de arquivos. Também é adequado para verificar erros de RAM. Para testes, é utilizado o algoritmo LZMA (algoritmo de cadeia Lempel - Ziv - Markov). É baseado em um esquema de compactação de dados do dicionário . Por exemplo, para executar o benchmark com um único encadeamento e um dicionário de 64 megabytes, basta escrever o comando:

 7z b -mmt1 -md26 

O programa fornecerá o resultado no formato MIPS (milhões de instruções por segundo), que pode ser chamado de desvantagem. Este parâmetro é adequado para comparar o desempenho de processadores da mesma arquitetura, mas no caso de arquiteturas diferentes, sua aplicabilidade é limitada.



DD


Uma ferramenta de linha de comando que converte e copia arquivos. Mas pode ser usado para testes simples de E / S em sistemas de armazenamento. Fica pronto para uso em praticamente qualquer sistema GNU / Linux.

A página wiki contém um comando para avaliar o desempenho do disco durante a gravação seqüencial de blocos de 1024 bytes:

 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 pode ser usado como uma simples referência de CPU. É verdade que isso exigirá um programa adicional que requer computação com muitos recursos. Por exemplo, um utilitário para calcular os valores de hash de md5sum .

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

O comando acima mostrará com que rapidez (MB / s) o sistema processará uma longa sequência numérica. Embora os especialistas digam que essa equipe é adequada apenas para uma avaliação aproximada do desempenho. Também é importante lembrar que o DD permite operações de baixo nível em discos rígidos. Portanto, você deve trabalhar com o utilitário com cuidado para não perder alguns dados (o nome DD às vezes é decodificado como uma piada, como um destruidor de discos).



Sobre o que escrevemos em nossos blogs e redes sociais:

Pesquisa: Linux ainda é o sistema operacional mais popular na nuvem
A Open Invention Network possui mais de três mil licenciados - o que significa para software de código aberto

Protegendo seu sistema Linux: 10 dicas
Minimização de riscos: como não perder seus dados

Livros para quem já está envolvido na administração do sistema ou planeja começar
Zonas de domínio incomuns para seu projeto

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


All Articles