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
  • Instalando o iperf3
  • Configurar o servidor
  • Execução de testes de cliente
  • Testes avançados
  • Afinação 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 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

SinalizadorFinalidade
-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
-uModo UDP
-b <n>MLargura de banda alvo (UDP; a predefinição é 1 Mbps se for omitida)
-RModo inverso (o servidor envia, o cliente recebe)
-w <n>KTamanho da janela TCP / buffer de soquete
-JSaída JSON
-ZZerocó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â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 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

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, 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

Mais artigos