iPerf3 – Teste de Velocidade/Throughput de Rede no Linux

Iperf3 é um programa gratuito de código aberto, multiplataforma e baseado em linha de comando para realizar medições de throughput de rede em tempo real. É uma das ferramentas mais poderosas para testar a largura de banda máxima alcançável em redes IP (suporta IPv4 e IPv6).

Com o Iperf, você pode ajustar vários parâmetros associados ao tempo, buffers e protocolos como TCP, UDP e SCTP. É útil para operações de ajuste de desempenho de rede.

Para adquirir o máximo ou melhorar o desempenho da rede, você precisa aumentar o throughput e a latência das capacidades de envio e recebimento da sua rede.

No entanto, antes de entrar no ajuste real, é necessário realizar alguns testes para coletar estatísticas gerais de desempenho de rede que guiarão o processo de ajuste.

Seus resultados incluem intervalo de tempo em segundos, dados transferidos, largura de banda (taxa de transferência), perda e outros parâmetros úteis de desempenho de rede. É principalmente destinado a ajudar no ajuste de conexões TCP por um caminho específico e é isso que vamos focar neste guia.

Requisitos:

  • Dois computadores em rede, ambos com o Iperf3 instalado.Como Instalar o iPerf3 em Sistemas Linux

Como Instalar o iPerf3 em Sistemas Linux

Antes de começar a usar iperf3, você precisa instalá-lo nas duas máquinas que você usará para benchmarking. Como iperf3 está disponível nos repositórios oficiais de a maioria das distribuições Linux comuns, a instalação deve ser fácil, usando um gerenciador de pacotes como mostrado.

$ sudo apt install iperf3         [On Debian, Ubuntu and Mint]
$ sudo yum install iperf3         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a net-misc/iperf   [On Gentoo Linux]
$ sudo apk add iperf3             [On Alpine Linux]
$ sudo pacman -S iperf3           [On Arch Linux]
$ sudo zypper install iperf3      [On OpenSUSE]    

Depois de ter iperf3 instalado em ambas as máquinas, você pode começar a testar a velocidade da rede.

Como Testar a Velocidade da Rede Entre Dois Servidores Linux

Primeiro, conecte-se à máquina remota que você usará como servidor, e inicie iperf3 em modo servidor usando a bandeira -s, ele escutará a porta 5201 por padrão.

Você pode especificar o formato (k, m, g para Kbits, Mbits, Gbits ou K, M, G para KBytes, Mbytes, Gbytes) para o relatório, usando o interruptor -f como mostrado.

$ iperf3 -s -f K 

Se a porta 5201 estiver sendo usada por outro programa no seu servidor, você pode especificar uma porta diferente (por exemplo, 3000) usando o interruptor -p como mostrado.

$ iperf3 -s -p 3000

Opicionalmente, você pode executar o servidor como um daemon, usando a bandeira -D e gravar mensagens do servidor em um arquivo de log, como segue.

$ iperf3 -s -D > iperf3log 

Em seguida, no seu computador local que trataremos como o cliente (onde o benchmarking real ocorre), execute o iperf3 em modo cliente usando a opção -c e especifique o host no qual o servidor está sendo executado (usando seu endereço IP, domínio ou nome de host).

$ iperf3 -c 192.168.10.1 -f K

Após cerca de 18 a 20 segundos, o cliente deve encerrar e produzir resultados indicando a taxa de transferência média para o benchmark, como mostrado na captura de tela a seguir.

Test Network Throughput Between Servers
From the benchmark results, as shown in the above screenshot, there is a variation in values from the server and client. But, you should always consider using the results obtained from the iperf client machine in every test you carry out.

Como Realizar Testes Avançados de Taxa de Transferência de Rede no Linux

Há uma série de opções específicas do cliente para realizar um teste avançado, conforme explicado abaixo.

Um dos fatores importantes que determinam a quantidade de dados na rede em um determinado momento é o tamanho da janela TCP – é importante na sintonia das conexões TCP. Você pode definir o tamanho da janela/tamanho do buffer de soquete usando a opção -w como mostrado.

$ iperf3 -c 192.168.10.1 -f K -w 500K	

Para executá-lo em modo reverso onde o servidor envia e o cliente recebe, adicione o comando -R.

$ iperf3 -c 192.168.10.1 -f K -w 500K -R	

Para executar um teste bidirecional, ou seja, medir a largura de banda em ambas as direções simultaneamente, use a opção -d.

$ iperf3 -c 192.168.10.1 -f K -w 500K -d

Se você deseja obter os resultados do servidor na saída do cliente, use a opção --get-server-output.

$ iperf3 -c 192.168.10.1 -f K -w 500K -R --get-server-output
Get Server Network Results in the Client

Também é possível definir o número de fluxos de cliente paralelos (dois neste exemplo), que são executados ao mesmo tempo, usando as opções -P.

$ iperf3 -c 192.168.10.1 -f K -w 500K -P 2

Para obter mais informações, consulte a página do manual do iperf3.

$ man iperf3

Isso é tudo! Lembre-se sempre de realizar testes de desempenho de rede antes de fazer ajustes de desempenho reais. O iperf3 é uma ferramenta poderosa que é útil para executar testes de throughput de rede.

Você tem algum pensamento para compartilhar ou alguma pergunta a fazer, use o formulário de comentário abaixo.

Source:
https://www.tecmint.com/test-network-throughput-in-linux/