Bean Network Tester

Змінюйте умови мережі з часом

Постійна втрата 10 % є лабораторною умовою. Справжні з’єднання погіршуються, відновлюються, зависають на чотири секунди й повертаються, а помилка, яку ви ловите, зазвичай живе у зміні, а не в сталому стані.

Сценарій є часовою шкалою

Один файл JSON. Кожен крок каже на цій секунді ці налаштування, а все, що ви не згадуєте, зберігає значення:

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

Час задається в секундах від початку запуску, а не проміжками між кроками. З "loop": true часова шкала починається знову, коли закінчується, що й потрібно для довгого витривалісного тесту: залиште її працювати й користуйтеся застосунком.

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

Готових сценаріїв у програмі: 8

У теці scenarios поруч із виконуваним файлом. Прочитано з цих файлів, тож це саме те, що ви справді маєте:

ФайлКрокиТривалістьПовторюється
blocked-endpoint.json465 sтак
cafe-wifi.json585 sтак
congested-vpn.json470 sтак
failing-dns.json685 sтак
mobile-lte-to-3g.json785 sтак
overloaded-game-server.json572 sтак
same-loss-in-runs.json5100 sтак
upload-drop-midway.json775 sні

Це звичайні текстові файли: відкрийте один, змініть число, збережіть. Назви кажуть, що вони відтворюють: переповнене кафе, мобільне з’єднання, що падає з LTE на 3G, вивантаження, яке гине на півдорозі, перевантажений сервер, DNS, який перестає відповідати.

Два простіші способи отримати зміну

Сценарій варто писати, коли важлива послідовність. Коли ні, два налаштування змінюються самі:

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

Чому це працює, поки застосунок запущений

Кожне налаштування, якого торкається сценарій, застосовується наживо до сеансу, що вже триває: застосунок не потрібно перезапускати, і інструмент теж. Журнал подій записує кожен крок, коли він відбувається, тож коли щось ламається, ви бачите, за якою зміною це сталося. Поєднайте це з seed, і вся послідовність, зокрема випадкова втрата в ній, повторюється точно.

Далі

Готові навмисно зламати власну мережу?

Завантажити для Windows