网络条件
测试应用如何应对缓慢、高延迟、丢包或断开的网络。代理位于设备发送的一切内容的中间,因此可以塑造链路。

在 Network 中,Network 按钮可以选择一个预设或你自己的数值,更改会立即生效,对已经打开的连接也是如此。徽标会显示当前生效的内容。
| 预设 | 下载 | 上传 | 延迟 | 其他 |
|---|---|---|---|---|
| Fast 3G | 1,440 kb/s | 675 kb/s | 150 ms | |
| Slow 3G | 500 kb/s | 500 kb/s | 400 ms | |
| Slow Wi-Fi | 2,000 kb/s | 1,000 kb/s | 80 ms | |
| High latency | 无限制 | 无限制 | 600 ms | |
| Packet loss | 无限制 | 无限制 | 无 | 5% 的流量会停滞 |
| Offline | 无连接 |
emulabzip net --conditions slow-3g
emulabzip net --down 400 --latency 100 # numbers of your own, or on top of a preset
emulabzip net --conditions offline
--down 和 --up 的单位是千比特每秒,--latency 的单位是毫秒,--loss 的单位是百分比。
各项的作用#
- 速度限制字节在每个方向上的传输速度,按均匀的步长进行。
- 延迟会加到设备接收的内容上,在每次停顿之后的每一批数据加一次。它代表往返时间。
- 丢包无法真正丢失数据包:重传由设备自己的 TCP 完成。它会时不时让一批数据停滞大约一个重传超时的时间,停滞的概率随这批数据的大小而增加,这正是应用能感受到的。
- Offline 会拒绝新的连接,并在已打开的连接下一次传输字节时切断它们,因此应用会看到网络错误。选择 No limits 可以恢复一切。
它适用于所有经过代理的内容:被解密的请求和被原样放行的连接。HTTP/3 通过 UDP 使用 QUIC,不会经过这条链路:如果开启了 HTTP/3,请把它关闭,才能看到应用变慢。
代理停止后再次启动时,这些条件会保留,应用退出时则会被忘记。