tutorial do iperf3: Testar a velocidade da rede no Linux e no Windows

10 min de leitura - 7 de maio de 2026

hero section cover
Índice
  • Tutorial do iperf3: Medir o desempenho da rede no Linux e no Windows
  • Instalação do iperf3
  • Configurar o servidor
  • Execução de testes de cliente
  • Testes avançados
  • Ajuste e Resolução de Problemas
  • Recomendação de vídeo
Partilhar

Instale o iperf3, execute testes de largura de banda e ajuste os buffers TCP para obter resultados precisos no Linux e no Windows. Abrange testes UDP, bidireccionais e 10GbE+

Tutorial do iperf3: Medir o desempenho da rede no Linux e no Windows

O iperf3 é uma ferramenta de linha de comandos para medir a largura de banda da rede, o jitter e a perda de pacotes entre duas máquinas. Utiliza um modelo cliente-servidor: uma máquina escuta, a outra envia tráfego e obtém-se valores precisos de throughput. Este guia abrange a instalação, testes básicos e avançados, e como ajustar o seu sistema para obter resultados precisos em ligações de alta velocidade.

Instalação do iperf3

Debian / Ubuntu

sudo apt update
sudo apt install iperf3

Confirme a instalação com iperf3 --version. Instale-o tanto no servidor como nas máquinas clientes.

Fedora / CentOS / Rocky / Alma

No Fedora 22+ ou CentOS 8+, Rocky ou AlmaLinux:

sudo dnf install iperf3

No CentOS 7, utilize yum em vez disso. Se o pacote não for encontrado, ative primeiro o repositório EPEL:

sudo yum install epel-release
sudo yum install iperf3

Se a sua firewall estiver ativa, abra a porta 5201:

sudo firewall-cmd --add-port=5201/tcp --permanent
sudo firewall-cmd --reload

Windows

Descarregue o executável independente a partir de iperf.fr ou do repositório GitHub ar51an/iperf3-win-builds. Extraia-o para uma pasta como C:\iperf3e, em seguida, verifique:

cd C:\iperf3
iperf3.exe -v

Para executar o iperf3 a partir de qualquer diretório, adicione a pasta ao PATH do sistema através de Propriedades do Sistema > Avançado > Variáveis de Ambiente. Também será necessário criar uma regra de firewall de entrada que permita o TCP na porta 5201 no Firewall do Windows Defender.

Configurar o servidor

Inicie o servidor com:

iperf3 -s

Por predefinição, isto escuta na porta TCP 5201. Para o executar em segundo plano com registo:

iperf3 -s -D --logfile /var/log/iperf3.log

Verifique se está a funcionar com ss -tulpn | grep 5201.

Se a porta 5201 estiver bloqueada na sua rede, use -p para escolher uma porta diferente. Para ligar a uma interface específica, use -B:

iperf3 -s -B 192.168.1.10

Para testes pontuais, iperf3 -s -1 lida com uma única ligação de cliente e, em seguida, encerra. Em ligações de alta largura de banda (40 Gbps+), execute várias instâncias do servidor em portas diferentes para contornar os limites da CPU de thread único.

Certifique-se de que a sua firewall permite o tráfego na porta escolhida. No Ubuntu/Debian com UFW:

sudo ufw allow 5201/tcp
sudo ufw allow 5201/udp   # if testing UDP

Execução de testes de cliente

Teste TCP básico

iperf3 -c 192.168.1.10

Isto mede a largura de banda de upload via TCP durante 10 segundos. Aumente a duração com -t:

iperf3 -c 192.168.1.10 -t 30

Em ligações de 10 Gbps ou 25 Gbps, um único fluxo TCP atinge frequentemente um máximo de 3–5 Gbps devido aos limites da CPU de núcleo único. Utilize fluxos paralelos para saturar a ligação:

iperf3 -c 192.168.1.10 -P 8

Interpretação dos resultados

Cada linha de intervalo mostra Transferência (dados enviados) e Taxa de bits (rendimento). Para TCP, observe também:

  • Retr (retransmissões). Valores elevados significam perda de pacotes ou congestionamento.
  • Cwnd (janela de congestionamento). Se estiver baixo ou estagnado, os limites do tamanho do buffer ou da janela estão a limitar a taxa de transferência.

Numa ligação limpa de 1 Gbps, espere cerca de 940 Mbps após a sobrecarga do protocolo. O teste termina com linhas de resumo do remetente e do destinatário. Numa rede estável, estas devem corresponder de perto.

Para testes UDP (-u flag), a saída adiciona jitter (variação na chegada de pacotes) e datagramas perdidos/totais. Jitter inferior a 1 ms e 0% de perda são ideais para tráfego em tempo real, como VoIP.

Sinalizadores úteis

SinalizadorFinalidade
-c <IP>Ligar ao servidor
-p <port>Usar uma porta específica (padrão: 5201)
-t <sec>Duração do teste em segundos (padrão: 10)
-i <sec>Intervalo do relatório
-P <num>Fluxos paralelos
-uModo UDP
-b <n>MLargura de banda alvo (UDP; padrão de 1 Mbps se omitido)
-RModo reverso (o servidor envia, o cliente recebe)
-w <n>KJanela TCP / tamanho do buffer do socket
-JSaída JSON
-ZZerocopy (reduz a carga da CPU em ligações rápidas)

