2026/7/24 20:09:00

网络性能测试工具-Iperf、speedtest,测试两台电脑之间的网速-iperf3

网络性能测试工具-Iperf、speedtest,测试两台电脑之间的网速-iperf3 iperfiperf官方网站链接iPerf - Download iPerf3 and original iPerf pre-compiled binarieshttps://iperf.fr/iperf-download.phpiperf详细使用方法iperf详细使用方法_peijian1998的专栏-CSDN博客_iperf使用方法Iperf 是一个网络性能测试工具。Iperf可以测试TCP和UDP带宽质量。Iperf可以测量最大TCP带宽具有多种参数和UDP特性。Iperf可以报告带宽延迟抖动和数据包丢失。 Iperf使用方法与参数说明 参数说明 -s 以server模式启动egiperf -s -c host 以client模式启动host是server端地址egiperf -c 222.https://blog.csdn.net/peijian1998/article/details/26563957补充1iperf是一个网络性能测试工具它可以测试 TCP 和 UDP 带宽质量可以测量最大 TCP 带宽 具有多种参数和 UDP 特性可以报告带宽延迟抖动和数据包丢失。利用 iperf 这一特性可以用来 测试一些网络设备如路由器防火墙交换机等的性能。 Debian 系的发行版可以使用如下命令安装 IPerf $ sudo apt install iperf 这个工具不仅仅在 Linux 系统下可以用在 Mac 和 Windows 系统同样可以使用。 如果你想测试网络带宽则需要两台电脑。这两台电脑需要处于同样的网络一台作为服务器另一 台作为客户机并且二者必须都要安装 IPerf。 可以通过如下命令获取服务器的 IP 地址 $ ip addr show | grep inet.*brd inet 192.168.242.128/24 brd 192.168.242.255 scope global dynamic noprefixr oute enp33s 我们知道在局域网里我们的 ipv4 地址一般是以 192.168 开头的。运行以上命令之后我们 需要记下服务器的地址后面会用到。 之后我们再在服务器上启动 iperf 工具 $ iperf -s 然后我们就可以等待客户机的接入了。客户机可以使用以下命令来连上服务器 $ iperf -c 192.168.242.128 通过几秒钟的测试它就会返回网络传输速率及带宽。 ubuntu 下 deb 包安装软件步骤 sudo dpkg -i xxx.deb 卸载 dpkg -e 可以直接在线安装 sudo dpkg -i iperf.deb iperf.deb 服务器iperf3 -s 客户端iperf3 -c 服务端IP -n传输字节 1000000(1G) -t 60 (60s)补充2第一部分 用法 下面是命令的用法。 单播模式 TCP 的情况 服务器 $ iperf -s 客户端 $ iperf -c 接收端主机名或接收端的IP地址 例 1测试 TCP 通信的最大速率。 $ iperf -c 192.168.1.100 例 2使用 TCP 发送 100 兆字节的数据 $ iperf -c 目标地址 -l 100M UDP 的情况 服务器 plaintext $ iperf -s -u 客户端 $ iperf -c 192.168.1.100 -u -b 传输带宽 -t 测量时间[秒] -i 间隔 例 1以 UDP 方式向 192.168.1.100 传送 60 秒的 10M 的数据流。每间隔两秒钟输出报告结果。 $ iperf -c 192.168.1.100 -u -b 10M -t 60 -i 2 例 2以 UDP 方式向 192.1.100 传送 60 秒的 10M 的双向数据流。 $ iperf -c 192.168.1.100 -u -b 10M -t 60 -i 2 -d 例 3以 UDP 方式向 192.1.100 传送 60 秒的 10M 的 3 路双向数据流。 $ iperf -c 192.168.1.100 -u -b 10M -t 60 -i 2 -P 3 第二部分 Ubuntu 下 iperf 的安装 下载网址https://iperf.fr/iperf-download.php#ubuntu 64 位机子 Ubuntu 64 bits / Debian 64 bits / Mint 64 bits (AMD64) sudo apt-get remove iperf3 libiperf0 wget https://iperf.fr/download/ubuntu/libiperf0_3.1.3-1_amd64.deb wget https://iperf.fr/download/ubuntu/iperf3_3.1.3-1_amd64.deb 也可前往浏览器下载下载后的文件保存在 Downloads 中 cd ./Downloads sudo dpkg -i libiperf0_3.1.3-1_amd64.deb iperf3_3.1.3-1_amd64.deb (可能出现问题dpkg: error: dpkg status database is locked by another process 解决办法sudo rm -rf /var/lib/dpkg/lock ) rm libiperf0_3.1.3-1_amd64.deb iperf3_3.1.3-1_amd64.deb 常用参数说明 -t 时间 单位 s -u UDP -b 设置 UDP 带宽-b -M MTU -4 ipv4 -i 报告间隔-i -p 设置端口-p -W 设置套接字缓冲区大小-w 第三部分 3、TCP 客户端和服务器 iperf 需要两个系统因为一个系统必须充当服务端另外一个系统充当客户端客户端连接到需要测试速度的服务端。 3.1 在需要测试的两台电脑上以服务器模式启动 iperf # iperf -s Server listening on TCP port 5001 TCP window size: 85.3 Kbyte (default) 3.2 在第二台电脑上以客户端模式启动 iperf 连接到第一台电脑替换 198.51.100.5 为本地电脑的 ip 地址 # iperf -c 198.51.100.5 Client connecting to 198.51.100.5, TCP port 5001 TCP window size: 45.0 Kbyte (default) [ 3] local 198.51.100.6 port 50816 connected with 198.51.100.5 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.1 sec 1.27 Gbytes 1.08 Gbits/sec 3.3 这时可以在第一步中的服务端终端看到连接和结果 Server listening on TCP port 5001 TCP window size: 85.3 Kbyte (default) [ 4] local 198.51.100.5 port 5001 connected with 198.51.100.6 port 50816 [ ID] Interval Transfer Bandwidth [ 4] 0.0-10.1 sec 1.27 Gbytes 1.08 Gbits/sec 注 要停止 iperf 服务进程请按 CTRLc 4、UDP 客户端和服务器 使用 iperf还可以测试通过 UDP 连接实现的最大吞吐量这里我用两台 linux 服务器做实验。 4.1 启动 UDP iperf 服务 [rootdocker-02 ~]# iperf -s -u Server listening on UDP port 5001 Receiving 1470byte datagrams UDP buffer size: 0.00 Mbyte (default) 4.2 将客户端连接到 iperf UDP 服务器 [rootdocker-02 ~]# iperf -c 172.17.120.50 -u Client connecting to 172.17.120.50, UDP port 5001 Sending 1470byte datagrams, IPG target: 11215.21 us (kalman adjust) UDP buffer size: 8.00 MByte (default) [ 3] local 172.17.120.51 port 41017 connected with 172.17.120.50 port 5001 read failed: Connection refused [ 3] WARNING: did not receive ack of last datagram after 1tries. [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 1.25 MBytes 1.05 Mbits/sec [ 3] Sent 892datagrams 注 1.05Mbits/sec 远低于 TCP 测试中观察到的值它也远远低于 1GB 的最大出站带宽上限这是因为默认情况下iperf 将 UDP 客户端的贷款限制为每秒 1Mbit。 可以用 - b 标志更改此值将数字替换为要测试的最大带宽速率。如果需要测试网络速度可以将数字设置为高于网络提供商提供的最大带宽上线 [rootdocker-02 ~]# iperf -c 172.17.120.50 -u -b 1000m Client connecting to 172.17.120.50, UDP port 5001 Sending 1470byte datagrams, IPG target: 11.76 us (kalman adjust) UDP buffer size: 8.00 MByte (default) [ 3] local 172.17.120.51 port 46870 connected with 172.17.120.50 port 5001 read failed: Connection refused [ 3] WARNING: did not receive ack of last datagram after 5tries. [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 1.16 GBytes 1000Mbits/sec [ 3] Sent 850341datagrams 注 这将告诉客户端我们希望尽可能达到每秒 1000Mbits 的最大值该 - b 标志仅在使用 UDP 连接时有效因为 iperf 未在 TCP 客户端上设置带宽限制。 5、双向测试 在某些情况下可能希望测试两台服务器以获得最大吞吐量。使用 iperf 提供的内置双向测试功能可以轻松完成此测试。 5.1 要测试两个连接从客户端运行一下命令替换 ip 为服务端 ip 地址 #iperf -c 198.51.100.5 -d Server listening on TCP port 5001 TCP window size: 85.3 KByte (default) Client connecting to 198.51.100.5, TCP port 5001 TCP window size: 351KByte (default) [ 3] local 198.51.100.6 port 50618connected with 198.51.100.5 port 5001 [ 5] local 198.51.100.6 port 5001connected with 198.51.100.5 port 58650 [ ID] Interval Transfer Bandwidth [ 5] 0.0-10.1 sec 1.27 GBytes 1.08 Gbits/sec [ 3] 0.0-10.2 sec 1.28 GBytes 1.08 Gbits/sec 注 结果是 iperf 将在客户端服务器上启动服务器和客户端 (198.51.100.6) 连接。完成此操作后iperf 会将 iperf 服务器连接到客户端该连接现在既充当服务器连接又充当客户端连接。 5.2 在服务器是哪个可以看到 Client connecting to 198.51.100.6, TCP port 5001 TCP window size: 153KByte (default) [ 6] local 198.51.100.5 port 58650connected with 198.51.100.6 port 5001 [ 6] 0.0-10.1 sec 1.27 GBytes 1.08 Gbits/sec [ 5] 0.0-10.2 sec 1.28 GBytes 1.08 Gbits/sec 6、常用选项 表格 选项 描述 -F 更改运行测试的格式。例如您可以使用 - f k 以每秒 Kbits 而不是每秒 Mbits 的速度获得结果。有效选项包括 mMbits默认kKbitsKKBytes和 MMBytes。 -V 强制 Iperf 使用 IPv6 而不是 IPv4。 -i 更改带宽测试之间的间隔。例如-i 60 将每 60 秒生成一个新的带宽报告。默认值为零执行一次带宽测试。 -p 更改端口。未指定时默认端口为 5001. 您必须在客户端和服务器上都使用此标志。 -B 将 Iperf 绑定到特定的接口或地址。如果通过 server 命令传递则将设置传入接口。如果通过 client 命令传递则将设置传出接口。iperf使用方法windows版Iperf使用方法Windows版 - 晨起的太阳 - 博客园https://www.cnblogs.com/linyu51/p/14133379.htmlspeedtestspeedtest是一个更加知名的工具。它是用 Python 写成的可以使用apt或pip命令来安装。你可以在命令行下使用也可以直接将其导入到你的 Python 项目。安装方式$ sudo apt install speedtest-cli 或者 $ sudo pip3 install speedtest-cli使用的时候可以直接运行 speedtest 命令即可$ speedtest Retrieving speedtest.net configuration... Testing from Tencent cloud computing (140.143.139.14)... Retrieving speedtest.net server list... Selecting best server based on ping... Hosted by Henan CMCC 5G (Zhengzhou) [9.69 km]: 28.288 ms Testing download speed................................................................................ Download: 56.20 Mbit/s Testing upload speed...................................................................................................... Upload: 1.03 Mbit/s从运行结果可以看出speedtest命令将直接提供上传 / 下载速率测试的过程也是挺快的。你可以编写一个脚本来调用这个命令然后定期进行网络测试并在结果保存在一个文件或数据库这样你就可以实时跟踪你的网络状态。测试两台电脑之间的网速-iperf3转载Ubuntu 测试两台电脑之间的网速_ubuntu ping ip延时高-CSDN博客https://blog.csdn.net/qq_38649880/article/details/118523720?ops_request_miscelastic_search_miscrequest_id29858e44501b064fe199b4ac93b837f8biz_id0utm_mediumdistribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-118523720-null-null.142^v102^pc_search_result_base9utm_termUbuntu%E6%B5%8B%E8%AF%95%E4%B8%A4%E5%8F%B0%E7%94%B5%E8%84%91%E4%B9%8B%E9%97%B4%E7%9A%84%E7%BD%91%E9%80%9Fspm1018.2226.3001.4187未完待续。。。