netem e Network Link Conditioner su Windows
Su Linux c'è tc netem, su Mac c'è il Network Link Conditioner. Windows non ha nulla di integrato che aggiunga ritardo e perdita. Questa pagina traduce ciò che già conosci in Bean Network Tester e indica dove i numeri non si trasferiscono.
Le opzioni di netem, una alla volta
Aggiungi --target e --duration a ogni comando qui sotto, altrimenti agisce sull'intero computer.
| netem | Impostazione nella finestra | Flag |
|---|---|---|
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 |
- Perdita a raffiche. Il valore di correlazione di netem non è una lunghezza di raffica. Losses in a row (burst) è il numero medio di pacchetti persi di fila, l'equivalente più vicino.
- Riordinamento. Non esiste una percentuale di riordino. Un picco ritarda un solo pacchetto, così quelli inviati dopo lo superano, e il contatore dei riordinati nella pagina Statistics mostra se è successo davvero.
- Dimensione della coda. Il limit di netem conta pacchetti. Buffer è un tempo in millisecondi.
Tre differenze da conoscere
Direzione. netem ritarda ciò che esce da un'interfaccia, e la risposta torna intatta. Questo strumento cattura entrambe le direzioni, quindi --latency 100 aggiunge circa 200 ms a un ping: 100 all'andata e 100 al ritorno. Per ottenere ciò che fa netem, cattura solo il traffico in uscita:
BeanNetworkTester.exe --filter out --latency 100 --jitter 20 --target myapp.exe --duration 120
Unità. Una velocità in netem è in bit al secondo. I campi del limite di velocità sono in KB/s, con K = 1024. Conversione dei megabit:
| velocità in netem | Campo del limite di velocità, in KB/s |
|---|---|
1mbit | 122 |
5mbit | 610 |
10mbit | 1221 |
50mbit | 6104 |
100mbit | 12207 |
Ambito. tc modella un'intera interfaccia di rete e richiede root. Questo strumento punta a un solo programma con --target e richiede i diritti di amministratore.
Se conosci il Network Link Conditioner
Lo strumento di Apple lavora con profili con nome. I più vicini qui:
| Network Link Conditioner | Il più vicino qui |
|---|---|
| 100% Loss | Loss impostato a 100 |
| 3G | 3G network |
| DSL | Home DSL (VDSL) |
| LTE | LTE / 4G |
| WiFi | Good WiFi |
| Very Bad Network | Terrible network |
| Edge | Non c'è un profilo equivalente. Scrivi tu il limite di velocità e la latenza e conservali come profilo personale con il pulsante Save.... |
I numeri non sono quelli di Apple, quindi considera un profilo un punto di partenza. Ogni valore impostato da un profilo è elencato nella pagina di riferimento.
Cosa guadagni su Windows
- Un programma, non l'intero computer. Punta il degrado a una sola app mentre il resto della macchina resta normale.
- Una timeline al posto di uno script di shell. Gli scenari temporizzati cambiano le impostazioni a secondi stabiliti, ciò che su Linux fa uno script di
tcesleep. - Una pipeline può eseguirlo. Lo stesso eseguibile gira in CI e riferisce tramite codici di uscita.
Su Linux o macOS usa gli originali. Questo strumento funziona solo su Windows.