Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2025-01-23 GMT+08:00

Como testar o desempenho da rede?

Use netperf e iperf3 para testar o desempenho da rede entre ECSs. As operações de teste incluem preparações, teste de largura de banda de TCP, teste de PPS UDP e teste de latência.

Conhecimento de fundo

  • ECS testado: um ECS testado quanto ao desempenho da rede. Esse ECS funciona como o cliente (extremidade TX) ou servidor (extremidade RX) em testes netperf.
  • ECS auxiliar: um ECS que é usado para trocar dados de teste com o ECS testado. O ECS auxiliar funciona como o cliente (extremidade TX) ou servidor (extremidade RX) em testes netperf.
  • Tabela 1 e Tabela 2 listam os parâmetros comuns de netperf e iperf3.
    Tabela 1 Parâmetros comuns de netperf

    Parâmetro

    Descrição

    -p

    Número da porta

    -H

    Endereço IP da extremidade RX

    -t

    Protocolo usado na transmissão de pacotes, cujo valor é TCP_STREAM em testes de largura de banda

    -l

    Duração do teste

    -m

    Tamanho do pacote de dados, que é sugerido para ser 1440 em testes de largura de banda

    Tabela 2 Parâmetros comuns de iperf3

    Parâmetro

    Descrição

    -p

    Número da porta

    -c

    Endereço IP da extremidade RX

    -u

    Pacotes de UDP

    -b

    Largura de banda TX

    -t

    Duração do teste

    -l

    Tamanho do pacote de dados, que é sugerido para ser 16 em testes de PPS

    -A

    ID da vCPU usado pelo iperf3

    Nesta seção, o número máximo de 16 vCPUs é usado como exemplo para cada ECS. Se um ECS tiver 8 vCPUs, o valor -A varia de 0 a 7.

Preparações para testes

  1. Prepare ECSs.

    Certifique-se de que o tipo e as especificações do ECS testado e dos ECSs auxiliares sejam iguais. Além disso, certifique-se de que esses ECSs sejam implementados no mesmo grupo de ECS com a antiafinidade habilitada.
    Tabela 3 Preparações

    Categoria

    Quantidade

    Imagem

    Especificações

    Endereço IP

    ECS testado

    1

    CentOS 7.4 64bit (recomendado)

    Pelo menos oito vCPUs

    192.168.2.10

    ECS auxiliar

    8

    CentOS 7.4 64bit (recomendado)

    Pelo menos 8 vCPUs

    192.168.2.11-192.168.2.18

  2. Instale as ferramentas de teste netperf, iperf3 e sar no ECS testado e nos ECS auxiliares.

    Tabela 4 lista os procedimentos para a instalação dessas ferramentas.

    Tabela 4 Instalação de ferramentas de teste

    Ferramenta

    Procedimento

    netperf

    1. Execute o seguinte comando para instalar gcc:

      yum -y install unzip gcc gcc-c++

    2. Execute o seguinte comando para baixar o pacote de instalação do netperf:

      wget https://github.com/HewlettPackard/netperf/archive/refs/tags/netperf-2.7.0.zip

    3. Execute os seguintes comandos para descompactar o pacote de instalação e instalar o netperf:

      unzip netperf-2.7.0.zip

      cd netperf-netperf-2.7.0/

      ./configure && make && make install

    iperf3

    1. Execute o seguinte comando para baixar o pacote de instalação do iperf3:

      wget --no-check-certificate https://codeload.github.com/esnet/iperf/zip/master -O iperf3.zip

    2. Execute os seguintes comandos para descompactar o pacote de instalação e instalar o iperf3:

      unzip iperf3.zip

      cd iperf-master/

      ./configure && make && make install

    sar

    Execute o seguinte comando para instalar o sar:

    yum -y install sysstat

  3. Habilite a multifila da NIC.

    Execute as seguintes operações em ambos os ECSs testados e ECSs auxiliares.

    1. Execute o seguinte comando para verificar o número de filas suportadas pelos ECSs:

      ethtool -l eth0 | grep -i Pre -A 5 | grep Combined

    2. Execute o comando a seguir para habilitar a multifila da NIC:

      ethtool -L eth0 combined X

      No comando anterior, X é o número de filas obtidas em 3.a.

Teste de largura de banda de TCP (usando netperf)

Execute o teste em vários fluxos. Esta seção considera 16 fluxos que são distribuídos uniformemente para oito ECSs, como um exemplo.

