Análise de desempenho com Iperf

Publicado por Sandro Roberto Ferrari em 10/09/2007

[ Hits: 53.813 ]

 


Análise de desempenho com Iperf



O Iperf é um software de análise de desempenho de banda e cálculo de perda de datagramas na rede que é mantido pela Universidade de Illinois sob licença GPL.

http://dast.nlanr.net/Projects/Iperf/

O Iperf é um software cliente/servidor adequado para medições ativas. Além das medições, esse software pode ser usado com um gerador simples de carga na rede, quando não há preocupação com o perfil do tráfego que está sendo gerado. Também com Iperf é possível medir o Jitter (variação do atraso) e a perda. O Iperf é capaz de usar tanto o protocolo UDP, quanto TCP e pode lidar com múltiplas conexões simultâneas.

O Iperf usado com protocolo UDP necessita de especificação de banda, utilizando o parâmetro -b. No caso do protocolo TCP há um mecanismo de controle de congestionamento que procurará usufruir de toda a banda disponível no caminho, se o mecanismo de controle de fluxo permitir.

Segue alguns parâmetros:

Entre os parâmetros da linha de comandos encontrar-se-ão os seguintes:
  • -l: Comprimento da mensagem;
  • -c/-s: Especificação de cliente/servidor;
  • -t: Intervalo de tempo entre mensagens (envio contínuo por omissão).

Após execução, uma vez terminada, a aplicação cliente deverá fornecer as informações para análise.

Iperf - Testes

Objetivo: Analisar e comparar o desempenho de uma rede alterando os ambientes de testes usando para isso o software Iperf. Precisamos de pelo menos duas máquinas para fazer os testes: um Servidor e outra Cliente.

1) Teste básico default:

Servidor: iperf -s
Cliente: iperf -c <IP>

2) Teste utilizando 130k no tamanho do buffer para transmissão:

Servidor: iperf -s -w 130k
Cliente: iperf -c <IP> -w 130k

3) Teste utilizando 1M no tamanho do Buffer para transmissão, mas agora um servidor e dois clientes:

Servidor: iperf -s -w 1M
Cliente1: iperf -c <IP> -w 1M
Cliente2: iperf -c <IP> -w 1M -P 2

4) Teste do MSS (Maximum Segment Size) que representa o tamanho do maior bloco de dados que poderá ser enviado para o destino. Não é negociável, cada host divulga o seu MSS. Default: 536 bytes (20 bytes IP, 20 bytes TCP, para um total de 576 bytes). Ethernet: 1460 bytes (20 bytes IP, 20 bytes TCP, para um total de 1500 bytes)

Servidor: iperf -s -m
Cliente: iperf -c <IP> -m

5) Teste utilizando protocolo UDP, onde neste pode ser passado o tempo em segundos para analisar uma faixa de intervalos.

Servidor: iperf -s -u -i 1
Cliente: iperf -c <IP> -u -b 400k

6) Teste passando como parâmetro o tamanho do datagrama para read/write (default 8 KB) sendo 32K e utilizando 300K no tamanho do Buffer para transmissão. Ainda é passado o tempo em segundos para analisar uma faixa de intervalos.

Servidor: iperf -s -u -l 32k -w 300k -i 1
Cliente: iperf -c < IP > -b 10m -l 32k -w 300k

Importante: Para efeitos de testes repita as medidas, mas agora em presença de tráfego anormal gerado através do ping, faça testes executando o ping em várias máquinas. Também pode utilizar um ambiente misto, trabalhando com Linux e Windows ao mesmo tempo, fazer testes com a internet, com Hub, Switchs, com placas de rede em 10 MB 100 MB ou 1 GB.

Navegar é preciso!
Prof. Sandro Roberto Ferrari
sandro@habil.eti.br

Outras dicas deste autor

Verificando processos com o PS

RAID - Redundant Array of Independent Disks

Descobrindo compartilhamentos NFS de uma máquina

Manipulação de grupos

Encontrando documentação de comandos no seu próprio Linux

Leitura recomendada

Seleção de vídeos: licença Creative Commons, Lula no FISL, Maddog e mais

Qual distribuição utilizar

Instalando o Bacula-web no CentOS 5.X

Descobrindo nome do host a partir de um IP

VI - O fantástico editor de textos

  

Comentários
[1] Comentário enviado por a.comaru em 25/11/2008 - 11:28h

Ola,

Excelente artigo. Fiz algumas medições com sucesso.

Sabe me dizer se existe outra ferramenta do gênero para uma comparação de medições?

Abraços

André

[2] Comentário enviado por jcbacel em 02/03/2011 - 19:31h

Olá Sandro,

É necessário mesmo a instalação do agente nos clientes? Há uma outra forma de se fazer análise deste tipo sem instalação de agente?



Contribuir com comentário