Testando a performance da sua rede com o iperf
Posted by gondim | Posted in Dicas, FreeBSD | Posted on 27-04-2012
Tags:ferramentas, performance, tools
0
Hoje veremos uma ferramenta muito interessante chamada iperf que nos permite testar a nossa taxa de transferência entre 2 pontos na nossa rede. Dessa forma poderíamos, por exemplo, testar quanto um equipamento está suportando transferir tanto em download quanto em upload.
O iperf pode ser encontrado para BSD no ports, Linux, Windows usando cygwin e Mac OS. Ele é uma ferramenta cliente/servidor onde o cliente envia os pacotes para o servidor descartar e assim fazer a análise da performance.
Abaixo vou dar um exemplo, mas fazendo: man iperf vais encontrar uma excelente documentação sobre os parâmetros existentes.
Vamos pegar 2 máquinas rodando FreeBSD e instalar o iperf em cada uma delas através do ports:
# cd /usr/ports/benchmarks/iperf
# make install clean distclean
O iperf pode fazer testes individuais como somente de upload, download ou ambos bi-direcionalmente. Vamos escolher uma máquina para ser o cliente e a outra para rodar como server. O cliente é quem envia os pacotes e por isso testa o upload mas em modo bi-direcional o mesmo faz o envio e também recebe do server testando assim upload e download.
Em uma máquina de IP 192.168.0.1 vamos rodar assim:
# iperf -s
Isso faz com que ele rode em modo server, esperando as conexões.
Na outra máquina de IP 192.168.0.2 rodaremos como client assim de exemplo:
# iperf -c 192.168.0.1 -t 60 -f m -d -L 3000 -P 10
Nesse exemplo acima estamos dizendo para o iperf enviar os pacotes para o IP 192.168.0.1 que é nosso server de testes, tempo de teste de 60 segundos, o “-d” diz que será bi-direcional o teste (download e upload), “-L 3000” diz a porta que o server vai usar para fazer o acesso contrário para o teste bi-direcional, o “-P 10” diz quantas conexões simultâneas, nesse caso coloquei 10 e o “-f m” para mostrar os resultados em mbps.
Por padrão o protocolo usado é o TCP mas pode ser usado UDP também.
Abaixo a saída do teste:
# iperf -c 192.168.0.1 -t 60 -f m -d -L 3000 -P 10
————————————————————
Server listening on TCP port 3000
TCP window size: 0.06 MByte (default)
————————————————————
————————————————————
Client connecting to 192.168.0.1, TCP port 5001
TCP window size: 0.03 MByte (default)
————————————————————
[ 14] local 192.168.0.2 port 15056 connected with 192.168.0.1 port 5001
[ 8] local 192.168.0.2 port 14193 connected with 192.168.0.1 port 5001
[ 7] local 192.168.0.2 port 11420 connected with 192.168.0.1 port 5001
[ 11] local 192.168.0.2 port 37950 connected with 192.168.0.1 port 5001
[ 12] local 192.168.0.2 port 28811 connected with 192.168.0.1 port 5001
[ 13] local 192.168.0.2 port 16575 connected with 192.168.0.1 port 5001
[ 3] local 192.168.0.2 port 46848 connected with 192.168.0.1 port 5001
[ 9] local 192.168.0.2 port 44703 connected with 192.168.0.1 port 5001
[ 10] local 192.168.0.2 port 38972 connected with 192.168.0.1 port 5001
[ 4] local 192.168.0.2 port 27373 connected with 192.168.0.1 port 5001
[ 6] local 192.168.0.2 port 3000 connected with 192.168.0.1 port 55321
[ 17] local 192.168.0.2 port 3000 connected with 192.168.0.1 port 37120
[ 16] local 192.168.0.2 port 3000 connected with 192.168.0.1 port 51996
[ 15] local 192.168.0.2 port 3000 connected with 192.168.0.1 port 51216
[ 18] local 192.168.0.2 port 3000 connected with 192.168.0.1 port 17844
[ 19] local 192.168.0.2 port 3000 connected with 192.168.0.1 port 53913
[ 22] local 192.168.0.2 port 3000 connected with 192.168.0.1 port 38914
[ 21] local 192.168.0.2 port 3000 connected with 192.168.0.1 port 61725
[ 20] local 192.168.0.2 port 3000 connected with 192.168.0.1 port 33246
[ 23] local 192.168.0.2 port 3000 connected with 192.168.0.1 port 18179[ ID] Interval Transfer Bandwidth
[ 9] 0.0-60.1 sec 172 MBytes 24.0 Mbits/sec
[ 23] 0.0-60.1 sec 151 MBytes 21.0 Mbits/sec
[ 8] 0.0-60.1 sec 178 MBytes 24.9 Mbits/sec
[ 7] 0.0-60.1 sec 207 MBytes 28.9 Mbits/sec
[ 11] 0.0-60.1 sec 165 MBytes 23.1 Mbits/sec
[ 12] 0.0-60.1 sec 124 MBytes 17.3 Mbits/sec
[ 4] 0.0-60.1 sec 148 MBytes 20.7 Mbits/sec
[ 15] 0.0-60.1 sec 141 MBytes 19.6 Mbits/sec
[ 22] 0.0-60.1 sec 109 MBytes 15.2 Mbits/sec
[ 20] 0.0-60.1 sec 120 MBytes 16.7 Mbits/sec
[ 13] 0.0-60.2 sec 146 MBytes 20.3 Mbits/sec
[ 10] 0.0-60.2 sec 162 MBytes 22.6 Mbits/sec
[ 21] 0.0-60.2 sec 163 MBytes 22.7 Mbits/sec
[ 3] 0.0-60.3 sec 140 MBytes 19.5 Mbits/sec
[ 6] 0.0-60.3 sec 133 MBytes 18.5 Mbits/sec
[ 16] 0.0-60.3 sec 121 MBytes 16.9 Mbits/sec
[ 14] 0.0-60.3 sec 131 MBytes 18.2 Mbits/sec
[SUM] 0.0-60.3 sec 1573 MBytes 219 Mbits/sec
[ 17] 0.0-60.3 sec 125 MBytes 17.3 Mbits/sec
[ 19] 0.0-60.5 sec 121 MBytes 16.7 Mbits/sec
[ 18] 0.0-64.7 sec 104 MBytes 13.4 Mbits/sec
[SUM] 0.0-64.7 sec 1286 MBytes 167 Mbits/sec
O primeiro [SUM] é o somatório referente ao upload que no meu caso deu 219Mbps de transferência porque eu já tinha um tráfego saindo no momento do meu teste e porque desses 2 equipamentos que usei, um deles é o meu router em outra Cidade. O outro [SUM] de 167Mbps é referente ao tráfego de download. Você também pode acompanhar o consumo total de banda usando um outro aplicativo como nload que também pode ser encontrado no ports do FreeBSD.
Fica aqui mais esse ferramenta importante para avaliarmos nossa rede. Be happy!