Bean Network Tester

Cambiar las condiciones de red con el tiempo

Una pérdida fija del 10 % es una condición de laboratorio. Las conexiones reales empeoran, se recuperan, se detienen cuatro segundos y vuelven, y el error que persigues suele estar en el cambio, no en el estado estable.

Un escenario es una línea de tiempo

Un archivo JSON. Cada paso dice en este segundo, estos ajustes, y todo lo que no menciones conserva su valor:

{
  "loop": true,
  "steps": [
    {"at": 0,  "settings": {"latency": 20, "jitter": 15, "down": 4096}},
    {"at": 20, "settings": {"loss": 8, "latency": 180}},
    {"at": 45, "settings": {"block_ip": "203.0.113.0/24"}},
    {"at": 65, "settings": {"block_ip": "", "loss": 0, "latency": 20}}
  ]
}

Los tiempos son segundos desde el inicio de la ejecución, no intervalos entre pasos. Con "loop": true la línea de tiempo vuelve a empezar al terminar, que es lo que quieres para una prueba de resistencia larga: déjala en marcha y usa la aplicación.

BeanNetworkTester.exe --scenario cafe-wifi.json --target myapp.exe

8 escenarios listos para usar vienen con el programa

En la carpeta scenarios junto al ejecutable. Leídos de esos archivos, así que esto es lo que realmente tienes:

ArchivoPasosDuraciónSe repite
blocked-endpoint.json465 ssí
cafe-wifi.json585 ssí
congested-vpn.json470 ssí
failing-dns.json685 ssí
mobile-lte-to-3g.json785 ssí
overloaded-game-server.json572 ssí
same-loss-in-runs.json5100 ssí
upload-drop-midway.json775 sno

Son texto corriente: abre uno, cambia un número, guarda. Los nombres dicen lo que reproducen: una cafetería llena, una conexión móvil que cae de LTE a 3G, una subida que muere a medias, un servidor que se sobrecarga, un DNS que deja de responder.

Dos formas más sencillas de obtener cambio

Merece la pena escribir un escenario cuando importa la secuencia. Cuando no, dos ajustes varían por su cuenta:

BeanNetworkTester.exe --flap-period 10 --flap-down 40 --target myapp.exe

Por qué funciona mientras la aplicación está en marcha

Cada ajuste que toca un escenario se aplica en vivo a la sesión que ya está en curso: la aplicación no necesita reiniciarse, ni la herramienta tampoco. El registro de eventos anota cada paso cuando ocurre, así que cuando algo falla puedes ver a qué cambio siguió. Combínalo con una semilla y toda la secuencia, incluida la pérdida aleatoria que contiene, se repite exactamente.

Siguiente

¿Listo para romper tu propia red a propósito?

Descargar para Windows