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.
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!
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.
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
Bell, em um ambiente Cisco o Prime Infrasctructure é uma boa opção.
Excelente post me ajudou muito agradeço.
Parabéns pelo post, André
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
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.
Parabéns, bem completo.
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).
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.
Consigo testar um link de 500 Mbits dessa maneira através de uma porta giga?
Sim.
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???
O padrão é 1470 bytes, mas você pode usar a opção -l para especificar o tamanho.
OK,muito obrigado.
Na verdade o firewall nao eh necessario desabilita-lo, e sim a porta logica que utiliza essa aplicaçao remota. So para nao correr um risco na rede durante um simples teste.
Muito bom. Parabéns.
Eu queria saber como faço para abrir o teste que eu salvo no JPERF. Tenho que usar algum programa específico?
Este programa poderia ser usado de alguma forma para testar se um switch está com problemas?
Com ele você consegue ver a velocidade entre dois pontos. Se a velocidade estiver abaixo do esperado, o problema pode ser o switch, mas o iperf não vai apontar isso.
Poxa q legal!!! Agora só falta botar o link para download… 🙁
https://iperf.fr/
André, estou usando iperf para medir a performance do meu link mpls, porem, a operadora “Embratel” diz que esse teste não é real, porem realizo esse teste em 4 links e apenas 1 mostra que o teste está ok, os demais atingem 50% da velocidade contratada, ou seja, eles estao alegando que o link está sendo entregue 100% mas os testes dizem outra coisa, existe outra opção para apoiar o iperf nessa medição?
Ola Rodrigo,
Você pode tentar fazer uma transferência de arquivo usando um FTP e ver a velocidade.
Obrigado e parabéns pelo excelente post.
Olá
Eu não pode usar o comando -u no servidor , só que me permite usar o -s