Na era da computação em nuvem, o desempenho dos servidores em nuvem afeta diretamente a experiência do aplicativo, a continuidade dos negócios e a relação custo-benefício. A escolha da ferramenta de teste de desempenho correta pode ajudá-lo a avaliar com precisão a CPU, a memória, a E/S do disco, a largura de banda da rede e outros indicadores importantes do servidor em nuvem, fornecendo suporte de dados para a otimização de recursos e decisões de expansão da capacidade. Este artigo recomendará várias ferramentas de teste de desempenho de servidores em nuvem convencionais, abrangendo diferentes cenários de teste e requisitos técnicos.
Ferramenta abrangente de teste de desempenho
1. Geekbench 6
O Geekbench é uma ferramenta abrangente de teste de desempenho entre plataformas, compatível com Windows, Linux, macOS e outros sistemas operacionais, o que o torna ideal para avaliar o desempenho geral dos servidores em nuvem.
Site oficial:https://www.geekbench.com/

funcionalidade principal:
- Testes de desempenho da CPU: incluindo computação de números inteiros, computação de ponto flutuante, desempenho da memória, etc.
- Avaliação de desempenho de computação: oferece suporte a testes abrangentes de desempenho de vários núcleos da CPU.
- Suporte a vários conjuntos de instruções: permite que o desempenho de servidores em nuvem com diferentes arquiteturas seja totalmente utilizado.
de pontaOs resultados dos testes são intuitivos, fornecendo pontuações de desempenho detalhadas e dados de comparação para facilitar as comparações de desempenho entre diferentes configurações de servidores em nuvem.
2. UnixBench
O UnixBench é uma ferramenta clássica de teste de desempenho do sistema Unix/Linux que se concentra na avaliação geral do desempenho do sistema.
Site oficial:https://github.com/topics/unixbench

funcionalidade principal:
- Testes multifacetados: incluindo operações de CPU, acesso à memória, leitura e gravação de arquivos, etc.
- Teste multithread: pode simular cenários simultâneos de vários usuários
- Pontuação padronizada: visualização do desempenho por meio de um sistema de pontuação de índice
de pontaCódigo aberto e gratuito, longo histórico, resultados de teste com alto valor de referência, adequado para a avaliação básica de desempenho de servidores em nuvem Linux.
Ferramentas de teste de desempenho da CPU e da memória
1. estresse
O Stress-ng é uma ferramenta avançada de teste de estresse que realiza testes intensos de CPU, memória e outros recursos do sistema.
Endereço para download:https://fossies.org/linux/privat/

funcionalidade principal:
- Vários tipos de testes de estresse: suporte a CPU, memória, E/S de disco e outros tipos de testes de estresse
- Configuração flexível: você pode especificar a duração do teste, o número de simultaneidade e outros parâmetros
- Estatísticas detalhadas: Fornecer estatísticas de uso de recursos durante o processo de teste
de pontaFerramenta leve, de fácil instalação e configuração flexível de parâmetros, adequada para avaliar a estabilidade de servidores em nuvem sob alta carga.
2) Sysbench
O Sysbench é uma ferramenta modular de teste de desempenho que suporta testes de desempenho de CPU, memória, banco de dados e outros.
Site oficial:https://github.com/akopytov/sysbench

funcionalidade principal:
- Testes multidimensionais: desempenho de computação da CPU, largura de banda da memória, E/S de arquivos, etc.
- Testes personalizáveis: suporte para personalização de parâmetros e cenários de teste
- Teste de banco de dados: módulos de teste especializados para MySQL e outros bancos de dados.
de pontaFuncionalidade abrangente e suporte para vários cenários de teste, adequado para usuários que precisam de uma análise aprofundada do desempenho de servidores em nuvem.
Ferramenta de teste de desempenho de E/S de disco
1. Fio
O Fio (Flexible I/O Tester) é uma ferramenta profissional de teste de desempenho de E/S de disco amplamente usada para avaliar o desempenho do sistema de armazenamento.
Site oficial:https://github.com/axboe/fio

funcionalidade principal:
- Vários modos de E/S: suporta leitura/gravação aleatória, leitura/gravação sequencial, etc.
- Testes personalizados: parâmetros configuráveis, como tamanho do bloco, profundidade da fila, etc.
- Relatório detalhado: fornece as principais métricas, como IOPS, taxa de transferência, latência, etc.
de pontaAltamente personalizável, com resultados de teste profissionais e confiáveis, adequado para avaliar o desempenho do disco local ou do armazenamento em nuvem de servidores em nuvem.
2. comando dd
O dd é uma ferramenta de linha de comando que vem com o Linux e é uma maneira simples e rápida de avaliar o desempenho da leitura e gravação em um disco.
funcionalidade principal:
- Teste de leitura/gravação sequencial: teste a velocidade de gravação do disco criando arquivos grandes
- Custo zero: integrado ao sistema, sem necessidade de instalação adicional
- Avaliação rápida: adequado para testes iniciais de desempenho do disco
exemplo de uso:
# 测试写入速度
dd if=/dev/zero of=testfile bs=1G count=1 oflag=direct
# 测试读取速度
dd if=testfile of=/dev/null bs=1G count=1 iflag=direct
Ferramentas de teste de desempenho de rede
1. iperf3
O iperf3 é uma ferramenta profissional de teste de desempenho de rede para medir o desempenho da largura de banda TCP e UDP.
funcionalidade principal:
- Teste de largura de banda: Meça com precisão a largura de banda da rede
- Suporte multiprotocolo: suporta TCP, UDP e outros protocolos.
- Teste bidirecional: o desempenho de upload e download pode ser testado ao mesmo tempo
de pontaSuporte a várias plataformas, operação simples, resultados precisos, adequado para avaliar o desempenho de conexões entre servidores em nuvem ou entre servidores em nuvem e redes locais.
Os métodos de instalação para diferentes sistemas operacionais são os seguintes:
- Sistema Linux:
- Ubuntu/Debian:
sudo apt install iperf3 - CentOS/RHEL:
sudo yum install iperf3 - Fedora:
sudo dnf install iperf3
- Ubuntu/Debian:
- sistema macOS:
Ele pode ser instalado usando o Homebrew:brew install iperf3 - Sistema Windows:
Ela precisa vir de Site oficial do iperf Faça o download do pacote de instalação pré-compilado, descompacte-o e use-o (as versões de 32 e 64 bits estão incluídas).
Após a conclusão da instalação, em um terminal ou prompt de comando, digite iperf3 -vSe as informações da versão puderem ser exibidas, a instalação foi bem-sucedida.
2. speedtest-cli
O Speedtest-cli é a versão de linha de comando do conhecido site de teste de velocidade da Internet Speedtest, adequado para testar rapidamente a velocidade das conexões de rede com servidores em nuvem.
Site oficial:https://www.speedtest.net/zh-Hans/apps/cli

