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

Por , 21/06/2010 10:21

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.

29 Comentários em “Testando a rede com o Iperf (gerador de tráfego)”

  1. Gustavo Lima Mac OS X Firefox 3.6.3 says:

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

  2. Cledir Justo Windows other version Firefox 3.6.3 says:

    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. André Ortega Windows other version Google Chrome 5.0.375.70 says:

    Obrigado Cledir.

  4. Muito bom o post André !

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

    Abs,

  5. Alexandre Windows other version Firefox 3.6.8 says:

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

  6. André Ortega Windows other version Google Chrome 5.0.375.125 says:

    Ele mede a largura de banda entre os dois computadores.

  7. Fábio Ubuntu Firefox 3.6.12 says:

    Ótimo post. Parabéns!

  8. birapcbira Windows other version Google Chrome 12.0.742.112 says:

    ótimo post parabens!

  9. Fernando Ubuntu Firefox 3.6.18 says:

    Parabéns.

  10. vinicius Windows other version Firefox 6.0 says:

    muito bom me ajudou bastante.

  11. Raquel Windows XP Firefox 6.0 says:

    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

  12. André Ortega Windows other version Google Chrome 13.0.782.220 says:

    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

  13. Diogo Windows XP Google Chrome 13.0.782.220 says:

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

    Ótimo post!

    Abraços!

  14. Rafael Windows XP Firefox 6.0.2 says:

    Show! Estava mesmo precisando de um programinha desses.

  15. Carlos Windows XP Internet Explorer 8.0 says:

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

  16. André Ortega Windows other version Google Chrome 17.0.963.56 says:

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

  17. andre massao Windows other version Firefox 8.0 says:

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

  18. Rodrigo Windows other version Firefox 12.0 says:

    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…

  19. André Ortega Windows other version Google Chrome 18.0.1025.168 says:

    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.

  20. Thiago Windows other version Firefox 13.0 says:

    Nossa cara Ótimo POST, ajudou muito !

  21. Vitor Hugo Windows other version Google Chrome 19.0.1084.56 says:

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

  22. Ricardo Mota Windows other version Firefox 13.0.1 says:

    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?

  23. Luiz Windows other version Firefox 16.0 says:

    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!

  24. André Ortega Windows other version Google Chrome 22.0.1229.94 says:

    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.

  25. Rodrigo Ubuntu Google Chrome 20.0.1132.47 says:

    Parabéns pelo artigo. Detalhado e com clareza.

  26. Eleudson Ubuntu Google Chrome 18.0.1025.168 says:

    Excelente post, parabéns.

  27. Jorge Borges Windows other version Google Chrome 24.0.1312.57 says:

    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.

  28. gilberto Windows other version Google Chrome 25.0.1364.172 says:

    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.

  29. Alessandro Windows other version Google Chrome 26.0.1410.64 says:

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

Participe

Tema Brainwork 0.2(beta)