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

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, bidirecionais e de 10 GbE+.

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 fica a escutar, a outra envia tráfego e obtêm-se valores precisos de débito. Este guia aborda a instalação, testes básicos e avançados, e como ajustar o 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 superior, no CentOS 8 ou superior, no Rocky ou no 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 autónomo a partir de iperf.fr ou do repositório GitHub ar51an/iperf3-win-builds. Descompacte-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. Terá também de criar uma regra de entrada na firewall que permita o tráfego TCP na porta 5201 na 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, utilize -p para escolher uma porta diferente. Para ligar a uma interface específica, utilize -B:

iperf3 -s -B 192.168.1.10

Para testes pontuais, iperf3 -s -1 o programa lida com uma única ligação de cliente e, em seguida, encerra. Em ligações de elevada 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

Este teste 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 a Transferência (dados enviados) e a Taxa de bits (rendimento). Para o TCP, observe também:

  • Retr (retransmissões). Valores elevados indicam 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 restringir 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, estes valores devem corresponder de forma muito próxima.

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

Sinalizadores úteis

SinalizadorFinalidade
-c <IP>Ligar ao servidor
-p <port>Utilizar 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; o valor predefinido é 1 Mbps, se omitido)
-RModo inverso (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

A --bidir opção (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 significativamente inferiores aos dos testes unidirecionais, o seu router ou modem por cabo poderá estar a ter dificuldades com o tráfego full-duplex.

Modo inverso

A -R opção inverte o fluxo de dados, de modo que o servidor envia e o cliente recebe. Isto mede a velocidade de download sem trocar os papéis:

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

Grandes diferenças entre os resultados do modo direto e do modo inverso indicam percursos 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 meio de retransmissões. Defina sempre uma largura de banda alvo com -b, uma vez que o iperf3 utiliza 1 Mbps como valor predefinido para o 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: um jitter inferior a 5 ms é bom para VoIP; acima de 30 ms causa problemas audíveis. A perda de pacotes superior a 0,1% degrada visivelmente os meios de comunicação em tempo real.

Ajuste e Resolução de Problemas

Problemas comuns

Só está a obter 100 Mbps numa ligação gigabit? Verifique a velocidade da sua interface física com ethtool eth0. Por vezes, a negociação automática falha e reduz a velocidade da ligação.

O MSS apresenta 536 bytes na Ethernet? A descoberta de MTU do caminho (Path MTU Discovery) está provavelmente desativada. O MSS predefinido para um MTU de 1 500 bytes é de 1 460 bytes. Utilize -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 velocidades superiores a 40 Gbps, execute várias instâncias de servidor em portas diferentes e distribua-as pelos núcleos da CPU.

Resultados inconsistentes? Utilize -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 atingir 200 Mbps, mas oito fluxos combinados atingirem 1,6 Gbps, a janela TCP ou os buffers do SO estão a limitar o fluxo único. Ajuste os buffers abaixo.

Ajuste dos buffers TCP

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

Adicione estes valores a /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 efetue o ajuste automático dentro destes intervalos. Ative net.ipv4.tcp_window_scaling (defina como 1) para janelas TCP superiores a 64 KB.

Também pode mudar do algoritmo de congestionamento CUBIC predefinido para o BBR da Google. Em ligações de alta latência com alguma perda de pacotes, o BBR proporciona consistentemente um débito superior ao do CUBIC.

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

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

Recomendação de vídeo

Blogue

Em destaque esta semana

Mais artigos
Tutorial do iperf3: Testar a velocidade da rede no Linux e no Windows

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

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, bidirecionais e de 10 GbE+.

10 min de leitura - 7 de maio de 2026

Mais artigos