【问题标题】:why does delay decrease when running iperf with udp?为什么使用 udp 运行 iperf 时延迟会减少?
【发布时间】:2015-05-07 12:01:07
【问题描述】:

我试图展示排队效应如何随着时间的推移而延迟,因此我在从源向目标发送 iperf udp 流量的同时从源对目标执行 ping 操作。但我注意到,我从 ping 看到的延迟在 iperf 的持续时间内立即减少,这不是我所期望的。有人可以解释为什么会这样吗?注意:我还没有更改队列或任何其他设置

iperf 流量来源:

iperf -c destination -u -t 10 -b 10mb &

ping 的输出(注意 iperf 启动时突然减少,当 iperf 完成时再次增加)

64 bytes from Destination-link-1 (10.10.2.2): icmp_req=12 ttl=63 time=1.17 ms
64 bytes from Destination-link-1 (10.10.2.2): icmp_req=13 ttl=63 time=1.16 ms
64 bytes from Destination-link-1 (10.10.2.2): icmp_req=14 ttl=63 time=1.16 ms
64 bytes from Destination-link-1 (10.10.2.2): icmp_req=15 ttl=63 time=1.22 ms
64 bytes from Destination-link-1 (10.10.2.2): icmp_req=16 ttl=63 time=0.770 ms
64 bytes from Destination-link-1 (10.10.2.2): icmp_req=17 ttl=63 time=0.480 ms
64 bytes from Destination-link-1 (10.10.2.2): icmp_req=18 ttl=63 time=0.472 ms
64 bytes from Destination-link-1 (10.10.2.2): icmp_req=19 ttl=63 time=0.530 ms
64 bytes from Destination-link-1 (10.10.2.2): icmp_req=20 ttl=63 time=0.521 ms
64 bytes from Destination-link-1 (10.10.2.2): icmp_req=21 ttl=63 time=0.515 ms
64 bytes from Destination-link-1 (10.10.2.2): icmp_req=22 ttl=63 time=0.585 ms
64 bytes from Destination-link-1 (10.10.2.2): icmp_req=23 ttl=63 time=0.445 ms
64 bytes from Destination-link-1 (10.10.2.2): icmp_req=24 ttl=63 time=0.450 ms
64 bytes from Destination-link-1 (10.10.2.2): icmp_req=25 ttl=63 time=0.514 ms
64 bytes from Destination-link-1 (10.10.2.2): icmp_req=26 ttl=63 time=0.630 ms
64 bytes from Destination-link-1 (10.10.2.2): icmp_req=27 ttl=63 time=0.966 ms
64 bytes from Destination-link-1 (10.10.2.2): icmp_req=28 ttl=63 time=1.09 ms
64 bytes from Destination-link-1 (10.10.2.2): icmp_req=29 ttl=63 time=1.30 ms
64 bytes from Destination-link-1 (10.10.2.2): icmp_req=30 ttl=63 time=0.984 ms
64 bytes from Destination-link-1 (10.10.2.2): icmp_req=31 ttl=63 time=0.908 ms
64 bytes from Destination-link-1 (10.10.2.2): icmp_req=32 ttl=63 time=1.02 ms
64 bytes from Destination-link-1 (10.10.2.2): icmp_req=33 ttl=63 time=1.28 ms
64 bytes from Destination-link-1 (10.10.2.2): icmp_req=34 ttl=63 time=1.72 ms

【问题讨论】:

    标签: udp delay ping latency iperf


    【解决方案1】:

    一个假设是,运行 iperf 会使系统的某些组件(例如 NIC、CPU 等)持续处于唤醒状态。相反,当您只是运行 ping 时,这些组件可能会休眠或倾向于其他任务。唤醒 NIC 或中断 CPU 以使其服务 ping 可能需要一些时间,从而导致 ping 时间稍长。

    我在以不同间隔运行 ping 时看到了这种行为。在 1 Gbits/s 链路上,sudo ping <ip> -i 0.01 -c 1000(1000 次 ping 和 10 毫秒间隔)产生 0.235 毫秒的平均 ping 时间。我得到了类似的结果,间隔更大。但是,对于 1 毫秒或更短的时间间隔,我观察到平均 ping 时间为 0.099 毫秒。我相信由于上述原因,ping 之间的间隔越小,ping 时间就越短。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-08
      • 2018-03-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-11
      • 2019-05-25
      • 1970-01-01
      • 2018-04-10
      相关资源
      最近更新 更多