FORGOT YOUR DETAILS?

Testando a rede com o Iperf (gerador de tráfego)

by / segunda-feira, 21 junho 2010 / Published in Dicas, Uteis

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

Iperf Server

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

Iperf Client 

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.

Iperf Client - Bidirecional

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

Iperf Server UDP

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.

Jperf

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.

45 Responses to “Testando a rede com o Iperf (gerador de tráfego)”

  1. Mais um excelente post André. Parabéns..

  2. Cledir Justo says : Responder

    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.

  3. Muito bom o post André !

    É o material mais didático acerca do uso do Iperf em português que já encontrei na Internet !

    Abs,

  4. Alexandre says : Responder

    Ele mede a banda de qual computador? Do server ou client?

  5. Ele mede a largura de banda entre os dois computadores.

  6. Fábio says : Responder

    Ótimo post. Parabéns!

  7. ótimo post parabens!

  8. Fernando says : Responder

    Parabéns.

  9. vinicius says : Responder

    muito bom me ajudou bastante.

  10. Raquel says : Responder

    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

  11. 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

  12. Diogo says : Responder

    Já usei pra Linux e tenho quase certeza de que os comandos são os mesmos.

    Ótimo post!

    Abraços!

  13. Rafael says : Responder

    Show! Estava mesmo precisando de um programinha desses.

  14. Carlos says : Responder

    Não consigo fazer funcionar o Iperf em modo gráfico. Tenho que colocar algum arquivo no cliente? Ou e só executar.

  15. Você precisa instalar o iPerf no cliente e também no server. A interface gráfica só no cliente.

  16. andre massao says : Responder

    MASTER !!!!
    mto bom paara analise de bandwidth.

  17. Rodrigo says : Responder

    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…

  18. 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.

    • O Iperf trabalha na porta TCP 5001 então basta liberar o tráfego nesta porta no firewall do Windows. Prezando a segurança não recomendo desabilitar o firewall. Ótimo post!

  19. Thiago says : Responder

    Nossa cara Ótimo POST, ajudou muito !

  20. Vitor Hugo says : Responder

    Como faço para abrir o arquivo salvo com .jperf ?
    Pois preciso repassar esse teste de banda ao cliente de uma forma gráfica.

  21. Ricardo Mota says : Responder

    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?

  22. Luiz says : Responder

    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!

  23. 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.

  24. Rodrigo says : Responder

    Parabéns pelo artigo. Detalhado e com clareza.

  25. Eleudson says : Responder

    Excelente post, parabéns.

  26. Jorge Borges says : Responder

    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.

  27. gilberto says : Responder

    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.

  28. Alessandro says : Responder

    Parabéns, esta ferramenta me ajudou a diagnosticar um problema de rede na empresa.

  29. Bell says : Responder

    Caro Andre!!

    Excelente post de fato.

    Gostaria de contar com vossa ajuda, no sentido de me aconselhar,
    o uso de uma ferramente de monitorizaçao, que me permita olhar remotamente para as minhas Switches, tais como processadores, memoria, e olhar directamente para o trafego das portas, os IPs, desempenho e que me detecta sobre tudo, quando uma porta de rede está com problema, e com opçao de fazer o shutdown

    tenho Switches catalyst 2960 em minha rede e gostaria de poder implementar estes elementos.

    Saudaçoes

  30. Bell, em um ambiente Cisco o Prime Infrasctructure é uma boa opção.

  31. Carlos says : Responder

    Excelente post me ajudou muito agradeço.

  32. Vladimir says : Responder

    Parabéns pelo post, André

  33. c_l_a_u_999 says : Responder

    Consigo testar até quantos Mbits/sec com Jperf? Trabalho com Telecom mas sempre usamos equipamento de medição em camada 2 (JDSU SmartClass. O JPerfe é caps de medir um link dedicado de 300Mbits UP/DOWN

  34. c_l_a_u_999, eu não sei se o iPerf tem alguma limitação quanto a velocidade.
    Porém com certeza teremos limitações do computador onde ele estará instalado.
    Assim, um equipamento dedicado para medição provavelmente funcionará melhor.

  35. Romano says : Responder

    Parabéns, bem completo.

  36. Daniele Lima says : Responder

    Olá André o iperf pode ser usado em quantas máquinas em uma rede?

    • Olá Daniele, acho que não entendi a pergunta…
      Para fazer a medição precisamos de duas máquinas (client e server), e o teste é feito sempre ponto a ponto. Assim o caminho entre as duas é testado.

      Você poderia ter o Iperf instalado em todos os computadores, mas a utilização sempre seria entre dois por vez (client e server).

  37. Willian says : Responder

    olá, excelente artigo, porem fiz o teste através do CMD, colocando o comando para salvar em um arquivo o resultado, porem coloco o nome mais nao encontro esse arquivo em lugar algum das duas máquinas, tanto no server quanto no client. como posso resolver?? Obrigado.

  38. Claudinei says : Responder

    Consigo testar um link de 500 Mbits dessa maneira através de uma porta giga?

  39. Alécio says : Responder

    Blz,me tira uma dúvida quando rodamos um teste de tráfego com esse programa,ele vai fragmentar a banda em pacotes certo?exemplo pacotes de 64k,128k ou até Jumbo Frame,sebe me dizer se ele faz isso e se faz qual a MTU que ele usa???

Deixe uma resposta

TOP