Bean Network Tester

Uji chaos jaringan di Windows

Uji chaos berarti merusak sesuatu dengan sengaja, selagi Anda mengamati, untuk mengetahui apa yang dilakukan perangkat lunak Anda. Di lapisan jaringan, itulah persis alat ini: cara menyuntikkan gangguan ke satu aplikasi dan melihat apakah ia bertahan.

Gangguan yang dapat Anda suntikkan

GangguanYang ditiru
Kehilangan, kerusakan, duplikasiJalur yang menurun kualitasnya. Paket hilang, tiba dalam keadaan rusak, atau tiba dua kali.
Latensi, jitter, lonjakanJalur yang lambat atau tak stabil, termasuk hambatan beberapa detik yang merusak timeout.
Reset koneksiFirewall atau load balancer yang memutus koneksi di tengah transfer.
Tautan terputusJalur yang menghilang dan kembali, dalam siklus.
Alamat atau port yang diblokirSatu dependensi tak terjangkau sementara yang lain berfungsi.
Internet mati, LAN hidupBentuk captive portal: yang lokal berfungsi, dunia luar tidak.

Yang memisahkan chaos dari gangguan acak: keterulangan

Kegagalan acak yang tak bisa diputar ulang menghasilkan cerita, bukan laporan bug. Setiap keputusan acak di sini berasal dari seed, sehingga perintah yang sama mereproduksi eksekusi yang sama: paket yang sama hilang, jitter yang sama, dalam urutan yang sama:

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

Itulah beda antara “pernah rusak sekali Selasa lalu” dan pengujian gagal yang bisa dijalankan orang lain.

Di dalam pipeline

Baris perintah melapor lewat kode keluar, sehingga build dapat membedakan “aplikasi gagal” dari “alat tidak bisa dimulai”, dan sesinya berakhir sendiri: tidak ada langkah pembersihan yang bisa terlupa:

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

Rangkaian gangguan, bukan satu gangguan, adalah file skenario, dan itu juga dapat diulang. Lihat skenario berbasis waktu dan uji jaringan di CI untuk kode keluar dan runner yang dibutuhkan.

Di mana radius dampak berhenti

Dua batas, dan keduanya disengaja. Gangguan menjangkau satu proses, PID, alamat, atau port saat Anda membidiknya, sehingga mesin tempat Anda bekerja tetap berfungsi. Dan ini satu mesin: ini injeksi gangguan untuk sebuah klien dan koneksinya, bukan untuk klaster. Jika Anda mencari chaos lintas layanan dan node, itu jenis alat yang lain, dan ini adalah bagian yang merusak jaringan di bawah satu aplikasi Windows.

Semuanya dapat dibalik seketika. STOP memulihkan jaringan, batas waktu melakukan hal yang sama, dan watchdog di dalam alat mematikan penangkapan jika alatnya sendiri mati: gangguan yang Anda suntikkan tidak boleh hidup lebih lama daripada eksekusi yang menyuntikkannya.

Selanjutnya

Siap merusak jaringan Anda sendiri dengan sengaja?

Unduh untuk Windows