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.