This is the standard recommendation for 3G throttling:
These exact figures are used as the WebPageTest “Mobile 3G - Fast” preset and Lighthouse’s throttling default.
If you want to use more accurate throttling, read on.
This Performance Calendar article, Testing with Realistic Networking Conditions, has a good explanation of packet-level traffic shaping (which applies across TCP/UDP/ICMP) and recommendations.
comcast
for network throttlingThe comcast
Go package appears to be the most usable Mac/Linux commandline app for managing your network connection. Important to note: it changes your entire machine’s network interface. Also, comcast
requires sudo
(as all packet-level shapers do).
Windows? As of today, there is no single cross-platform tool for throttling. But there are two recommended Windows-specific network shaping utilities: WinShaper and Clumsy.
comcast
set up# Install with go
go get github.com/tylertreat/comcast
# Ensure your $GOPATH/bin is in your $PATH (https://github.com/golang/go/wiki/GOPATH)
# To use the recommended throttling values:
comcast --latency=150 --target-bw=1600 --dry-run
# To disable throttling
# comcast --stop
Currently, comcast
will also throttle the websocket port that Lighthouse uses to connect to Chrome. This isn’t a big problem but mostly means that receiving the trace from the browser takes significantly more time. Also, comcast
doesn’t support a separate uplink throughput.
comcast
# Enable system traffic throttling
comcast --latency=150 --target-bw=1600
# Run Lighthouse with it's own throttling disabled
lighthouse --disable-network-throttling # ...
# Disable the traffic throttling once you see "Retrieving trace"
comcast --stop