Tutorial do iperf3: Testar a velocidade da rede no Linux e no Windows
10 min de leitura - 7 de maio de 2026

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
| Sinalizador | Finalidade |
|---|---|
-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 |
-u | Modo UDP |
-b <n>M | Largura de banda alvo (UDP; o valor predefinido é 1 Mbps, se omitido) |
-R | Modo inverso (o servidor envia, o cliente recebe) |
-w <n>K | Janela TCP / tamanho do buffer do socket |
-J | Saída JSON |
-Z | Zerocopy (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âmetro | Recomendado (1–10 Gbps) |
|---|---|
net.core.rmem_max | 134217728 (128 MB) |
net.core.wmem_max | 134217728 (128 MB) |
net.ipv4.tcp_rmem | 4096 131072 134217728 |
net.ipv4.tcp_wmem | 4096 131072 134217728 |
net.core.default_qdisc | fq |
net.ipv4.tcp_congestion_control | bbr |
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

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
Perfis otimizados para a otimização da carga de trabalho de servidores Linux
16 min de leitura - 9 de junho de 2026