Bean Network Tester

Chaos testování sítě ve Windows

Chaos testování znamená záměrně něco rozbít, zatímco se díváte, abyste zjistili, co s tím váš software udělá. Na síťové vrstvě je přesně tohle tento nástroj: způsob, jak vložit chybu do jedné aplikace a zjistit, zda ji přežije.

Chyby, které můžete vložit

ChybaCo modeluje
Ztráta, poškození, duplikaceZhoršenou cestu. Pakety mizí, přicházejí poškozené nebo přicházejí dvakrát.
Zpoždění, jitter, skokyPomalou nebo nestabilní cestu, včetně zadrhnutí na několik sekund, které rozbíjí timeouty.
Resety spojeníFirewall nebo load balancer, který ukončuje spojení uprostřed přenosu.
Výpadky linkyCesta, která mizí a vrací se v cyklu.
Blokovaná adresa nebo portJedna závislost nedostupná, zatímco všechno ostatní funguje.
Internet pryč, LAN žijeTvar captive portalu: místní funguje, svět ne.

Co odlišuje chaos od šumu: opakovatelnost

Náhodná chyba, kterou nelze přehrát, vytvoří příběh, ne hlášení chyby. Každé náhodné rozhodnutí tu vychází ze seedu, takže stejný příkaz zopakuje stejný běh: stejné ztracené pakety, stejný jitter, ve stejném pořadí:

BeanNetworkTester.exe --loss 15 --rst-prob 5 --seed 42 --target myapp.exe --duration 120

To je rozdíl mezi „minulé úterý to jednou spadlo“ a selhávajícím testem, který může spustit kdokoli jiný.

V pipeline

Příkazový řádek hlásí výsledek přes návratové kódy, takže build rozliší „aplikace selhala“ od „nástroj se nepodařilo spustit“, a relace skončí sama, takže není žádný úklidový krok, na který by se dalo zapomenout:

BeanNetworkTester.exe --loss 10 --rst-prob 5 --target myapp.exe --duration 90 --format json > chaos.ndjson

Posloupnost chyb místo jedné je soubor scénáře a ty jsou také opakovatelné. Návratové kódy a potřebný runner najdete v částech scénáře v čase a síťové testy v CI.

Kde zásah končí

Dvě hranice a obě jsou záměrné. Zhoršení zasáhne jeden proces, PID, adresu nebo port, když jej zacílíte, takže počítač, na kterém pracujete, funguje dál. A je to jeden počítač: jde o vkládání chyb pro klienta a jeho spojení, ne pro cluster. Pokud hledáte chaos napříč službami a uzly, je to jiný druh nástroje a tento je ten kus, který rozbíjí síť pod jednou aplikací pro Windows.

Všechno je vratné na místě. STOP obnoví síť, časový limit udělá totéž a hlídací proces (watchdog) v nástroji zastaví zachytávání, pokud samotný nástroj spadne: chyba, kterou jste vložili, nesmí nikdy přežít běh, který ji vložil.

Dále

Jste připraveni záměrně rozbít vlastní síť?

Stáhnout pro Windows