Pesquisa de site

Como testar a velocidade da rede usando a ferramenta iPerf3 no Linux


iperf3 é um programa gratuito, de código aberto e multiplataforma, baseado em linha de comando, para realizar medições de rendimento 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 a temporização, buffers e protocolos como TCP, UDP e SCTP. É útil para operações de ajuste de desempenho de rede.

Para obter o desempenho máximo ou melhorado da rede, você precisa aumentar a taxa de transferência, bem como a latência dos recursos de recebimento e envio da sua rede.

No entanto, antes de iniciar o ajuste real, é necessário realizar alguns testes para coletar estatísticas gerais de desempenho da rede que orientarão seu 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 da rede. O objetivo principal é auxiliar no ajuste de conexões TCP em um caminho específico e é nisso que nos concentraremos neste guia.

Requisitos:

  • Dois computadores em rede que possuem o iperf3 instalado.

Como instalar o iPerf3 em sistemas Linux

Antes de começar a usar o iperf3, você precisa instalá-lo nas duas máquinas que usará para benchmarking. Como o iperf3 está disponível nos repositórios de software oficiais das distribuições Linux mais comuns, instalá-lo deve ser fácil, usando um gerenciador de pacotes conforme 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 instalar o iperf3 em ambas as máquinas, você poderá começar a testar o rendimento da rede.

Como testar a velocidade da rede entre dois servidores Linux

Primeiro, conecte-se à máquina remota que você usará como servidor e ative o iperf3 no modo servidor usando o sinalizador -s, ele irá ouça 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 reportar, usando a opção -f conforme mostrado.

iperf3 -s -f K 

Se a porta 5201 estiver sendo usada por outro programa em seu servidor, você poderá especificar uma porta diferente (por exemplo, 3000) usando a opção -p como mostrando.

iperf3 -s -p 3000

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

iperf3 -s -D > iperf3log 

Então, em sua máquina local, que trataremos como o cliente (onde ocorre o benchmarking real), execute iperf3 no modo cliente usando -c sinalizar e especificar 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 deverá encerrar e produzir resultados indicando o rendimento médio do benchmark, conforme mostrado na captura de tela a seguir.

A partir dos resultados do benchmark, conforme mostrado na captura de tela acima, há uma variação nos valores do servidor e do cliente. Porém, você deve sempre considerar usar os resultados obtidos na máquina cliente iperf em todos os testes que realizar.

Como realizar testes de rede avançados no Linux

Existem diversas 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 no ajuste das conexões TCP. Você pode definir o tamanho da janela/tamanho do buffer do soquete usando o sinalizador -w conforme mostrado.

iperf3 -c 192.168.10.1 -f K -w 500K	

Para executá-lo no modo reverso onde o servidor envia e o cliente recebe, adicione a opção -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 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

Também é possível definir o número de fluxos de clientes paralelos (dois neste exemplo), que rodam 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 de manual do iperf3.

man iperf3

Isso é tudo! Lembre-se de sempre realizar testes de desempenho da rede antes de fazer o ajuste real do desempenho da rede. iperf3 é uma ferramenta poderosa, útil para executar testes de rendimento de rede.

Você tem alguma opinião para compartilhar ou perguntas a fazer, use o formulário de comentários abaixo.