iperf
iperf官方网站链接:iPerf - Download iPerf3 and original iPerf pre-compiled binarieshttps://iperf.fr/iperf-download.php
iperf详细使用方法:iperf详细使用方法_peijian1998的专栏-CSDN博客_iperf使用方法Iperf 是一个网络性能测试工具。Iperf可以测试TCP和UDP带宽质量。Iperf可以测量最大TCP带宽,具有多种参数和UDP特性。Iperf可以报告带宽,延迟抖动和数据包丢失。 Iperf使用方法与参数说明 参数说明 -s 以server模式启动,eg:iperf -s -c host 以client模式启动,host是server端地址,eg:iperf -c 222.https://blog.csdn.net/peijian1998/article/details/26563957
补充1:
iperf是一个网络性能测试工具,它可以测试 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 服务进程,请按 CTRL+c 4、UDP 客户端和服务器 使用 iperf,还可以测试通过 UDP 连接实现的最大吞吐量,这里我用两台 linux 服务器做实验。 4.1 启动 UDP iperf 服务 [root@docker-02 ~]# iperf -s -u Server listening on UDP port 5001 Receiving 1470byte datagrams UDP buffer size: 0.00 Mbyte (default) 4.2 将客户端连接到 iperf UDP 服务器 [root@docker-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 标志更改此值,将数字替换为要测试的最大带宽速率。如果需要测试网络速度,可以将数字设置为高于网络提供商提供的最大带宽上线: [root@docker-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 的速度获得结果。有效选项包括 m(Mbits,默认),k(Kbits),K(KBytes)和 M(MBytes)。 -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.html
speedtest
speedtest是一个更加知名的工具。它是用 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_misc=elastic_search_misc&request_id=29858e44501b064fe199b4ac93b837f8&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-118523720-null-null.142^v102^pc_search_result_base9&utm_term=Ubuntu%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%9F&spm=1018.2226.3001.4187
未完待续。。。