O teste de largura de banda de TCP usa o modelo multifluxo.

  • Ao testar a largura de banda de transmissão TCP (TX), use o modelo um-para-muitos para garantir que a capacidade do receptor seja suficiente.
  • Ao testar a largura de banda do receptor TCP (RX), use o modelo muitos-para-um para garantir que a capacidade do remetente seja suficiente.
  1. Teste a largura de banda de TX TCP.

    1. Execute os seguintes comandos em todos os ECSs auxiliares para iniciar o processo netserver:

      netserver -p 12001

      netserver -p 12002

      Nos comandos anteriores, -p especifica a porta de escuta.

    2. Inicie o processo netperf no ECS testado e especifique uma porta netserver para cada ECS auxiliar. Para obter detalhes sobre parâmetros comuns de netperf, consulte Tabela 1.

      ##O endereço IP é para o primeiro ECS auxiliar.

      netperf -H 192.168.2.11 -p 12001 -t TCP_STREAM -l 300 -- -m 1440 &

      netperf -H 192.168.2.11 -p 12002 -t TCP_STREAM -l 300 -- -m 1440 &

      ##O endereço IP é para o segundo ECS auxiliar.

      netperf -H 192.168.2.12 -p 12001 -t TCP_STREAM -l 300 -- -m 1440 &

      netperf -H 192.168.2.12 -p 12002 -t TCP_STREAM -l 300 -- -m 1440 &

      ##O endereço IP é para o terceiro ECS auxiliar.

      netperf -H 192.168.2.13 -p 12001 -t TCP_STREAM -l 300 -- -m 1440 &

      netperf -H 192.168.2.13 -p 12002 -t TCP_STREAM -l 300 -- -m 1440 &

      ##O endereço IP é para o quarto ECS auxiliar.

      netperf -H 192.168.2.14 -p 12001 -t TCP_STREAM -l 300 -- -m 1440 &

      netperf -H 192.168.2.14 -p 12002 -t TCP_STREAM -l 300 -- -m 1440 &

      ##O endereço IP é para o quinto ECS auxiliar.

      netperf -H 192.168.2.15 -p 12001 -t TCP_STREAM -l 300 -- -m 1440 &

      netperf -H 192.168.2.15 -p 12002 -t TCP_STREAM -l 300 -- -m 1440 &

      ##O endereço IP é para o sexto ECS auxiliar.

      netperf -H 192.168.2.16 -p 12001 -t TCP_STREAM -l 300 -- -m 1440 &

      netperf -H 192.168.2.16 -p 12002 -t TCP_STREAM -l 300 -- -m 1440 &

      ##O endereço IP é para o sétimo ECS auxiliar.

      netperf -H 192.168.2.17 -p 12001 -t TCP_STREAM -l 300 -- -m 1440 &

      netperf -H 192.168.2.17 -p 12002 -t TCP_STREAM -l 300 -- -m 1440 &

      ##O endereço IP é para o oitavo ECS auxiliar.

      netperf -H 192.168.2.18 -p 12001 -t TCP_STREAM -l 300 -- -m 1440 &

      netperf -H 192.168.2.18 -p 12002 -t TCP_STREAM -l 300 -- -m 1440 &

  2. Teste a largura de banda de RX TCP.

    1. Inicie o processo netserver no ECS testado.

      ##O número da porta é para o primeiro ECS auxiliar.

      netserver -p 12001

      netserver -p 12002

      ##O número da porta é para o segundo ECS auxiliar.

      netserver -p 12003

      netserver -p 12004

      ##O número da porta é para o terceiro ECS auxiliar.

      netserver -p 12005

      netserver -p 12006

      ##O número da porta é para o quarto ECS auxiliar.

      netserver -p 12007

      netserver -p 12008

      ##O número da porta é para o quinto ECS auxiliar.

      netserver -p 12009

      netserver -p 12010

      ##O número da porta é para o sexto ECS auxiliar.

      netserver -p 12011

      netserver -p 12012

      ##O número da porta é para o sétimo ECS auxiliar.

      netserver -p 12013

      netserver -p 12014

      ##O número da porta é para o oitavo ECS auxiliar.

      netserver -p 12015

      netserver -p 12016

    2. Inicie o processo netperf em todos os ECSs auxiliares.

      Faça logon no ECS auxiliar 1.

      netperf -H 192.168.2.10 -p 12001 -t TCP_STREAM -l 300 -- -m 1440 &

      netperf -H 192.168.2.10 -p 12002 -t TCP_STREAM -l 300 -- -m 1440 &

      Faça logon no ECS auxiliar 2.

      netperf -H 192.168.2.10 -p 12003 -t TCP_STREAM -l 300 -- -m 1440 &

      netperf -H 192.168.2.10 -p 12004 -t TCP_STREAM -l 300 -- -m 1440 &

      Faça logon no ECS auxiliar 3.

      netperf -H 192.168.2.10 -p 12005 -t TCP_STREAM -l 300 -- -m 1440 &

      netperf -H 192.168.2.10 -p 12006 -t TCP_STREAM -l 300 -- -m 1440 &

      Faça logon no ECS auxiliar 4.

      netperf -H 192.168.2.10 -p 12007 -t TCP_STREAM -l 300 -- -m 1440 &

      netperf -H 192.168.2.10 -p 12008 -t TCP_STREAM -l 300 -- -m 1440 &

      Faça logon no ECS auxiliar 5.

      netperf -H 192.168.2.10 -p 12009 -t TCP_STREAM -l 300 -- -m 1440 &

      netperf -H 192.168.2.10 -p 12010 -t TCP_STREAM -l 300 -- -m 1440 &

      Faça logon no ECS auxiliar 6.

      netperf -H 192.168.2.10 -p 12011 -t TCP_STREAM -l 300 -- -m 1440 &

      netperf -H 192.168.2.10 -p 12012 -t TCP_STREAM -l 300 -- -m 1440 &

      Faça logon no ECS auxiliar 7.

      netperf -H 192.168.2.10 -p 12013 -t TCP_STREAM -l 300 -- -m 1440 &

      netperf -H 192.168.2.10 -p 12014 -t TCP_STREAM -l 300 -- -m 1440 &

      Faça logon no ECS auxiliar 8.

      netperf -H 192.168.2.10 -p 12015 -t TCP_STREAM -l 300 -- -m 1440 &

      netperf -H 192.168.2.10 -p 12016 -t TCP_STREAM -l 300 -- -m 1440 &

  3. Analise o resultado do teste.

    Após a conclusão do teste, a saída do processo netperf em uma extremidade TX é mostrada em Figura 1. O resultado final é a soma dos resultados do teste dos processos netperf em todas as extremidades TX.

    Figura 1 Saída do processo netperf em uma extremidade TX

    Há um grande número de processos netperf. Para facilitar a coleta de estatísticas, é uma boa prática executar o seguinte comando para exibir dados de teste no ECS testado usando sar:

    sar -n DEV 1 60

