标签: iperf

UDP 丢包率达 300Mbit (14%),但 TCP > 800Mbit 无重传

我有一个用作iperf3客户端的 linux机器,用 Broadcom BCM5721、1Gb 适配器(2 个端口,但只有 1 个用于测试)测试了 2 个配备相同的 Windows 2012 R2 服务器盒。所有机器都通过一个 1Gb 交换机连接。

在例如 300Mbit 测试 UDP

iperf3 -uZVc 192.168.30.161 -b300m -t5 --get-server-output -l8192
Run Code Online (Sandbox Code Playgroud)

导致发送的所有数据包丢失 14%(对于具有完全相同硬件但较旧的 NIC 驱动程序的其他服务器盒,丢失约为 2%),但即使在 50Mbit 时也会发生丢失,尽管不那么严重。使用等效设置的 TCP 性能:

iperf3 -ZVc 192.168.30.161 -t5 --get-server-output -l8192
Run Code Online (Sandbox Code Playgroud)

产生800Mbit以北的传输速度,没有报告重传。

服务器始终使用以下选项启动:

iperf3 -sB192.168.30.161
Run Code Online (Sandbox Code Playgroud)

谁的错?

  1. linux 客户端(硬件?驱动程序?设置?)? 编辑:我刚刚从一个 Windows 服务器盒运行测试到另一个和 300Mbit 的 UDP 数据包丢失甚至更高,为 22%
  2. Windows 服务器盒(硬件?驱动程序?设置?)?
  3. 连接所有测试机的(单个)开关?
  4. 电缆?

编辑:

现在我尝试了另一个方向:Windows -> Linux。结果:丢包率始终为 0,而吞吐量最大约为

  • 840Mbit 用于-l8192,即分片的 IP 数据包
  • 250Mbit 用于-l1472未分片的 …

performance iperf tcp udp packetloss

12
推荐指数
2
解决办法
3万
查看次数

iperf 和 tcpdump 的丢包率

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

iperf tcpdump packetloss

11
推荐指数
1
解决办法
2万
查看次数

Iperf CSV 输出格式

如果我使用带有 -y C 和 -r 参数的 iperf 来测试双向传输并将其导出为 CSV。

我得到了一些输出,但问题是我不知道列名是什么。例如它显示了三行数据,但我不知道哪些对应于发送,哪些对应于接收。

我可以猜到其他列,但我宁愿确定。

我在任何地方都找不到这个文件!

iperf

11
推荐指数
2
解决办法
2万
查看次数

iperf 连接失败:连接被拒绝

iperf -c 192.168.3.2 -i 2
connect failed: Connection refused

3.2是另一台机器。我认为该端口可能被阻止。

我怎样才能使这项工作?

linux iperf failed

9
推荐指数
3
解决办法
12万
查看次数

如何以UDP模式启动iperf3服务器?

我想测试 UDP 连接iperf3,但不知道如何在 UDP 服务器模式下启动它。

iperf3 -s只打开一个 TCP 套接字:

root@srv ~# lsof -i -P | grep iperf3
iperf3    21030            root    3u  IPv4 15606995      0t0  TCP *:5201 (LISTEN)
Run Code Online (Sandbox Code Playgroud)

bandwidth iperf udp

8
推荐指数
1
解决办法
6万
查看次数

为 win32 预编译 Iperf 2.x 二进制文件?

我想使用Iperf在 Windows 上进行一些网络测试。sourceforge 上的最新版本似乎是 2.0.4。但是,它仅可用作要编译的源。我试图在谷歌上搜索预编译版本,但我只能找到一些指向 1.x 内容的链接。

诚然,我发现的 1.x 版本似乎确实有效,我可能会继续使用它而不会出现问题。但是我很想说我需要最新版本并设置构建 VM 并处理不可避免的编译问题听起来并不有趣。所以我想我会在这里问是否有人知道在哪里可以找到适用于 Windows 的预编译 Iperf 2.x 二进制文件。

windows iperf

7
推荐指数
1
解决办法
1万
查看次数

增加出站 TCP 连接数

我正在为 websockets 开发一个小型测试客户端。我正在使用 Ubuntu 11.04 。我已阅读 /sf/ask/28743151/并且我已完成以下操作

sudo sysctl -w  net.ipv4.tcp_fin_timeout=10 
sysctl -w net.ipv4.ip_local_port_range="1024 65535" 
Run Code Online (Sandbox Code Playgroud)

