我正在尝试通过 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) 我有一个使用 Ubuntu Linux 的远程服务器,我想使用 PuTTY(plink) 从 Windows 机器与该服务器建立 SSH 隧道。我必须使用此方法来访问该服务器上的某些服务,因为防火墙阻止了该服务器上除 22 ssh 端口之外的所有端口。但是 SSH 隧道的连接速度非常慢。我已经使用 iperf 工具检查了速度。
以下是在不使用 SSH 隧道的情况下使用 iperf 的结果:
[ 5] local <remote_server_ip> port 5001 connected with <my_internet_ip> port 11154
[ ID] Interval Transfer Bandwidth
[ 5] 0.0-10.4 sec 5.12 MBytes 4.13 Mbits/sec
Run Code Online (Sandbox Code Playgroud)
这是通过 SSH 隧道使用 iperf 的结果:
[ 4] local 127.0.0.1 port 5001 connected with 127.0.0.1 port 38231
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-15.2 sec 896 KBytes 484 Kbits/sec
Run Code Online (Sandbox Code Playgroud)
速度确实不一样。这怎么可能?我应该做什么来修复它?
测量从 Windows 客户端到 Solaris 服务器的 TCP 输出:
使用 iperf 1.7.0 的 WXP SP3 --> 返回平均 90Mbit 左右
相同的客户端、相同的服务器,但用于 Windows 的 iperf 2.0.5 --> 返回平均 8.5 Mbit
连接到其他服务器时也观察到类似的差异(W2008、W2003)
当同一工具的不同版本提供截然不同的结果时,很难得出某些结论。
下面的例子:
C:\temp>iperf -v(来自 iperf.fr)
iperf 版本 2.0.5(2010 年 7 月 8 日)pthreadsC:\temp>iperf -c Solaris10
连接到Solaris10 的客户端,TCP 端口 5001
TCP 窗口大小:64.0 KByte(默认值)[ 3] 本地 10.172.181.159 端口 2124 与 10.172.180.209 端口 5001 连接
[ ID] 间隔传输带宽
[ 3] 0.0-10.2 秒 10.6 MBytes 8.74 Mbits/sec
性能糟糕,但现在我使用旧的iperf从同一主机(Windows XP SP3 32 位和 100Mbit)到同一服务器(运行 …
我试图限制一个简单的 iperf 服务器和客户端之间的带宽,使用第三台被动机器作为桥梁。在没有干扰的情况下,iperf 返回约 90 Mbits/sec 的带宽。我的目标是创建一个根 qdisc,将所有未分类的流量(所有内容)发送到子 HTB 类,在那里设置我的带宽,然后路由到叶 qdisc,一旦我开始工作,将在其中设置额外的 tc 参数。我的实现很简短:
sudo tc qdisc add dev $interface root handle 1: htb default 10
sudo tc class add dev $interface parent 1:0 classid 1:10 htb rate $bandwidth burst $burst
sudo tc qdisc add dev $interface parent 1:10 handle 10:0 netem #other stuff goes here
Run Code Online (Sandbox Code Playgroud)
当这个 bash 脚本在带有$interface = eth1, $bandwidth = 500kbps,的网桥上实现时$burst = 15k,我看到 iperf 带宽有所减少,但还没有接近规定值(通常约为 5Mbps)。
我的脚本中有错误吗?我是否滥用了突发变量?请帮忙。
更新:经过进一步调查,我发现这种流量控制在应用于与 SERVER 接口的以太网卡时工作正常,但是当将相同的命令应用于 CLIENT 端时会出现问题。当整个设置颠倒时也是如此。
这是一个在 ESXi 中困扰我很多时间的问题。我的旧戴尔服务器(ESXi 5.0 和 5.5)甚至我的新戴尔 T20(ESXi 5.5)都存在问题。对于当前的问题,我将只关注新的戴尔 T20 服务器,以避免混淆。
每当我尝试从 Windows 7 PC 向服务器上的任何 VM 上传内容时,我的速度都不会超过 3-5 MB/s。无论我是使用 Samba、SFTP、FTP 还是通过 vSphere 客户端上传 ISO。当我将文件从 VM 复制到我的 Windows 7 PC 时,我将获得大约 70-90 MB/s 的速度,这对我来说很好。
我将列出一些我认为可能有助于确定问题的信息。
net-e1000e-2.3.2.x86_64.vib来自 >此处< 的第 …我正在摆弄 socat,并尝试使用 socat 创建一个 TUN 设备,用于在两个 debianstretch 服务器之间建立隧道。然而,吞吐量似乎非常低,与本地主机上的 TCP/TCP-Listen 的 iperf 相比,TUN 的吞吐量大约低 5 个数量级。
这是一个“最小工作示例”,显示速度如何受到影响。
# socat
socat TUN:10.10.0.2/16,iff-up TCP4-LISTEN:54321,bind=192.168.1.2,fork
# iperf service
iperf -s -p 15001 -B 10.10.0.2
Run Code Online (Sandbox Code Playgroud)
# socat
socat TUN:10.10.0.1/16,iff-up TCP4:192.168.1.2:54321
# iperf
iperf -c 10.10.0.2 -p 15001 -t 30
Run Code Online (Sandbox Code Playgroud)
# socat
socat TCP4-LISTEN:12345,bind=192.168.1.2,fork TCP4:127.0.0.1:15001
# iperf service
iperf -s -p 15001 -B 127.0.0.1
Run Code Online (Sandbox Code Playgroud)
# socat
socat TCP4-LISTEN:54321,bind=127.0.0.1,fork TCP4:192.168.1.2:12345
# iperf
iperf -c 127.0.0.1 -p …Run Code Online (Sandbox Code Playgroud) 我正在使用 iperf 来测试我的带宽。但我不知道它是否显示了我的上传或下载速度。假设,我有两台 PC A 和 B。如果我想测试从 B 向 A 下载文件的速度,我应该在哪里运行服务器,即“iperf -s”?在 A 或 B 上?提前致谢。
我通过 1Gb LAN 上的 iperf 在两个 Ubuntu 服务器 (12.04) 之间传输数据。
iperf -s <-> iperf -c <addr> -n2G
TCP speed = 925 Mbits/sec
iperf -su <-> iperf -uc<addr> -b1G -n2G
UDP speed = 810 Mbits/sec
Jitter = 0.016 ms
Lost = 0 .. 0.01%
Run Code Online (Sandbox Code Playgroud)
我预计 UDP 比 TCP 快得多。谁能解释为什么 UDP 在 Ubuntu Server 上比 TCP 慢?
如何使用Ipfer3测试上传和下载速度,或者换句话说,下面给出的输出中哪些数据代表上传和下载速度?
Iperf3 输出

为了测试带宽,我可以使用 iperf 将数据从客户端推送到服务器。但是我可以将数据从服务器拉到客户端吗?这就像网络服务器,客户端请求数据,然后服务器将数据提供给客户端?
iperf ×10
tcp ×3
networking ×2
performance ×2
ubuntu ×2
udp ×2
bash ×1
htb ×1
intel ×1
linux ×1
multicast ×1
plink ×1
putty ×1
socat ×1
ssh-tunnel ×1
tc ×1
tun ×1
vmware-esxi ×1
windows ×1