Simulate packet loss on Windows
Packet loss is the fault users describe as "it just hangs". You set a percentage, the tool throws away that share of the packets, and your app has to deal with it.
In the window
- Fill in Process so only your application is affected, not the whole machine.
- Set Loss to a percentage between 0 and 100. Start at 5.
- Press START and use the app.
The bar at the top of the window summarises what is running, and the Statistics tab counts the packets that were dropped.
From the command line
The same executable runs without the window. Five percent loss on one browser, for two minutes, then everything back to normal on its own:
BeanNetworkTester.exe --loss 5 --target chrome.exe --duration 120
Add --simulate to rehearse the command without touching real traffic.
What percentage to pick
| Loss | What it feels like |
|---|---|
| 1 percent | A good connection having a bad minute. Most apps hide it. |
| 5 percent | Weak wifi. Slow page loads, video drops quality. |
| 20 percent | A crowded cafe hotspot or a train tunnel. Timeouts start appearing. |
| 60 percent and up | Almost unusable. Good for finding the error message nobody ever tested. |
The ready profiles set this for you. "Weak WiFi", "Cafe (crowded WiFi)" and "3G network" all carry a loss figure along with delay and a speed limit.
Two things that surprise people
On TCP you may see nothing at all. TCP retransmits what it loses, so a download over HTTPS just gets slower instead of failing. If you want to see loss as loss, test something that runs over UDP: a voice call, a game, a video stream, or DNS.
Loss is random, so two runs differ. Set a seed and the same run repeats exactly, which is what turns "it broke once" into a bug report somebody else can reproduce:
BeanNetworkTester.exe --loss 20 --target myapp.exe --seed 42 --duration 60
Next
Loss on its own is rare. Real bad connections lose packets and add delay and run out of speed, which is what the profiles reproduce.