funcionalidade principal:
- Teste de velocidade da Internet: Teste as velocidades de download e upload
- Seleção do servidor: o servidor de teste pode ser especificado
- Exportação de resultados: suporte à exportação de resultados de testes para o formato de texto ou JSON.
de pontaSimples de usar, sem necessidade de configuração complexa, e adequado para compreender rapidamente o desempenho da rede de servidores em nuvem.
Ferramentas de teste de desempenho nativas da nuvem
1. k6
O k6 é uma ferramenta moderna de teste de carga projetada para APIs e aplicativos nativos da nuvem.
Site oficial:https://k6.io/

funcionalidade principal:
- Teste de carga: simulação de acesso simultâneo por um grande número de usuários
- Testes com script: suporte para escrever scripts de teste em JavaScript
- Integração com a nuvem: integra-se às principais plataformas de nuvem
de pontaTestes de desempenho: leve e facilmente dimensionável para testar o desempenho de APIs e microsserviços implantados em servidores em nuvem.
Uso básico do processo:
- Instalação do k6:
- Linux:
sudo apt install k6(Debian/Ubuntu) ou por meio do pacote binário oficial. - macOS:
brew install k6 - Windows: de Site oficial do k6 Faça o download do pacote de instalação ou use o WSL
- Linux:
- Escrever scripts de teste(por exemplo
test.js)
import http from 'k6/http';
import { check, sleep } from 'k6';
export const options = {
vus: 10, // 虚拟用户数
duration: '30s', // 测试持续时间
};
export default function() {
const res = http.get('https://api.example.com/');
check(res, { 'status is 200': (r) => r.status === 200 });
sleep(1); // 每个请求间隔1秒
} Execute o teste:k6 run test.js
Exibir resultados:
No final do teste, o endpoint gera um relatório resumido que inclui métricas como distribuição do tempo de resposta, taxa de erro, solicitações por segundo (RPS) etc., ou você pode configurar a saída para ferramentas como o Grafana para uma análise aprofundada.
O k6 é particularmente adequado para as equipes de desenvolvimento realizarem testes de regressão de desempenho durante a iteração ou para verificar a estabilidade do sistema sob alta carga antes de entrar em operação, e é uma ferramenta comum para testes de desempenho de aplicativos nativos da nuvem.
2. gafanhoto
O Locust é uma ferramenta de teste de carga de código aberto escrita em Python com boa extensibilidade.
Site oficial:https://docs.locust.io/en/stable/
Armazém:https://github.com/locustio/locust

funcionalidade principal:
- Teste distribuído: suporte a várias máquinas para colaborar no teste de carga
- Cenário de teste de definição de código: definição do comportamento do usuário por meio do código Python
- Monitoramento em tempo real: fornece uma interface da Web para visualizar os resultados dos testes em tempo real.
de pontaAltamente personalizável para testes de desempenho de servidores em nuvem em cenários complexos, especialmente para aplicativos da Web.
Orientação para seleção
- avaliação preliminarPara uma avaliação simples do desempenho, recomenda-se o Geekbench ou o UnixBench para testes abrangentes.
- teste especial:
- CPU / Memória: Stress-ng, Sysbench
- E/S de disco: comandos Fio, dd
- Desempenho da rede: iperf3, Speedtest-cli
- Teste de cenários de aplicativosPara aplicativos implementados em servidores em nuvem, recomenda-se o k6 ou o Locust para testes de carga próximos aos cenários do mundo real.
- monitoramento contínuoCombine com as ferramentas de monitoramento que vêm com a plataforma de nuvem (por exemplo, AWS CloudWatch, AliCloud Monitor etc.) para obter um monitoramento de desempenho de longo prazo
Com o uso razoável dessas ferramentas de teste de desempenho, é possível obter uma compreensão abrangente do desempenho dos servidores em nuvem, fornecendo uma base científica para a otimização da alocação de recursos, o controle de custos e a expansão dos negócios. No teste real, é recomendável combinar várias ferramentas de teste e repetir o teste em diferentes períodos de tempo para obter resultados mais precisos.