Como testar o desempenho do servidor: uma seleção de vários benchmarks de código aberto

Continuamos nossa série de materiais dedicados ao teste de desempenho do servidor. Hoje falaremos sobre alguns benchmarks testados pelo tempo que ainda oferecem suporte e atualização - NetPerf, HardInfo e ApacheBench.


Foto - Peter Balcerzak - CC BY-SA

Netperf


Esta é uma ferramenta para avaliar a largura de banda da rede. Foi desenvolvido por engenheiros da Hewlett-Packard. A ferramenta inclui dois executáveis: netserver e netclient. Para executar o teste, eles precisam ser executados em máquinas diferentes. Por padrão, o netperf usa a porta 12865, mas pode ser substituída pelo sinalizador -p. O utilitário trabalha com TCP e UDP sobre soquetes BSD, DLPI, soquetes de domínio Unix e IPv6.

Hoje o netperf faz parte do kit de ferramentas de benchmarking do Flent . Também é usado por um número bastante grande de empresas de TI, como a Red Hat . Aqui está uma descrição do serviço netperf em um exemplo para avaliar o desempenho do OpenShift:

apiVersion: v1 kind: Service metadata: labels: app-name: netperf name: netperf namespace: your_project spec: ports: - port: 12865 protocol: TCP targetPort: 12865 selector: app-name: netperf sessionAffinity: ClientIP type: ClusterIP 

O repositório oficial diz que o netperf está licenciado sob uma licença especial da Hewlett-Packard. No entanto, o autor do utilitário - Rick Jones (Rick Jones) - afirma que ele está enquadrado nas melhores tradições de código aberto. Observe também que as atualizações recentes do netperf saem muito raramente. Talvez isso se deva à maturidade do produto.

O Netperf possui análogos - por exemplo, iperf2 e iperf3 . Eles também permitem testar a largura de banda da rede. O desenvolvimento do iperf3 começou depois que o repositório iperf2 caiu em desuso. A nova versão foi escrita do zero e é incompatível com a implementação anterior, embora contenha parte do seu código. Curiosamente, após o lançamento do iperf3, o trabalho no iperf2 começou a ferver novamente. Como resultado, as duas ferramentas têm funcionalidades semelhantes, mas ao mesmo tempo diferentes. Por exemplo, o iperf2 é multiencadeado e o iperf3 funciona apenas com um encadeamento.

Hardinfo


Este é um utilitário para coletar informações sobre hardware e sistema operacional. Ele exibe dados sobre a operação de dispositivos em: PCI, ISA PnP, USB, IDE, SCSI, bem como portas seriais e paralelas. Mas pode ser usado como uma ferramenta de referência e monitoramento.

HardInfo oferece vários testes. Por exemplo, CPU Blowfish - avalia o desempenho do processador usando algoritmos de criptografia simétrica em bloco criptográfico. Existe um CPU N-Queens - um teste da combinatória. O sistema resolve o problema do xadrez ao colocar N rainhas no tabuleiro de N x N células. Ela arruma as peças para que nenhuma delas possa atacar as outras. Também vale a pena notar o FPU FFT - um teste para o cálculo rápido da transformada de Fourier discreta e o FPU Raytracing - o cálculo do traçado de raios ao renderizar uma cena 3D.

O resultado na maioria dos testes é dado em segundos e, consequentemente, quanto menor, melhor. Todos os relatórios são mostrados nos formatos HTML e txt.

Inicialmente, o utilitário foi desenvolvido como parte do projeto BerliOS . Ele incluiu uma plataforma de hospedagem para aplicativos de código aberto (como o SourceForge ) e vários bancos de dados para documentação e perfis de desenvolvedores de código aberto. O BerliOS foi fechado em 2014 devido a um financiamento insuficiente. Hoje, o HardInfo está sendo desenvolvido por entusiastas em um repositório separado no GitHub.

Observe que às vezes há erros no sistema. Sabe-se de um erro de segmentação que ocorre periodicamente, de problemas com a exibição de dispositivos USB e vários outros .

Apachebench


Ferramenta para teste de estresse de servidores HTTP. O ApacheBench (AB) foi projetado para testar o Apache, mas pode funcionar em qualquer outro servidor. A ferramenta está pré-instalada em muitas distribuições Linux.


Fotos - Victor Freitas - Unsplash

O utilitário "bombardeia" os servidores com um grande número de solicitações. Para iniciar, digite o seguinte comando:

 ab -n 100 -c 10 http://www.example.com/ 

Ele enviará cem solicitações GET (no máximo dez delas serão transmitidas simultaneamente) para o recurso de teste. Na saída, o sistema mostrará o tempo médio para processar solicitações, a quantidade total de dados transferidos, a taxa de transferência e o número de erros.

Hoje, uma grande comunidade se reuniu em torno do utilitário. Novos guias sobre como configurar e usar o ApacheBench aparecem regularmente na rede.

Observe que a AB possui um analógico - Apache jMeter , mas com ótimos recursos. Por exemplo, permite gerar solicitações de vários computadores, controlando o processo a partir de um deles. O programa também implementa mecanismos de autorização para usuários virtuais, e sessões de usuário são suportadas. Essa ferramenta é usada por muitas empresas de TI, incluindo provedores de nuvem, como a Qualys .


Nós da 1cloud fornecemos o serviço de nuvem privada . Trata-se de um aluguel de infraestrutura virtual com a capacidade de personalizar rapidamente a frota de servidores virtuais .

Nossa nuvem é construída no hardware da Cisco, Dell, NetApp. O equipamento está localizado em vários data centers: DataSpace (Moscou), SDN / Xelent (São Petersburgo), Ahost (Alma-Ata).

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


All Articles