Como posso encontrar o limite de pacotes de rede por segundo (PPS) para instâncias do Amazon EC2?

3 minuto de leitura
0

Tenho uma instância do Amazon Elastic Compute Cloud (Amazon EC2) e quero encontrar o limite de pacotes de rede por segundo (PPS) para essa instância.

Breve descrição

O PPS para uma instância do EC2 depende de várias características de rede da instância. Essas características incluem os seguintes fatores:

  • Mix de tráfego, TCP versus UDP
  • Número de fluxos
  • Tamanho do pacote
  • Novas conexões versus conexões existentes
  • Regras de grupos de segurança aplicadas

A permissão de PPS é considerada separadamente da permissão geral de largura de banda. Embora uma instância possa estar abaixo da permissão geral de largura de banda, você pode exceder a permissão de PPS se o tamanho médio do pacote for muito pequeno. Para determinar se sua instância atualmente excede o PPS alocado, extraia as informações do driver ENA.

Resolução

Para realizar um benchmark de PPS, use um teste iperf2. Dependendo das características da rede, os clientes podem usar o benchmark iPerf para determinar o limite aproximado de PPS de qualquer instância do EC2.

Para realizar o benchmark, conclua as seguintes etapas:

  1. Use uma imagem do Amazon Linux 2 ou Amazon 2023 para criar duas instâncias do EC2 na mesma zona de disponibilidade.
    Observação: as instâncias devem ser do mesmo tipo de instância.

  2. Para instalar as ferramentas de desenvolvimento e o git nas duas instâncias, execute os seguintes comandos:

    sudo yum groupinstall "Development Tools" -y
    sudo yum install git -y
  3. Execute os seguintes comandos para alterar o diretório para o diretório /usr/local e clonar o código iPerf do Git para as duas instâncias do EC2:

    cd /usr/local/
    sudo git clone https://git.code.sf.net/p/iperf2/code iperf2-code
  4. Para criar e instalar o pacote nas duas instâncias do EC2, execute os seguintes comandos:

    cd /usr/local/iperf2-codesudo
    ./configure
    sudo make && make install
  5. Para que a primeira instância atue como o servidor iPerf em execução no modo UDP para obter o máximo desempenho, execute o iPerf:

    sudo /usr/local/bin/iperf -s -u

    O comando retorna a seguinte saída:

    ------------------------------------------------------------
    Server listening on UDP port 5001
    UDP buffer size:  208 KByte (default)
    ------------------------------------------------------------
  6. Para que o cliente iPerf se conecte com êxito ao servidor iPerf, certifique-se de que o grupo de segurança associado ao servidor permita conexões em 5001/UDP. Para obter mais informações, consulte Exemplo de grupo de segurança.

  7. Na segunda instância, use o cliente iPerf para se conectar com o UDP ao servidor iPerf:

    sudo /usr/local/bin/iperf -c <private_ip_of_server_instance> -u -i 1 -l 16 -b 20kpps -e -P64 -o /tmp/bw_test.txt && grep -i sum-64 /tmp/bw_test.txt

    Observação: substitua <private_ip_of_server_instance> pelo endereço IP interno do servidor iPerf.

A saída do comando é gravada em um arquivo de log em /tmp/bw_test.txt. O resumo de cada segundo em que o teste é executado é exibido, assim como o PPS.

O comando retorna a seguinte saída:

[SUM-64] 0.00-1.00 sec 9.42 MBytes 79.1 Mbits/sec 617416/2 617416 pps
[SUM-64] 1.00-2.00 sec 10.1 MBytes 84.3 Mbits/sec 658689/0 658692 pps
[SUM-64] 2.00-3.00 sec 10.1 MBytes 84.7 Mbits/sec 661837/0 661838 pps
[SUM-64] 3.00-4.00 sec 10.1 MBytes 84.6 Mbits/sec 661226/0 661226 pps
[SUM-64] 6.00-7.00 sec 9.73 MBytes 81.7 Mbits/sec 637975/0 637975 pps
[SUM-64] 7.00-8.00 sec 9.46 MBytes 79.4 Mbits/sec 620172/0 620172 pps
[SUM-64] 8.00-9.00 sec 9.46 MBytes 79.4 Mbits/sec 620150/0 620151 pps

Essa saída mostra o PPS máximo alcançado para esse tipo de instância. Para obter mais informações, consulte IPERF no site iPerf.

Informações relacionadas

Documentação do usuário do iPerf2 no site do iPerf

AWS OFICIAL
AWS OFICIALAtualizada há um ano