Testes avançados

Testes bidirecionais

O --bidir flag (iperf3 3.7+) testa o upload e o download simultaneamente:

iperf3 -c 192.168.1.10 --bidir

Ambas as ligações têm origem no cliente, pelo que isto funciona através de NAT sem abrir portas adicionais. Se os resultados bidirecionais forem muito inferiores aos dos testes unidirecionais, o seu router ou modem por cabo poderá estar com dificuldades em lidar com tráfego full-duplex.

Modo reverso

A -R sinalizador inverte o fluxo de dados para que o servidor envie e o cliente receba. Isto mede a velocidade de download sem trocar de papéis:

iperf3 -c 192.168.1.10 -t 30 -i 5 -R

Grandes diferenças entre os resultados de avanço e de retrocesso indicam caminhos assimétricos, congestionamento ou configurações incorretas do buffer.

Testes UDP

Os testes UDP revelam jitter e perda de pacotes, que o TCP oculta por trás das retransmissões. Defina sempre uma largura de banda alvo com -b, uma vez que o iperf3 usa 1 Mbps como padrão para UDP:

iperf3 -c 192.168.1.10 -u -b 1G

Para simular tráfego VoIP (100 chamadas, pacotes de 200 bytes):

iperf3 -c 192.168.1.10 -u -b 8M -l 200

Referências de qualidade: jitter abaixo de 5 ms é bom para VoIP; acima de 30 ms causa problemas audíveis. A perda de pacotes acima de 0,1% degrada visivelmente a mídia em tempo real.

Ajuste e Resolução de Problemas

Problemas comuns

A obter apenas 100 Mbps numa ligação gigabit? Verifique a velocidade da sua interface física com ethtool eth0. A auto-negociação falha por vezes e reduz a ligação para uma velocidade inferior.

O MSS mostra 536 bytes na Ethernet? A descoberta de MTU de caminho (Path MTU Discovery) está provavelmente desativada. O MSS padrão para um MTU de 1.500 bytes é de 1.460 bytes. Use -m durante os testes para verificar. Um MSS de 536 bytes desperdiça largura de banda e aumenta a sobrecarga.

A CPU está a atingir o limite máximo em ligações rápidas? Utilize -Z (zerocopy) para reduzir a carga da CPU. Para 40 Gbps ou mais, execute várias instâncias de servidor em portas diferentes e distribua-as pelos núcleos da CPU.

Resultados inconsistentes? Use -O 3 para omitir os primeiros segundos enquanto a janela de congestionamento TCP aumenta gradualmente. Deixe 30 segundos entre as execuções do teste para limpar os buffers de rede.

Um único fluxo muito mais lento do que os fluxos paralelos combinados? Se um fluxo atinge 200 Mbps, mas oito fluxos combinados atingem 1,6 Gbps, a janela TCP ou os buffers do SO estão a limitar o fluxo único. Ajuste os buffers abaixo.

Ajuste do buffer TCP

Comece por calcular o Produto de Largura de Banda-Atraso: largura de banda x RTT. Uma ligação de 10 Gbps com 50 ms de RTT resulta num BDP de 62,5 MB. Defina o seu buffer máximo para, pelo menos, 2x o BDP.

Adicione estes valores /etc/sysctl.d/99-tcp-tuning.conf e aplique com sudo sysctl -p:

ParâmetroRecomendado (1–10 Gbps)
net.core.rmem_max134217728 (128 MB)
net.core.wmem_max134217728 (128 MB)
net.ipv4.tcp_rmem4096 131072 134217728
net.ipv4.tcp_wmem4096 131072 134217728
net.core.default_qdiscfq
net.ipv4.tcp_congestion_controlbbr

Mantenha net.ipv4.tcp_moderate_rcvbuf definido como 1 para que o kernel faça o ajuste automático dentro destes intervalos. Ative net.ipv4.tcp_window_scaling (defina como 1) para janelas TCP maiores que 64 KB.

Também pode mudar do algoritmo de congestionamento CUBIC padrão para o BBR do Google. Em ligações de alta latência com alguma perda de pacotes, o BBR oferece consistentemente um rendimento superior ao do CUBIC.

Use o -w sinalizador no iperf3 para testar tamanhos de buffer específicos, mas note que estes não podem exceder o rmem_max ou wmem_max. Comece com 8 MB para ligações gigabit e 512 KB para 100 Mbps.

Se estiver a provisionar servidores dedicados e quiser validar o desempenho da rede, execute testes de referência do iperf3 logo após a configuração e após quaisquer alterações na rede para detetar regressões atempadamente.

Recomendação de vídeo

Blogue

Em destaque esta semana

Mais artigos
Porque é que é importante ter um VPS potente e ilimitado

Porque é que é importante ter um VPS potente e ilimitado

Precisa de um desempenho fiável e de tráfego ilimitado? Um poderoso VPS ilimitado oferece a velocidade, a escalabilidade e a largura de banda de que necessita, sem se preocupar com limites de utilização.

3 min de leitura - 9 de maio de 2025

Como otimizar o espaço de armazenamento no Linux

15 min de leitura - 22 de maio de 2026

Mais artigos