EmuLabZip logo EmuLabZip

网络条件

最后更新 · 在 GitHub 上编辑此页

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

Network 中的网络条件菜单,已选择 Slow 3G

在 Network 中,Network 按钮可以选择一个预设或你自己的数值,更改会立即生效,对已经打开的连接也是如此。徽标会显示当前生效的内容。

预设下载上传延迟其他
Fast 3G1,440 kb/s675 kb/s150 ms
Slow 3G500 kb/s500 kb/s400 ms
Slow Wi-Fi2,000 kb/s1,000 kb/s80 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,请把它关闭,才能看到应用变慢。

代理停止后再次启动时,这些条件会保留,应用退出时则会被忘记。