All Is Telecom

Como Fazer Testes Longos com iPerf3 sem Problemas de Cache

Como Fazer Testes Longos com iPerf3 sem Problemas de Cache

O iPerf3 é uma excelente ferramenta para testes de rede, mas ao realizar testes de longa duração, pode ocorrer uma limitação relacionada ao uso de cache de memória. Isso gera pausas automáticas após determinado tempo, geralmente cerca de 30 minutos, interrompendo testes contínuos.

Para contornar esse problema, vamos utilizar um script Python que reinicia o iPerf3 periodicamente, mantendo a continuidade do teste por tempo indefinido.

Instalando o Python

Linux

sudo apt update
sudo apt install python3 python3-pip

Windows

Baixe e instale o Python em: python.org/downloads/windows. Marque a opção “Add Python to PATH” durante a instalação.

macOS

brew install python

Script em Python para Testes Longos com iPerf3

Este script solicita o IP do servidor, tipo de teste (TCP ou UDP) e o tempo total. Em seguida, executa múltiplas sessões do iPerf3 reiniciando a cada 25 minutos para evitar o travamento.

import subprocess
import time
import math

server_ip = input("Digite o IP do servidor: ")
protocol = input("Escolha o protocolo (tcp/udp): ").strip().lower()
duration = int(input("Tempo total do teste (em segundos): "))

intervalo = 1500  # 25 minutos
vezes = math.ceil(duration / intervalo)

print(f"Iniciando teste por {duration}s com sessões de {intervalo}s")

for i in range(vezes):
    print(f"Iniciando sessão {i+1}/{vezes}...")
    cmd = ["iperf3", "-c", server_ip, "-t", str(intervalo)]
    if protocol == "udp":
        cmd.append("-u")
        cmd += ["-b", "100M"]
    subprocess.run(cmd)
    time.sleep(2)

print("Teste finalizado com sucesso!")

Conclusão

Com esse script simples, é possível contornar o problema de cache do iPerf3 e realizar testes prolongados sem interrupções. Essa solução é ideal para testes de performance contínuos em redes corporativas ou laboratoriais.

Quer mais dicas como essa? Veja nosso post sobre todos os parâmetros do iPerf3.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *