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

Continuamos nossa série de materiais dedicados a testar o desempenho do servidor. Hoje falaremos sobre alguns benchmarks testados pelo tempo que ainda são suportados e atualizados - NetPerf, HardInfo e ApacheBench.

Como testar o desempenho do servidor: uma seleção de vários benchmarks de código aberto
Фото - Pedro Balcerzak — CC BY SA

NetPerf

Esta é uma ferramenta para avaliar o rendimento da rede. Foi desenvolvido por engenheiros da Hewlett-Packard. Ferramenta inclui dois arquivos 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 isso pode ser alterado usando o sinalizador -p. O utilitário funciona com TCP e UDP sobre soquetes BSD, DLPI, soquetes de domínio Unix e IPv6.

Hoje o netperf está incluído no kit de ferramentas de benchmarking flent. Também é usado por um grande número de empresas de TI, por exemplo Chapéu Vermelho. Esta é a aparência da descrição do serviço netperf em um dos exemplos 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 é distribuído sob uma licença especial da Hewlett-Packard. No entanto, o autor do utilitário, Rick Jones, afirma que ele foi desenvolvido nas melhores tradições de código aberto. Observamos também que recentemente as atualizações do netperf se tornaram bastante raras. Isso pode ser devido à maturidade do produto.

netperf tem análogos - por exemplo, iperf2 и iperf3. Eles também permitem que você teste o rendimento da sua 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 de seu código. Curiosamente, após o lançamento do iperf3, o trabalho no iperf2 começou a ferver novamente. Como resultado, duas ferramentas possuir funcionalidade semelhante, mas ao mesmo tempo diferente. Por exemplo, iperf2 é multithread e iperf3 é trabalho com apenas um fio.

hardinfo

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

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

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

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

Observe que o sistema às vezes encontra bugs. Sabe-se que ocorrem periodicamente falha de segmentação, problemas com exibição de dispositivos USB e vários outro.

ApacheBench

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

Como testar o desempenho do servidor: uma seleção de vários benchmarks de código aberto
Фото - Victor Freitas - Unsplash

O utilitário bombardeia servidores com um grande número de solicitações. Para executar você precisa digitar 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 ao mesmo tempo) para o recurso de teste. Na saída, o sistema mostrará o tempo médio de processamento da solicitação, a quantidade total de dados transferidos, o rendimento e a quantidade de erros.

Hoje, uma grande comunidade se reuniu em torno da concessionária. Aparece regularmente na Internet guias mais recentes sobre como configurar e usar o ApacheBench.

Observe que AB tem um análogo - Apache jMeter, mas com grandes possibilidades. Por exemplo, permite gerar solicitações de vários computadores enquanto gerencia o processo de um deles. O programa também implementa mecanismos para autorizar usuários virtuais e oferece suporte a sessões de usuários. Esta ferramenta é usada por muitas empresas de TI, incluindo provedores de nuvem, por ex. Qualy's.

Como testar o desempenho do servidor: uma seleção de vários benchmarks de código abertoNós da 1cloud fornecemos um serviço "Nuvem privada". Trata-se de um aluguel de infraestrutura virtual com possibilidade de customização rápida da frota Servidores virtuais.
Como testar o desempenho do servidor: uma seleção de vários benchmarks de código abertoNossa nuvem construído em ferro Cisco, Dell, NetApp. O equipamento está localizado em vários data centers: DataSpace (Moscou), SDN/Xelent (São Petersburgo), Ahost (Alma-Ata).

Fonte: habr.com

Adicionar um comentário