iperf 和 tcpdump 的丢包率

ste*_*ita 11 iperf tcpdump packetloss

我测试了一条线路的链接质量iperf。测得的速度(UDP 端口 9005)为 96Mbps,这很好,因为两台服务器都以 100Mbps 的速度连接到互联网。另一方面,数据报丢失率显示为 3.3-3.7%,我发现这有点太多了。使用高速传输协议,我用tcpdump. 比我计算的丢包率 - 平均 0.25%。有没有人解释一下,这个巨大的差异可能来自哪里?您认为可接受的丢包率是多少?

Jed*_*els 3

由于 CPU 无法跟上,我在 UDP 模式下使用 iPerf 时遇到了严重的数据丢失。由于某种原因,使用 UDP 的 iPerf 似乎比使用 TCP 的 iPerf需要 CPU 资源。当您将 iPerf 设置为一半时,您是否会遇到相同的损失百分比?

要回答关于多少数据包丢失是可以接受的第二个问题,这实际上取决于您正在运行的应用程序以及您有多少流量。实际上,如果您低于带宽限制,就不应该有任何损失。对于大多数情况,我可能不会对 0.25% 抱怨太多,但如果您以非常高的速率运行,这仍然是很大的损失。

[编辑1] 我对这个主题的一些其他想法:

  1. 尝试增加 iPerf 的速率。如果某个地方出现系统性问题,无论损失率是多少,您都可能会经历相同比例的损失。如果您处于硬件的极限,或者您的提供商执行了某种RED操作,那么在一定比率内可能不会有任何损失,然后损失会随着比率的升高而逐渐恶化。
  2. 对 iPerf 会话进行 tcpdump 测量,只是为了验证您的测试是否准确。
  3. 尝试使用 TCP 的 iPerf。这不会报告丢失,但如果出现丢失,那么连接将无法扩展得非常高。由于延迟也会影响这一点,因此请确保以尽可能少的延迟测试端点。
  4. 根据连接内部的设备,确保尽可能靠近它。例如,如果您的测试系统和边缘路由器之间有多个交换机,请移至直接连接的交换机。
  5. 如果您有托管交换机,请检查其统计信息以确保其中没有发生丢失。我遇到过一些更便宜的交换机,当您的 UDP 流量接近 100Mbps 时,这些交换机的性能就会开始下降(尽管大多数是老式且廉价的非托管交换机)。
  6. 尝试从两个不同的客户端到两个不同的主机同时使用 iPerf,这样您就可以确保限制不是由 CPU 或廉价的本地 NIC 卡造成的。