netem i Network Link Conditioner w Windows
W Linuksie jest tc netem, a na Macu Network Link Conditioner. Windows nie ma niczego wbudowanego, co dodaje opóźnienie i utratę pakietów. Ta strona przekłada to, co już znasz, na Bean Network Tester i wskazuje, gdzie liczby się nie przenoszą.
Opcje netem, jedna po drugiej
Do każdego polecenia tutaj dodaj --target i --duration, bo inaczej zadziała na cały komputer.
| netem | Ustawienie w oknie | Flaga |
|---|---|---|
delay 100ms | Latencja | --latency 100 |
delay 100ms 20ms | Latencja, Jitter | --latency 100 --jitter 20 |
loss 5% | Utrata | --loss 5 |
loss 5% 25% | Utrata, Straty pod rząd (burst) | --loss 5 --loss-burst 4 |
duplicate 1% | Duplikacja | --dup 1 |
corrupt 0.1% | Uszkodzenie | --corrupt 0.1 |
reorder 25% | Szansa skoku, Wielkość skoku | --spike-prob 5 --spike-ms 200 |
rate 1mbit | Pobieranie, Wysyłanie | --down 122 --up 122 |
limit 1000 | Bufor | --buffer 1000 |
- Utrata seriami. Wartość korelacji w netem to nie długość serii. Straty pod rząd (burst) to średnia liczba pakietów gubionych z rzędu, czyli najbliższy odpowiednik.
- Zmiana kolejności. Nie ma procentu przestawiania. Skok opóźnia pojedynczy pakiet, więc te wysłane po nim go wyprzedzają, a licznik przestawionych pakietów na stronie Statystyki pokazuje, czy tak się naprawdę stało.
- Rozmiar kolejki. Limit w netem liczy pakiety. Bufor to czas w milisekundach.
Trzy różnice, o których warto wiedzieć
Kierunek. netem opóźnia to, co opuszcza interfejs, a odpowiedź wraca nietknięta. To narzędzie przechwytuje oba kierunki, więc --latency 100 dodaje do pingu około 200 ms: 100 w jedną stronę i 100 z powrotem. Aby uzyskać to, co robi netem, przechwytuj tylko ruch wychodzący:
BeanNetworkTester.exe --filter out --latency 100 --jitter 20 --target myapp.exe --duration 120
Jednostki. Szybkość w netem podaje się w bitach na sekundę. Pola limitu prędkości są w KB/s, gdzie K = 1024. Przeliczenie megabitów:
| szybkość w netem | Pole limitu prędkości, w KB/s |
|---|---|
1mbit | 122 |
5mbit | 610 |
10mbit | 1221 |
50mbit | 6104 |
100mbit | 12207 |
Zasięg. tc kształtuje cały interfejs sieciowy i wymaga roota. To narzędzie celuje w jeden program przez --target i wymaga uprawnień administratora.
Jeśli znasz Network Link Conditioner
Narzędzie Apple'a działa na nazwanych profilach. Najbliższe tutaj:
| Network Link Conditioner | Najbliższy tutaj |
|---|---|
| 100% Loss | Utrata ustawione na 100 |
| 3G | Sieć 3G |
| DSL | DSL domowy (VDSL) |
| LTE | Sieć LTE / 4G |
| WiFi | Dobre WiFi |
| Very Bad Network | Fatalna sieć |
| Edge | Brak odpowiednika. Wpisz sam limit prędkości i opóźnienie, a potem zachowaj je jako własny profil przyciskiem Zapisz.... |
Liczby nie są Apple'a, więc traktuj profil jako punkt wyjścia. Każda wartość ustawiana przez profil jest wypisana na stronie z tabelami.
Co zyskujesz w Windows
- Jeden program, nie cały komputer. Wyceluj zakłócenia w jedną aplikację, a reszta maszyny działa normalnie.
- Linia czasu zamiast skryptu powłoki. Scenariusze w czasie zmieniają ustawienia w zadanych sekundach, czyli robią to, co skrypt z
tcisleepw Linuksie. - Potok może to uruchomić. Ten sam plik wykonywalny działa w CI i raportuje kodami wyjścia.
W Linuksie albo na macOS używaj oryginałów. To narzędzie działa tylko w Windows.