提问人:Archonic 提问时间:12/13/2022 更新时间:12/13/2022 访问量:56
在 UDP 速度测试中添加哪怕是微小的发送延迟,也会使其速度慢 100 倍
Adding even tiny send delay to a UDP speed test makes it 100x slower
问:
我目前正在尝试比较 TCP 和 UDP 的速度,以用于科学项目。我通过本地网络(目前仅在一台计算机上)发送 10000 个数据包,每个数据包 100 字节,并测量接收 10000 个数据包所需的时间(客户端)。我让我的程序工作,但是,TCP 看起来比 UDP 快得多,这不应该是这个实验的情况(尽管这是一个实验,所以从技术上讲,这些结果可能是有效的......
我通过计算发送的 UDP 数据包数量,然后将它们与接收的数据包数量进行比较来调查该问题。结果证明这是令人震惊的,因为我发现发送了 3000+ 个数据包,但客户端没有收到。为了解决这个问题,我尝试为每个 UDP 数据包发送添加一个短延迟(1 毫秒)(仅限服务器端),但后来发现该延迟(非常令人沮丧)将总传输时间缩短了近 100 倍。然后,我将延迟减少到大约12纳秒,并发现了相同的效果(再次让我懊恼)。我希望这次延迟能给客户一些时间赶上......不要神秘地将我的代码减慢 100 倍!!
答: 暂无答案
评论
sleep