Speedbump - proksi TCP dengan dukungan latensi variabel
(github.com/kffl)- Proksi TCP yang ditulis dalam bahasa Go, dapat mensimulasikan berbagai latensi jaringan variabel
Contoh penggunaan dasar
- Membuat instans baru yang mendengarkan di port 2000 untuk memproksikan lalu lintas TCP ke localhost:80, dengan latensi dasar 100ms, amplitudo gelombang sinus 100ms (latensi tambahan maksimum 200ms, minimum 0), dan periode 1 menit:
speedbump --latency=100ms --sine-amplitude=100ms --sine-period=1m --port=2000 localhost:80 - Atau saat menjalankan speedbump menggunakan image container kffl/speedbump:
docker run --net=host kffl/speedbump:latest --latency=100ms --sine-amplitude=100ms \ --sine-period=1m --port=2000 localhost:80 - Membuat instans baru dengan latensi dasar 300ms, dan latensi gelombang gigi gergaji dengan amplitudo 200ms serta periode 2 menit seperti yang ditunjukkan pada grafik di bawah:
speedbump --latency=300ms --saw-amplitude=200ms --saw-period=2m --port=2000 localhost:80 - Dimungkinkan untuk menjalankan penjumlahan beberapa latensi secara bersamaan.
- Speedbump dapat digunakan sebagai pustaka Go melalui paket
lib.
Pendapat GN⁺:
- Speedbump adalah alat yang berguna untuk mensimulasikan latensi jaringan, dan dapat membantu menguji serta mengoptimalkan performa aplikasi berbasis jaringan.
- Karena ditulis dalam bahasa Go, alat ini terasa familier bagi para pengembang Go dan menyediakan kemampuan untuk dengan mudah mensimulasikan berbagai pola latensi.
- Bersifat open source dan mengikuti lisensi Apache 2.0, sehingga berpotensi terus ditingkatkan melalui kontribusi komunitas.
1 komentar
Komentar Hacker News
tc, dan ini juga berfungsi baik di container Docker. Kemungkinan sudah terpasang di banyak sistem.tc qdisc add dev eth0 root netem delay 100ms