Como posso solucionar problemas de performance de rede do Direct Connect?
Estou enfrentando problemas de baixa taxa de transferência, latência de tráfego e performance com minha conexão do AWS Direct Connect.
Resolução
Siga estas instruções para isolar e diagnosticar problemas de performance de rede e aplicações.
Observação: é uma prática recomendada configurar uma máquina de teste dedicada on-premises e com uma Amazon Virtual Private Cloud (Amazon VPC). Use o tamanho de tipo de instância C5 ou maior do Elastic Compute Cloud (Amazon EC2).
Problema de rede ou aplicação
Você pode instalar e usar a ferramenta iPerf3 para comparar a largura de banda da rede e verificar os resultados com outras aplicações ou ferramentas.
1. Instalação do Linux/REHEL:
$ sudo yum install iperf3 -y
Instalação do Ubuntu:
$ sudo apt install iperf3 -y
2. Execute o iPerf3 no cliente e no servidor para medir a taxa de transferência bidirecionalmente de maneira semelhante à seguinte:
Instância do Amazon EC2 (servidor)
$ iperf3 -s -V
Localhost on-premises (cliente):
$ iperf3 -c <private IP of EC2> -P 15 -t 15 $ iperf3 -c <private IP of EC2> -P 15 -t 15 -R $ iperf3 -c <private IP of EC2> -w 256K $ iperf3 -c <private IP of EC2> -w 256K -R $ iperf3 -c <private IP of EC2> -u -b 1G -t 15 $ iperf3 -c <private IP of EC2> -u -b 1G -t 15 -R ---------------- -P, --parallel n number of parallel client threads to run; It is critical to run multi-threads to achieve the max throughput. -R, --reverse reverse the direction of a test. So the EC2 server sends data to the on-prem client to measure AWS -> on-prem throughput. -u, --udp use UDP rather than TCP. Since TCP iperf3 does not report loss, UDP tests are helpful to see the packet loss along a path.
Exemplo de resultados do teste de TCP:
[ ID] Interval Transfer Bitrate Retry [SUM] 0.00-15.00 sec 7.54 GBytes 4.32 Gbits/sec 18112 sender [SUM] 0.00-15.00 sec 7.52 GBytes 4.31 Gbits/sec receiver
Bitrate (Taxa de bits): a taxa de transferência medida ou a velocidade de transmissão.
Transfer (Transferência): a quantidade total de dados trocados entre cliente e servidor.
Retry (Repetição): o número de pacotes retransmitidos. A retransmissão é observada no lado do remetente.
Exemplo de resultados do teste de UDP:
[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams [ 5] 0.00-15.00 sec 8.22 GBytes 4.71 Gbits/sec 0.000 ms 0/986756 (0%) sender [ 5] 0.00-15.00 sec 1.73 GBytes 989 Mbits/sec 0.106 ms 779454/986689 (79%) receiver
A perda é 0% no lado do remetente porque a quantidade máxima de datagramas UDP foi enviada.
Os datagramas perdidos/totais no lado do receptor indicam que muitos pacotes foram perdidos e a taxa de perda. Neste exemplo, 79% do tráfego de rede foi perdido.
Observação: se a conexão do Direct Connect usar uma Amazon Virtual Private Network (Amazon VPN) em uma Public Virtual Interface (VIF – Interface virtual pública), execute testes de performance sem a VPN.
Verifique as métricas e os contadores de interface
Verifique o Amazon CloudWatch Logs para obter as seguintes métricas:
- ConnectionErrorCount: aplique a estatística sum e observe que valores diferentes de zero indicam erros em nível de MAC no dispositivo da AWS.
- ConnectionLightLevelTx e ConnectionLightLevelRx: certifique-se de que as leituras do sinal óptico estejam dentro da faixa de -14,4 e 2,50 dBm.
- ConnectionBpsEgress, ConnectionBpsIngress, VirtualInterfaceBpsEgress e VirtualInterfaceBpsIngress: certifique-se de que a taxa de bits não tenha atingido a largura de banda máxima.
Para obter mais informações, consulte Métricas e dimensões do Direct Connect.
Se você estiver usando uma Hosted Virtual Interface (VIF hospedada) que compartilha a largura de banda total com outros usuários, verifique com o proprietário do Direct Connect sobre a utilização da conexão.
Verifique o roteador e o firewall no local do Direct Connect para obter o seguinte:
- CPU, memória, utilização de portas, quedas, descartes.
- Use “mostrar estatísticas de interfaces” ou similar para verificar erros de entrada e saída da interface, como CRC, quadro, colisões e operadora.
- Limpe ou substitua o cabo de remendo de fibra e o módulo SFP para contadores desgastados.
Verifique o AWS Personal Health Dashboard para se certificar de que a conexão do Direct Connect não esteja em manutenção.
Execute o MTR bidirecionalmente para verificar o caminho da rede
Você pode usar o comando MTR do Linux para analisar a performance da rede. Para o sistema operacional Windows, é uma prática recomendada habilitar o WSL 2 para que você possa instalar o MTR em um subsistema Linux. Você pode baixar o WinMTR no site SourceForge.
1. Instalação do Amazon Linux/REHEL:
$ sudo yum install mtr -y
Instalação do Ubuntu:
$ sudo apt install mtr -y
2. Para a direção on-premises --> AWS, execute o MTR no localhost (baseado em ICMP e TCP):
$ mtr -n -c 100 <private IP of EC2> --report $ mtr -n -T -P <EC2 instance open TCP port> -c 100 <private IP of EC2> --report
3. Para a direção AWS --> on-premises, execute o MTR na instância do EC2 (com base em ICMP e TCP):
$ mtr -n -c 100 <private IP of the local host> --report $ mtr -n -T -P <local host open TCP port> -c 100 <private IP of the local host> --report
Exemplo de resultados do teste MTR:
#ICMP based MTR results $ mtr -n -c 100 192.168.52.10 --report Start: Sat Oct 30 20:54:39 2021 HOST: Loss% Snt Last Avg Best Wrst StDev 1.|-- 10.0.101.222 0.0% 100 0.7 0.7 0.6 0.9 0.0 2.|-- ??? 100.0 100 0.0 0.0 0.0 0.0 0.0 3.|-- 10.110.120.2 0.0% 100 266.5 267.4 266.4 321.0 4.8 4.|-- 10.110.120.1 54.5% 100 357.6 383.0 353.4 423.7 19.6 5.|-- 192.168.52.10 47.5% 100 359.4 381.3 352.4 427.9 20.6 #TCP based MTR results $ mtr -n -T -P 80 -c 100 192.168.52.10 --report Start: Sat Oct 30 21:03:48 2021 HOST: Loss% Snt Last Avg Best Wrst StDev 1.|-- 10.0.101.222 0.0% 100 0.9 0.7 0.7 1.1 0.0 2.|-- ??? 100.0 100 0.0 0.0 0.0 0.0 0.0 3.|-- 10.110.120.2 0.0% 100 264.1 265.8 263.9 295.3 3.4 4.|-- 10.110.120.1 8.0% 100 374.3 905.3 354.4 7428. 1210.6 5.|-- 192.168.52.10 12.0% 100 400.9 1139. 400.4 7624. 1384.3
Cada linha em um salto representa um dispositivo de rede que o pacote de dados passa da origem para o destino. Para obter mais informações sobre como ler os resultados do teste MTR, consulte o site da ExaVault.
O exemplo a seguir mostra uma conexão do Direct Connect com o par BGP 10.110.120.1 e 10.110.120.2. A porcentagem de perda é observada no 4º e 5º salto de destino. Isso pode indicar um problema com a conexão do Direct Connect ou com o roteador remoto 10.110.120.1. O resultado do MTR do TCP mostra menos porcentagem de perda porque o TCP é priorizado sobre o ICMP com a conexão do Direct Connect.
#ICMP based MTR results $ mtr -n -c 100 192.168.52.10 --report Start: Sat Oct 30 20:54:39 2021 HOST: Loss% Snt Last Avg Best Wrst StDev 1.|-- 10.0.101.222 0.0% 100 0.7 0.7 0.6 0.9 0.0 2.|-- ??? 100.0 100 0.0 0.0 0.0 0.0 0.0 3.|-- 10.110.120.2 0.0% 100 266.5 267.4 266.4 321.0 4.8 4.|-- 10.110.120.1 54.5% 100 357.6 383.0 353.4 423.7 19.6 5.|-- 192.168.52.10 47.5% 100 359.4 381.3 352.4 427.9 20.6 #TCP based MTR results $ mtr -n -T -P 80 -c 100 192.168.52.10 --report Start: Sat Oct 30 21:03:48 2021 HOST: Loss% Snt Last Avg Best Wrst StDev 1.|-- 10.0.101.222 0.0% 100 0.9 0.7 0.7 1.1 0.0 2.|-- ??? 100.0 100 0.0 0.0 0.0 0.0 0.0 3.|-- 10.110.120.2 0.0% 100 264.1 265.8 263.9 295.3 3.4 4.|-- 10.110.120.1 8.0% 100 374.3 905.3 354.4 7428. 1210.6 5.|-- 192.168.52.10 12.0% 100 400.9 1139. 400.4 7624. 1384.3
O exemplo a seguir mostra o firewall local ou a perda de pacotes do dispositivo NAT em 5%. A perda de pacotes afeta todos os saltos subsequentes, incluindo o destino.
$ mtr -n -c 100 192.168.52.10 --report Start: Sat Oct 30 21:11:22 2021 HOST: Loss% Snt Last Avg Best Wrst StDev 1.|-- 10.0.101.222 5.0% 100 0.8 0.7 0.7 1.1 0.0 2.|-- ??? 100.0 100 0.0 0.0 0.0 0.0 0.0 3.|-- 10.110.120.2 6.0% 100 265.7 267.1 265.6 307.8 5.1 4.|-- 10.110.120.1 6.0% 100 265.1 265.2 265.0 265.4 0.0 5.|-- 192.168.52.10 6.0% 100 266.7 266.6 266.5 267.2 0.0
Faça uma captura de pacotes e analise os resultados
Faça uma captura de pacote no localhost e na instância do EC2. Use o utilitário tcpdump ou o Wireshark para obter tráfego de rede para análise. O comando de exemplo tcpdump a seguir obtém o carimbo de data/hora e o endereço IP do host:
tcpdump -i <network interface> -s0 -w $(date +"%Y%m%d_%H%M%S").$(hostname -s).pcap port <port>
Use a Calculadora de taxa de transferência de TCP no site do Switch para calcular o limite de rede, o produto de largura de banda e atraso e o tamanho do buffer de TCP.
Para obter mais informações, consulte Troubleshooting AWS Direct Connect (“Solução de problemas do AWS Direct Connect”).
Informações relacionadas
What’s the difference between a hosted virtual interface (VIF) and a hosted connection? (“Qual é a diferença entre uma interface virtual hospedada (VIF) e uma conexão hospedada?”)
Conteúdo relevante
- AWS OFICIALAtualizada há 9 meses
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 9 meses
- AWS OFICIALAtualizada há 10 meses