我有两台计算机,它们通过以太网电缆连接,上面安装了 Ubuntu 22.04。我在计算机 A) 上有一个客户端,它正在向计算机 B) 上的服务器发送 UDP 数据包,我正在测量这些数据包在不同场景下的延迟和抖动。我使用套接字库用 C 编写了客户端和服务器的源代码。
当两台计算机之间在测量延迟的数据包之上还有额外的高带宽流量时,抖动和延迟比我发送没有额外流量的数据包时要小:
- 无额外流量的往返时间:0.556 毫秒
- 附加流量的往返时间:0.105 毫秒
- 无额外流量的抖动:0.042 毫秒
- 附加流量的抖动:0.014 毫秒
这看起来很有趣,因为我认为数据包越少意味着延迟和抖动越少,但结果却并非如此。有人能告诉我原因是什么吗?我怀疑这与缓冲区优化有关,当更多数据包到达时,必须更频繁地清空缓冲区,但我不确定。如果是这样,我该如何配置缓冲区以最大限度地减少延迟?