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, bidireccionais e 10GbE+
tutorial do iperf3: Medir o desempenho da rede no Linux e no Windows
o iperf3 é uma ferramenta de linha de comando para medir a largura de banda da rede, o jitter e a perda de pacotes entre duas máquinas. Ele usa um modelo cliente-servidor: uma máquina escuta, a outra envia tráfego e você obtém números precisos de taxa de transferência. Este guia cobre a instalação, testes básicos e avançados e como ajustar seu sistema para obter resultados precisos em links de alta velocidade.
Instalando o iperf3
Debian / Ubuntu
sudo apt update
sudo apt install iperf3
Confirme a instalação com iperf3 --version. Instale-o nas máquinas servidoras e clientes.
Fedora / CentOS / Rocky / Alma
No Fedora 22+ ou CentOS 8+, Rocky, ou AlmaLinux:
sudo dnf install iperf3
No CentOS 7, use o yum. Se o pacote não for encontrado, active primeiro o repositório EPEL:
sudo yum install epel-release
sudo yum install iperf3
Se o seu firewall estiver ativo, abra a porta 5201:
sudo firewall-cmd --add-port=5201/tcp --permanent
sudo firewall-cmd --reload
Windows
Descarregue o executável autónomo de iperf.fr ou do repositório ar51an/iperf3-win-builds do GitHub. Extraia-o para uma pasta como C:\iperf3 e, 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 por meio de Propriedades do sistema > Avançado > Variáveis de ambiente. Também será necessário criar uma regra de firewall de entrada que permita TCP na porta 5201 no Firewall do Windows Defender.
Configurar o servidor
Inicie o servidor com:
iperf3 -s
Este escuta na porta TCP 5201 por defeito. Para o executar em segundo plano com registo:
iperf3 -s -D --logfile /var/log/iperf3.log
Verifique se está a ser executado com ss -tulpn | grep 5201.
Se a porta 5201 estiver bloqueada na sua rede, use -p para escolher uma porta diferente. Para vincular-se a uma interface específica, use -B:
iperf3 -s -B 192.168.1.10
Para testes pontuais, o iperf3 -s -1 lida com uma única conexão de cliente e então sai. Em links de alta largura de banda (40 Gbps+), execute múltiplas instâncias de servidor em portas diferentes para contornar os limites de CPU de thread único.
Certifique-se de que seu 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 sobre TCP durante 10 segundos. Aumente a duração com -t:
iperf3 -c 192.168.1.10 -t 30
Em links de 10 Gbps ou 25 Gbps, um único fluxo TCP geralmente atinge o máximo de 3-5 Gbps devido aos limites da CPU de núcleo único. Use fluxos paralelos para saturar o link:
iperf3 -c 192.168.1.10 -P 8
Lendo os resultados
Cada linha de intervalo mostra Transferência (dados enviados) e Taxa de bits (taxa de transferência). Para TCP, observe também:
- Retr (retransmissões). Números elevados significam perda de pacotes ou congestionamento.
- Cwnd (janela de congestionamento). Se estiver baixa ou presa, os limites de tamanho do buffer ou da janela estão limitando a taxa de transferência.
Em um link limpo de 1 Gbps, espere cerca de 940 Mbps após a sobrecarga do protocolo. O teste termina com linhas de resumo do emissor e do recetor. Em uma rede estável, elas devem coincidir.
Para testes UDP( sinalizador-u ), a saída adiciona jitter (variação de chegada de pacotes) e datagramas perdidos/total. Jitter abaixo de 1 ms e 0% de perda é ideal para tráfego em tempo real como VoIP.
Sinalizadores úteis
| Sinalizador | Finalidade |
|---|---|
-c <IP> | Conectar ao servidor |
-p <porta> | Utilizar uma porta específica (predefinição: 5201) |
-t <sec> | Duração do teste em segundos (padrão: 10) |
-i <sec> | Intervalo de relatório |
-P <número> | Fluxos paralelos |
-u | Modo UDP |
-b <n>M | Largura de banda alvo (UDP; a predefinição é 1 Mbps se for omitida) |
-R | Modo inverso (o servidor envia, o cliente recebe) |
-w <n>K | Tamanho da janela TCP / buffer de soquete |
-J | Saída JSON |
-Z | Zerocópia (reduz a CPU em links rápidos) |
Testes avançados
Teste bidirecional
O sinalizador --bidir (iperf3 3.7+) testa o upload e o download simultaneamente:
iperf3 -c 192.168.1.10 --bidir
Ambas as conexões são originadas do cliente, portanto, isso funciona através do NAT sem abrir portas extras. Se os resultados bidireccionais forem muito inferiores aos testes unidireccionais, o seu router ou modem por cabo pode estar a ter dificuldades com o tráfego full-duplex.
Modo reverso
O sinalizador -R inverte o fluxo de dados para que o servidor envie e o cliente receba. Isso 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 retrocesso apontam para caminhos assimétricos, congestionamento ou configurações incorrectas do buffer.
Teste UDP
Os testes UDP revelam jitter e perda de pacotes, que o TCP esconde por trás de retransmissões. Sempre defina uma largura de banda alvo com -b, já que o padrão do iperf3 é 1 Mbps para UDP:
iperf3 -c 192.168.1.10 -u -b 1G
Para simular o tráfego VoIP (100 chamadas, pacotes de 200 bytes):
iperf3 -c 192.168.1.10 -u -b 8M -l 200
Benchmarks 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 os media em tempo real.
Afinação e resolução de problemas
Problemas comuns
Só está a receber 100 Mbps numa ligação gigabit? Verifique a velocidade da interface física com ethtool eth0. A negociação automática às vezes falha e deixa o link numa velocidade mais baixa.
O MSS mostra 536 bytes na Ethernet? A Descoberta de MTU de caminho está provavelmente desactivada. O MSS padrão para um MTU de 1.500 bytes é de 1.460 bytes. Use -m durante o teste para verificar. Um MSS de 536 bytes desperdiça largura de banda e adiciona sobrecarga.
A CPU está a ficar sem capacidade máxima em ligações rápidas? Use -Z (zerocopy) para reduzir a carga da CPU. Para 40 Gbps+, execute várias instâncias de servidor em portas diferentes e distribua-as entre os núcleos da CPU.
Resultados inconsistentes? Use -O 3 para omitir os primeiros segundos enquanto a janela de congestionamento TCP aumenta. Deixe 30 segundos entre as execuções de teste para limpar os buffers de rede.
Um único fluxo é muito mais lento do que os fluxos paralelos combinados? Se um fluxo obtiver 200 Mbps, mas oito fluxos combinados atingirem 1,6 Gbps, a janela TCP ou os buffers do sistema operacional estão limitando o fluxo único. Ajuste os buffers abaixo.
Ajuste do buffer TCP
Comece calculando o produto largura de banda-atraso: largura de banda x RTT. Um link de 10 Gbps com RTT de 50 ms fornece um BDP de 62,5 MB. Defina seu buffer máximo para pelo menos 2x o BDP.
Adicione estes parâmetros a /etc/sysctl.d/99-tcp-tuning.conf e aplique-os 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 se ajuste automaticamente dentro desses intervalos. Habilite net.ipv4.tcp_window_scaling (definido como 1) para janelas TCP maiores que 64 KB.
Você também pode mudar do algoritmo de congestionamento padrão CUBIC para o BBR do Google. Em links de alta latência com alguma perda de pacotes, o BBR fornece consistentemente maior taxa de transferência do que o CUBIC.
Use o sinalizador -w no iperf3 para testar tamanhos específicos de buffer, mas observe que ele não pode exceder o rmem_max ou o wmem_max do kernel. Comece com 8 MB para links gigabit, 512 KB para 100 Mbps.
Se estiver a aprovisionar servidores dedicados e pretender validar o desempenho da rede, execute testes de linha de base 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

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, bidireccionais e 10GbE+
10 min de leitura - 7 de maio de 2026
Instantâneos ZFS: Como criar, restaurar e automatizá-los
10 min de leitura - 5 de maio de 2026