netem și Network Link Conditioner în Windows
În Linux există tc netem, iar pe Mac există Network Link Conditioner. Windows nu are nimic încorporat care să adauge întârziere și pierderi. Această pagină transpune ce știi deja în Bean Network Tester și arată unde cifrele nu se transferă.
Opțiunile netem, una câte una
Adaugă --target și --duration la fiecare comandă de aici, altfel afectează tot calculatorul.
| netem | Setarea din fereastră | Indicator |
|---|---|---|
delay 100ms | Latency | --latency 100 |
delay 100ms 20ms | Latency, Jitter | --latency 100 --jitter 20 |
loss 5% | Loss | --loss 5 |
loss 5% 25% | Loss, Losses in a row (burst) | --loss 5 --loss-burst 4 |
duplicate 1% | Duplication | --dup 1 |
corrupt 0.1% | Corruption | --corrupt 0.1 |
reorder 25% | Spike chance, Spike size | --spike-prob 5 --spike-ms 200 |
rate 1mbit | Download, Upload | --down 122 --up 122 |
limit 1000 | Buffer | --buffer 1000 |
- Pierderi în rafale. Valoarea de corelație din netem nu este o lungime de rafală. Losses in a row (burst) este numărul mediu de pachete pierdute la rând, cel mai apropiat echivalent.
- Reordonare. Nu există un procent de reordonare. Un vârf întârzie un singur pachet, astfel că cele trimise după el îl depășesc, iar contorul de pachete reordonate de pe pagina Statistics arată dacă s-a întâmplat cu adevărat.
- Dimensiunea cozii. limit din netem numără pachete. Buffer este un timp în milisecunde.
Trei deosebiri bune de știut
Direcția. netem întârzie ce părăsește o interfață, iar răspunsul se întoarce neatins. Acest instrument captează ambele direcții, deci --latency 100 adaugă aproximativ 200 ms la un ping: 100 la dus și 100 la întors. Ca să obții ce face netem, captează doar traficul de ieșire:
BeanNetworkTester.exe --filter out --latency 100 --jitter 20 --target myapp.exe --duration 120
Unități. O viteză netem este în biți pe secundă. Câmpurile limitei de viteză sunt în KB/s, cu K = 1024. Conversia megabiților:
| viteza netem | Câmpul limitei de viteză, în KB/s |
|---|---|
1mbit | 122 |
5mbit | 610 |
10mbit | 1221 |
50mbit | 6104 |
100mbit | 12207 |
Domeniu. tc modelează o întreagă interfață de rețea și cere root. Acest instrument țintește un singur program cu --target și cere drepturi de administrator.
Dacă știi Network Link Conditioner
Instrumentul Apple lucrează cu profiluri cu nume. Cele mai apropiate de aici:
| Network Link Conditioner | Cel mai apropiat de aici |
|---|---|
| 100% Loss | Loss setat la 100 |
| 3G | 3G network |
| DSL | Home DSL (VDSL) |
| LTE | LTE / 4G |
| WiFi | Good WiFi |
| Very Bad Network | Terrible network |
| Edge | Nu există un profil echivalent. Scrie tu limita de viteză și latența, apoi păstrează-le ca profil propriu cu butonul Save.... |
Cifrele nu sunt ale Apple, deci tratează un profil ca punct de plecare. Fiecare valoare pe care o setează un profil este listată pe pagina de referință.
Ce câștigi în Windows
- Un program, nu tot calculatorul. Țintește degradarea spre o singură aplicație, în timp ce restul mașinii rămâne normal.
- O axă a timpului în loc de un script shell. Scenariile cronometrate schimbă setările la secunde stabilite, ceea ce face în Linux un script din
tcșisleep. - Un pipeline îl poate rula. Același executabil rulează în CI și raportează prin coduri de ieșire.
În Linux sau macOS folosește originalele. Acest instrument rulează doar în Windows.