Como testar o desempenho de servidores: uma seleção de vários benchmarks open source

Continuamos nossa série de materiais dedicados ao teste de desempenho de servidores. Hoje, falaremos sobre alguns benchmarks consagrados que ainda são mantidos e atualizados — NetPerf, HardInfo e ApacheBench.

Como testar o desempenho de servidores: uma seleção de vários benchmarks open source
Foto — Peter Balcerzak — CC BY-SA

NetPerf

Este é um instrumento para avaliar a largura de banda da rede. Foi desenvolvido por engenheiros da Hewlett-Packard. O instrumento inclui possui dois arquivos executáveis: netserver e netclient. Para realizar o teste, eles precisam ser iniciados em máquinas diferentes. Por padrão, netperf utiliza a porta 12865, mas isso pode ser alterado com a flag -p. A ferramenta funciona com TCP e UDP através de BSD Sockets, DLPI, Unix Domain Sockets e IPv6.

Hoje, o netperf faz parte do conjunto de ferramentas para benchmarking Flent. Além disso, é utilizado por um número considerável de empresas de TI, como a Red Hat. Assim, é apresentada a descrição do serviço netperf em um dos exemplos para avaliação de 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

No repositório oficial, é afirmado que o netperf é distribuído sob uma licença especial da Hewlett-Packard. No entanto, o autor da ferramenta — Rick Jones — afirma que ela foi criada seguindo as melhores tradições do open source. Também vale ressaltar que, recentemente, as atualizações para o netperf têm sido lançadas com menos frequência. Isso pode estar relacionado à 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 após o repositório do iperf2 entrar em declínio. A nova versão foi reescrita do zero e não é compatível com a implementação anterior, embora contenha parte de seu código. Curiosamente, após o lançamento do iperf3, o trabalho no iperf2 recomeçou. Como resultado, as duas ferramentas possuem funcionalidades semelhantes, mas ao mesmo tempo diferentes. Por exemplo, o iperf2 é multithreaded, enquanto o iperf3 é trabalha apenas com um único thread.

Hardinfo

Esta é uma ferramenta para coletar informações sobre hardware e sistema operacional. Ela exibe dados sobre o funcionamento de dispositivos em: PCI, ISA PnP, USB, IDE, SCSI, assim como portas seriais e paralelas. Mas pode ser utilizada como benchmark e ferramenta de monitoramento.

HardInfo oferece vários testes. Por exemplo, o CPU Blowfish avalia o desempenho do processador usando algoritmos criptográficos de criptografia simétrica em bloco. Existem CPU N-Queens — um teste de combinatória. O sistema resolve o problema de posicionamento de N rainhas em um tabuleiro de N x N casas. Ele posiciona as peças de forma que nenhuma delas possa atacar as outras. Também vale destacar o FPU FFT — teste para cálculo rápido de transformadas discretas de Fourier e o FPU Raytracing — cálculo de ray tracing na renderização de cenas 3D.

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

A utilidade foi inicialmente desenvolvida no âmbito do projeto BerliOS. Ele incluía uma plataforma de hospedagem para aplicativos de código aberto (como SourceForge) e várias bases de dados para documentação e perfis de desenvolvedores de código aberto. O BerliOS foi encerrado em 2014 devido à falta de financiamento. Hoje, o HardInfo se desenvolve com o esforço de entusiastas em um repositório separado no GitHub.

Vale ressaltar que, às vezes, a operação do sistema encontra bugs. Sabe-se sobre um erro de segmentação, problemas com a exibição de dispositivos USB e alguns outros.

ApacheBench

Uma ferramenta para teste de carga de servidores HTTP. O ApacheBench (AB) foi desenvolvido para testar o Apache, mas pode funcionar em qualquer outro servidor. A ferramenta vem pré-instalada em muitas distribuições Linux.

Como testar o desempenho de servidores: uma seleção de vários benchmarks open source
Foto — Victor Freitas — Unsplash

A utilidade 'bombardeia' os servidores com um grande número de solicitações. Para iniciar, é necessário inserir 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 enviadas simultaneamente) para o recurso de teste. A saída mostrará o tempo médio de processamento das solicitações, o volume total de dados transferidos, a largura de banda e o número de erros.

Hoje, uma ampla comunidade se formou em torno da utilidade. Na rede, novos guias surgem regularmente sobre como configurar e usar o ApacheBench.

Vale destacar que o AB tem um análogo — Apache jMeter, mas com mais recursos. Por exemplo, ele permite gerar consultas de vários computadores, gerenciando o processo a partir de um deles. O programa também possui mecanismos de autorização de usuários virtuais e suporta sessões de usuários. Esta ferramenta é utilizada por muitas empresas de TI, incluindo provedores de nuvem, como A vulnerabilidade foi encontrada por especialistas.

Como testar o desempenho de servidores: uma seleção de vários benchmarks open sourceNós na 1cloud oferecemos o serviço ‘Nuvem Privada’. Trata-se de aluguel de infraestrutura virtual com a possibilidade de personalização rápida do parque servidores virtuais.
Como testar o desempenho de servidores: uma seleção de vários benchmarks open sourceNossa nuvem é construída sobre hardware Cisco, Dell, NetApp. O equipamento está localizado em vários CDNs: DataSpace (Moscovo), SDN/Xelent (São Petersburgo), Ahost (Alma-Ata).

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