Zrywanie połączeń na życzenie
Wolno to jeden rodzaj awarii. Brak łącza to drugi, i właśnie on znajduje ścieżkę kodu, której nikt nie napisał: ponowne połączenie, ponowienie próby, komunikat mówiący użytkownikowi, co się stało.
Tak też testuje się aplikację offline, bez wyciągania żadnej wtyczki: tryb LAN zostawia sieć lokalną i zabiera internet, a blokada jednego adresu czyni jedną usługę nieosiągalną, gdy reszta połączenia działa.
Pięć różnych sposobów na brak łącza
| Ustawienie | Co widzi aplikacja |
|---|---|
| Zrywanie połączeń | Połączenia padają w środku transferu, tak jak je zabija firewall albo load balancer. Ustawiasz, jak często, w procentach. |
| Łącze na przemian | Sieć znika na chwilę i wraca, w kółko. Ustawiasz długość cyklu i jaka jego część to przestój. |
| Blokada portu | Wszystko na ten port przepada. Nic innego nie jest ruszane. |
| Blokada adresu | Jeden serwer staje się nieosiągalny, a reszta internetu działa. |
| Tryb LAN | Sieć lokalna działa, internet nie. Dokładnie kształt portalu logowania w hotelu albo padniętego łącza operatora. |
Z linii komend
Zabij mniej więcej co dziesiąte połączenie jednej aplikacji:
BeanNetworkTester.exe --rst-prob 10 --target myapp.exe --duration 60
Cykle dziesięciosekundowe, cztery sekundy przestoju - łącze, które ciągle znika i wraca:
BeanNetworkTester.exe --flap-period 10 --flap-down 40 --target myapp.exe
Jeden serwer nieosiągalny, wszystko inne w porządku:
BeanNetworkTester.exe --block-ip 203.0.113.10
Blokada rusza tylko to, co nazywa
W odróżnieniu od straty czy opóźnienia, blokada portu albo adresu dotyczy wyłącznie ruchu, który do niej pasuje. To czyni ją najbezpieczniejszą z tej piątki do uruchomienia bez celu procesowego i dlatego "niech ta jedna zależność zniknie" to komenda w jednej linii.
Pułapka martwego pobierania
Jest też maksymalny rozmiar pakietu. Zmniejsz go trochę i duże transfery zwolnią. Zmniejsz do wartości w rodzaju 576 i pobieranie stanie całkowicie, na zawsze, bez żadnego błędu - bo to już nie jest mniejszy rozmiar pakietu, tylko klasyczna czarna dziura, w której sieć wyrzuca to, co za duże, i nigdy o tym nie mówi.
To realny tryb awarii, wart odtworzenia specjalnie, i naprawdę mylący, gdy spotka się go przypadkiem. Jeśli pobieranie zdechło po cichu zaraz po zmianie tego ustawienia - to jest powód.
Powrót do normy
STOP przywraca wszystko. Tak samo zamknięcie programu, tak samo limit czasu, jeśli go ustawisz. Gdyby samo narzędzie kiedyś padło w środku sesji, jego wewnętrzny nadzorca zatrzymuje przechwyt, zamiast zostawiać Twoją sieć w zepsutym stanie.