Teste de UDP PPS (usando o iperf3)

  1. Teste o UDP TX PPS.

    1. Faça logon em um ECS auxiliar.
    2. Execute os seguintes comandos em todos os ECSs auxiliares para iniciar o processo do servidor:

      iperf3 -s -p 12001 &

      iperf3 -s -p 12002 &

      Nos comandos anteriores, -p especifica a porta de escuta.

    3. Inicie o processo do cliente no ECS testado. Para obter detalhes sobre parâmetros comuns do iperf3, consulte Tabela 2.

      ##ECS auxiliar 1

      iperf3 -c 192.168.2.11 -p 12001 -u -b 100M -t 300 -l 16 -A 0 &

      iperf3 -c 192.168.2.11 -p 12002 -u -b 100M -t 300 -l 16 -A 1 &

      ##ECS auxiliar 2

      iperf3 -c 192.168.2.12 -p 12001 -u -b 100M -t 300 -l 16 -A 2 &

      iperf3 -c 192.168.2.12 -p 12002 -u -b 100M -t 300 -l 16 -A 3 &

      ##ECS auxiliar 3

      iperf3 -c 192.168.2.13 -p 12001 -u -b 100M -t 300 -l 16 -A 4 &

      iperf3 -c 192.168.2.13 -p 12002 -u -b 100M -t 300 -l 16 -A 5 &

      ##ECS auxiliar 4

      iperf3 -c 192.168.2.14 -p 12001 -u -b 100M -t 300 -l 16 -A 6 &

      iperf3 -c 192.168.2.14 -p 12002 -u -b 100M -t 300 -l 16 -A 7 &

      ##ECS auxiliar 5

      iperf3 -c 192.168.2.15 -p 12001 -u -b 100M -t 300 -l 16 -A 8 &

      iperf3 -c 192.168.2.15 -p 12002 -u -b 100M -t 300 -l 16 -A 9 &

      ##ECS auxiliar 6

      iperf3 -c 192.168.2.16 -p 12001 -u -b 100M -t 300 -l 16 -A 10 &

      iperf3 -c 192.168.2.16 -p 12002 -u -b 100M -t 300 -l 16 -A 11 &

      ##ECS auxiliar 7

      iperf3 -c 192.168.2.17 -p 12001 -u -b 100M -t 300 -l 16 -A 12 &

      iperf3 -c 192.168.2.17 -p 12002 -u -b 100M -t 300 -l 16 -A 13 &

      ##ECS auxiliar 8

      iperf3 -c 192.168.2.18 -p 12001 -u -b 100M -t 300 -l 16 -A 14 &

      iperf3 -c 192.168.2.18 -p 12002 -u -b 100M -t 300 -l 16 -A 15 &

  2. Teste o UDP RX PPS.

    1. Inicie o processo server no ECS testado. Para obter detalhes sobre parâmetros comuns do iperf3, consulte Tabela 2.

      ##O número da porta é para o primeiro ECS auxiliar.

      iperf3 -s -p 12001 -A 0 -i 60 &

      iperf3 -s -p 12002 -A 1 -i 60 &

      ##O número da porta é para o segundo ECS auxiliar.

      iperf3 -s -p 12003 -A 2 -i 60 &

      iperf3 -s -p 12004 -A 3 -i 60 &

      ##O número da porta é para o terceiro ECS auxiliar.

      iperf3 -s -p 12005 -A 4 -i 60 &

      iperf3 -s -p 12006 -A 5 -i 60 &

      ##O número da porta é para o quarto ECS auxiliar.

      iperf3 -s -p 12007 -A 6 -i 60 &

      iperf3 -s -p 12008 -A 7 -i 60 &

      ##O número da porta é para o quinto ECS auxiliar.

      iperf3 -s -p 12009 -A 8 -i 60 &

      iperf3 -s -p 12010 -A 9 -i 60 &

      ##O número da porta é para o sexto ECS auxiliar.

      iperf3 -s -p 12011 -A 10 -i 60 &

      iperf3 -s -p 12012 -A 11 -i 60 &

      ##O número da porta é para o sétimo ECS auxiliar.

      iperf3 -s -p 12013 -A 12 -i 60 &

      iperf3 -s -p 12014 -A 13 -i 60 &

      ##O número da porta é para o oitavo ECS auxiliar.

      iperf3 -s -p 12015 -A 14 -i 60 &

      iperf3 -s -p 12016 -A 15 -i 60 &

    2. Inicie o processo client em todos os ECSs auxiliares. Para obter detalhes sobre parâmetros comuns do iperf3, consulte Tabela 2.

      Faça logon no ECS auxiliar 1.

      iperf3 -c 192.168.2.10 -p 12001 -u -b 100M -t 300 -l 16 -A 0 &

      iperf3 -c 192.168.2.10 -p 12002 -u -b 100M -t 300 -l 16 -A 1 &

      Faça logon no ECS auxiliar 2.

      iperf3 -c 192.168.2.10 -p 12003 -u -b 100M -t 300 -l 16 -A 0 &

      iperf3 -c 192.168.2.10 -p 12004 -u -b 100M -t 300 -l 16 -A 1 &

      Faça logon no ECS auxiliar 3.

      iperf3 -c 192.168.2.10 -p 12005 -u -b 100M -t 300 -l 16 -A 0 &

      iperf3 -c 192.168.2.10 -p 12006 -u -b 100M -t 300 -l 16 -A 1 &

      Faça logon no ECS auxiliar 4.

      iperf3 -c 192.168.2.10 -p 12007 -u -b 100M -t 300 -l 16 -A 0 &

      iperf3 -c 192.168.2.10 -p 12008 -u -b 100M -t 300 -l 16 -A 1 &

      Faça logon no ECS auxiliar 5.

      iperf3 -c 192.168.2.10 -p 12009 -u -b 100M -t 300 -l 16 -A 0 &

      iperf3 -c 192.168.2.10 -p 12010 -u -b 100M -t 300 -l 16 -A 1 &

      Faça logon no ECS auxiliar 6.

      iperf3 -c 192.168.2.10 -p 12011 -u -b 100M -t 300 -l 16 -A 0 &

      iperf3 -c 192.168.2.10 -p 12012 -u -b 100M -t 300 -l 16 -A 1 &

      Faça logon no ECS auxiliar 7.

      iperf3 -c 192.168.2.10 -p 12013 -u -b 100M -t 300 -l 16 -A 0 &

      iperf3 -c 192.168.2.10 -p 12014 -u -b 100M -t 300 -l 16 -A 1 &

      Faça logon no ECS auxiliar 8.

      iperf3 -c 192.168.2.10 -p 12015 -u -b 100M -t 300 -l 16 -A 0 &

      iperf3 -c 192.168.2.10 -p 12016 -u -b 100M -t 300 -l 16 -A 1 &

  3. Analise o resultado do teste.

    Figura 2 mostra um exemplo do resultado do teste de UDP PPS.

    Figura 2 Resultado do teste de UDP PPS

    Há um grande número de processos iperf3. Para facilitar a coleta de estatísticas, é uma boa prática executar o seguinte comando para exibir dados de teste no ECS testado usando sar:

    sar -n DEV 1 60

Teste de latência

  1. Execute o seguinte comando para iniciar o processo qperf no ECS testado:

    qperf &

  2. Faça logon no ECS auxiliar 1 e execute o seguinte comando para executar um teste de latência:

    qperf 192.168.2.10 -m 64 -t 60 -vu udp_lat

    Após a conclusão do teste, o valor lat na saída do comando é a latência entre ECSs.