Testando a rede com o Iperf (gerador de tráfego)
Uma ferramenta extremamente útil e ainda gratuita!!
O Iperf é um software livre, do tipo client/server desenvolvido pelo National Laboratory for Applied Network Research (NLANR). Com ele podemos testar/medir o throughput da rede, e é claro, também podemos usá-lo como ferramenta de apoio para outros testes, como fez o Leão no post sobre Controle de banda no 3750 e no PIX/ASA.
Para usar o Iperf basta iniciá-lo como server em um PC, e como client noutro. O client passará a enviar tráfego TCP para o servidor por 10 segundos, e em seguida mostrará a quantidade dados transferida (MBytes) e a velocidade atingida (Mbits/s).
Faça o download do programa aqui (há versões para Windows, Solaris e OS X), e instale-o nos dois computadores a serem utilizados no teste (basta copiar o arquivo iperf.exe para uma pasta qualquer, no caso do Windows).
Como usar o Iperf no Windows
Via linha de comando (Iniciar > Executar > digite “cmd”) entre na pasta onde o Iperf foi salvo e depois digite iperf –s. Este comando fará o Iperf ser executado como server e ele passará a aguardar as conexões do client.
SERVER PC
C:\Program Files\Iperf>iperf –s
![]()
No segundo computador utilizado para o teste, na linha de comando, digite iperf – c e o IP do Iperf Server. Isto é suficiente para que o Iperf envie tráfego TCP do client para o server durante 10 segundo (essa é a configuração padrão).
CLIENT PC
C:\Program Files\Iperf>iperf –c 10.10.8.75
![]()
Após 10 segundos as informações são mostradas, como na imagem acima. Neste exemplo, em 10 segundos foram transferidos 109 MBytes, atingindo a velocidade de média de 91,2 Mbits/sec (normal em uma rede 100 Mbits).
No server também são mostradas as estatísticas.
Mudando a configuração padrão – Teste bidirecional
Apesar do Iperf enviar tráfego no sentido Client –> Server por padrão, podemos configurá-lo para que o teste seja executado nos dois sentidos simultaneamente.
TESTE BIDIRECIONAL
Execute o Iperf Server da mesma forma (iperf –s) e do lado client adicione o argumento –d.
![]()
Assim como no teste anterior após 10 segundos as estatísticas são mostradas. Observe que desta vez temos duas linhas, sendo que em um sentido a transferência atingiu 24,1 Mbits/s e no outro 91.8 Mbits/s. Se somarmos as duas temos 115,9 Mbits/s (bem abaixo dos 200 Mbits/s nominal de uma rede full duplex…).
Usando UDP
Outra opção é adicionar o argumento –u nos dois lados (server e client) para que o teste seja efetuado com pacotes UDP.
USANDO UDP
SERVER - C:\Program Files\Iperf> iperf -s –u
CLIENT - C:\Program Files\Iperf> iperf –c 10.10.8.75 –u
![]()
Usando esta opção, no fim, quando são exibidas as estatísticas no server, aparecem mais três itens: Jitter, número total de pacotes transmitidos e pacotes perdidos.
Nos mesmos 10 segundos utilizados anteriormente, tivemos 6,242 milissegundos de jitter e nenhum pacote perdido, de 893 transmitidos. Observe também, que a transferência de dados foi menor, isso porque a taxa de transferência padrão UDP no Iperf é de 1 Mbps.
Se você quiser aumentar a banda utilize a opção –b do lado client (iperf –c 10.10.8.75 –b 200M, por exemplo). Este opção funciona para o modo UDP apenas.
Mais opções
Além das opções já citadas, o Iperf ainda oferece outros argumentos, que podem ser utilizados de acordo com sua necessidade.
Client e Server:
- -f Formato das informações: Kbits, Mbits, KBytes, MBytes
- -h Ajuda – Mostrará todas as opções
- -i n Exibe o status a cada n segundos
- -o <filename> Salva o resultado ou mensagem de erro em um arquivo
- -p Especifica a porta a ser utilizada
- -u Define o uso do UDP, ao invés do TCP
- -v Mostra a versão
Server:
-
-s Inicia o Iperf como Servidor
Client:
-
-c Inicia o Iperf como Cliente (client)
-
-d Para fazer o teste bidirecional simultaneamente (dualtest)
-
-b Especifica a banda a ser utilizada (bandwith)
-
-n Número de byte para transmissão
-
-r Para fazer o teste bidirecional sendo um lado de cada vez (tradoff)
-
-t Tempo de transmissão (default 10 segundos)
Interface Gráfica
Pra ficar ainda melhor para quem tem medo de linha de comando temos a interface gráfica Jperf.
Faça o download e descompacte a pasta Jperf. Nesta temos a interface gráfica e o próprio Iperf. Execute o arquivo Jperf.bat, que iniciará a interface em Java.
Considerações
-
Além da rede, o poder de processamento das máquinas utilizadas e a utilização da CPU e Memória das mesmas também influenciam no resultado;
-
Cuidado ao gerar tráfego em uma rede em produção;
-
Para você ter parâmetros de comparação, é aconselhável fazer um teste ponto a ponto, com dois computadores conectados através de cabo crossover. Depois testar usando a rede;
-
Quando usando UDP você pode especificar a banda máxima possível, 1000M, por exemplo. Faça o teste e verifique se hoje perda de pacote. Se houver, repita o teste diminuindo a banda para 900M e verifique novamente. Repita o processo até chegar a um ponto em que não haja perda de pacote;
-
Lembre-se que o resultado mostra o resultado obtido naquele momento. Um segundo depois, em um novo teste, o resultado pode ser outro;
Até a próxima.