据我了解,这些是用于入站连接而不是出站连接。

当我打字

ulimit -n
unlimited
Run Code Online (Sandbox Code Playgroud)

我的客户端和服务器运行在不同的机器上。即使有了上述所有内容,我也无法从一个盒子跨越 1000 个以上的连接。如果有不同的提示,请告诉我

回答 我通过输入 ulimit -a 来显示所有内核限制。

ulimit -n 
unlimited 
Run Code Online (Sandbox Code Playgroud)

尽管

ulimit -a 
Run Code Online (Sandbox Code Playgroud)

将 nofile 的值返回为 1024。我在/etc/security/limits.conf文件中设置了以下格式的限制

 <user> soft nofile 8192 
 <user> hard nofile 65000 
Run Code Online (Sandbox Code Playgroud)

对用户有用的东西

linux iperf tcp node.js

7
推荐指数
1
解决办法
1万
查看次数

在同一台计算机上从一个接口到另一个接口的 Iperf?

我需要测试服务器与自身之间的网络吞吐量(这是一个很长的故事!)。

我喜欢 Iperf 并在整个网络中使用它,但是,我无法弄清楚如何将它绑定到单个接口并且只能通过它进行侦听。

从文档中,我认为这会起作用:iperf -B eth0 -s 将一个实例绑定到 eth0,然后在另一个会话中:iperf -B eth1 -c ip.of.eth.1。

这根本不起作用,实际上失败了。如果我使用 ip 而不是接口,它确实可以工作,但是,吞吐量为 29Gb/s - 所以,除非我有一个带有 30Gb/s 卡的超级服务器发生了什么神奇的事情,我猜我我什至没有接触网络,这只是在本地进行。

任何人都可以在这里帮助我,或者知道更好的测试/工具吗?

networking ubuntu iperf test

7
推荐指数
1
解决办法
3万
查看次数

测量覆盖网络性能的正确方法

我目前正在检查不同 Docker 覆盖网络的性能(尤其是 UDP 吞吐量)。为此,我在与 Docker 覆盖网络连接的两台主机之间创建点对点连接,然后iperf在 Docker 容器内运行以检查吞吐量。我注意到每次我iperf作为客户端运行向iperf作为服务器运行的另一个容器发送数据时,客户端主机的CPU使用率达到100%。我通过运行在此处找到的以下命令获得了该结果:

top -bn1 | grep "Cpu(s)" | \
       sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | \
       awk '{print 100 - $1"%"}'
Run Code Online (Sandbox Code Playgroud)

因此,对我而言,吞吐量测试的限制因素似乎是主机的 CPU 容量,因为它以 100% 的速度运行并且无法产生更多流量来使网络连接饱和。我想知道这是否是一个iperf特定问题,所以我想使用不同的工具运行相同的测试,但不确定哪种替代方案最好。主机正在运行 Ubuntu。例如,我发现qperf,uperfnetpipe

此外,更一般地说,我开始想知道吞吐量性能的瓶颈通常是什么。它不总是与CPU容量或链路带宽有关吗?哪些因素与覆盖网络没有直接关系。

这是否意味着应用程序(或覆盖网络)的吞吐量仅取决于它需要多少 CPU 周期来传输一定数量的数据以及它如何压缩它以适应它通过网络(如果这将是瓶颈)。

iperf linux-networking cpu-usage stress-testing docker

7
推荐指数
1
解决办法
655
查看次数

iperf max udp 多播性能达到 10Mbit/s 的峰值?

我正在尝试通过 iperf 测试 UDP 多播吞吐量,但它似乎没有从我的开发机器发送超过 10Mbit/s:

C:\> iperf -c 224.0.166.111 -u -T 1 -t 100 -i 1 -b 1000000000
------------------------------------------------------------
Client connecting to 224.0.166.111, UDP port 5001
Sending 1470 byte datagrams
Setting multicast TTL to 1
UDP buffer size: 8.00 KByte (default)
------------------------------------------------------------
[156] local 192.168.1.99 port 49693 connected with 224.0.166.111 port 5001
[ ID] Interval       Transfer     Bandwidth
[156]  0.0- 1.0 sec  1.22 MBytes  10.2 Mbits/sec
[156]  1.0- 2.0 sec  1.14 MBytes  9.57 Mbits/sec
[156]  2.0- 3.0 sec  1.14 MBytes …
Run Code Online (Sandbox Code Playgroud)

multicast iperf udp

6
推荐指数
1
解决办法
3281
查看次数