Bean Network Tester

Netzwerkbedingungen im Zeitverlauf ändern

Ein fester Verlust von 10 % ist eine Laborbedingung. Echte Verbindungen werden schlechter, erholen sich, setzen vier Sekunden aus und kommen zurück, und der Fehler, dem du nachjagst, steckt meist in der Veränderung, nicht im stabilen Zustand.

Ein Szenario ist eine Zeitleiste

Eine JSON-Datei. Jeder Schritt sagt in dieser Sekunde diese Einstellungen, und alles, was du nicht erwähnst, behält seinen Wert:

{
  "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}}
  ]
}

Die Zeiten sind Sekunden ab Beginn des Durchlaufs, nicht Abstände zwischen den Schritten. Mit "loop": true beginnt die Zeitleiste von vorn, wenn sie endet, und das ist, was du für einen langen Dauertest willst: Lass es laufen und benutze die App.

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

8 fertige Szenarien werden mit dem Programm mitgeliefert

Im Ordner scenarios neben der ausführbaren Datei. Aus diesen Dateien gelesen, also ist das, was du tatsächlich hast:

DateiSchritteDauerWiederholt sich
blocked-endpoint.json465 sja
cafe-wifi.json585 sja
congested-vpn.json470 sja
failing-dns.json685 sja
mobile-lte-to-3g.json785 sja
overloaded-game-server.json572 sja
same-loss-in-runs.json5100 sja
upload-drop-midway.json775 snein

Sie sind gewöhnlicher Text: eines öffnen, eine Zahl ändern, speichern. Die Namen sagen, was sie nachbilden: ein überfülltes Café, eine Mobilfunkverbindung, die von LTE auf 3G fällt, einen Upload, der auf halbem Weg stirbt, einen überlasteten Server, DNS, das nicht mehr antwortet.

Zwei einfachere Wege zu Veränderung

Ein Szenario lohnt sich, wenn die Abfolge zählt. Wenn nicht, ändern sich zwei Einstellungen von selbst:

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

Warum es funktioniert, während die App läuft

Jede Einstellung, die ein Szenario berührt, wird live auf die bereits laufende Sitzung angewendet: Die App muss nicht neu gestartet werden, das Tool auch nicht. Das Ereignisprotokoll hält jeden Schritt fest, sobald er passiert, sodass du bei einem Fehler sehen kannst, welcher Änderung er folgte. Kombiniere das mit einem Seed, und die ganze Abfolge, einschließlich des zufälligen Verlusts darin, wiederholt sich exakt.

Weiter

Bereit, dein eigenes Netzwerk absichtlich kaputtzumachen?

Für Windows herunterladen