Mais um excelente post André. Parabéns..
Boa noite André, somente uma correção:
No parágrafo: “Se você quiser aumentar a banda utilize a opção –b do lado client (iperf –c 10.10.8.75 –d 200M, por exemplo).” você utilizou “-d”. Porém só para o post ficar perfeito. Excelente post!! Gostei muito.
Obrigado Cledir.
Muito bom o post André !
É o material mais didático acerca do uso do Iperf em português que já encontrei na Internet !
Abs,
Ele mede a banda de qual computador? Do server ou client?
Ele mede a largura de banda entre os dois computadores.
Ótimo post. Parabéns!
ótimo post parabens!
Parabéns.
muito bom me ajudou bastante.
André,no meu caso uma das minhas máquinas é linux…Tem alguma diferença? ou mantém a idéia? Desde já agradeço sua ajuda. Bjs
Nunca usei com Linux, mas não vejo diferença. Precisa só ver a documentação para confirmar se os comandos são os mesmos (-s, -c, -b).
Vlw
Já usei pra Linux e tenho quase certeza de que os comandos são os mesmos.
Ótimo post!
Abraços!
Show! Estava mesmo precisando de um programinha desses.
Não consigo fazer funcionar o Iperf em modo gráfico. Tenho que colocar algum arquivo no cliente? Ou e só executar.
Você precisa instalar o iPerf no cliente e também no server. A interface gráfica só no cliente.
MASTER !!!!
mto bom paara analise de bandwidth.
Preciso desabilitar algo no firewall?? qual eu tenho que instalar primeiro client ou server ???? sempre que instalo aparece acesso negado tanto no cliente como no servidor…
Você vai instalar o mesmo aplicativo dos dois lados. A forma que você executa é que vai dizer quem é cliente (-c) e quem é server (-s).
Imagino que o firewall do Windows deve ser desabilitado, ou se tiver algum firewall entre o cliente e o server, também deverá permitir o tráfego.
Nossa cara Ótimo POST, ajudou muito !
Como faço para abrir o arquivo salvo com .jperf ?
Pois preciso repassar esse teste de banda ao cliente de uma forma gráfica.
Parabéns pelo post. Eu usei aqui entre duas máquinas na rede, entre elas um switch, bom, da máquina A para a máquina B deu legal, 89 MBytes com 79 Mbits /s, acontece que da máq. B para a máq. A já houve uma baixa incrível, algo entorno de 16 MBytes com 12 Mbits, o que pode ser analisado com isso?
Olá,
Utilizei o Iperf para testar duas maquinas com inteface gigabit porem a banda não passou de 300 Mb, sabe me dizer o motivo?
Obrigado e parabéns pelo post!
Luiz, não é fácil identificar o gargalo. Pode estar na rede propriamente ou nos computadores. Utilização de memória e CPU influenciam, bem como a velocidade do disco.
Parabéns pelo artigo. Detalhado e com clareza.
Excelente post, parabéns.
Muito bom. Estou sempre à procura de ferramentas que possam enriquecer o conhecimento de quem trabalha com infra-estrutura. Até o momento, somente o “Performance Monitor” poderia ajudar. Achei esse programa simples e eficiente. Parabéns André Ortega. Ótima indicação.
eu sei qye tem como fazer um executavel para nao ter que ficar escrevendo comando por comando mas nao me lembro como era, alguem sabe me dizer.
Parabéns, esta ferramenta me ajudou a diagnosticar um problema de rede na empresa.