linux环境下iperf3测试网口速率

这篇博客详细介绍了在Ubuntu 20.04环境下如何安装iperf3,并通过TCP和UDP进行带宽测试,包括上行和下行,同时解读了iperf3的各项关键参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ubuntu20.04 安装iperf3

sudo apt-get install iperf3

测试环境建立

需要两台linux设备

设备1(服务端):192.168.0.112

设备2(客户端):192.168.0.113

tcp通信测试

在设备1(服务端)执行如下命令开启服务

iperf3 -s

tcp上行测试:在设备2(客户端)输入如下指令

iperf3 -c 192.168.0.112 -i 1 -l 64B -t 10
#作为客户端,连接服务端ip地址192.168.0.112,报告回显间隔1s,测试时间10s,包长64字节。

结果如下:

 我们可以看到包长64字节iperf3测试1口的上行带宽为153 Mbits/sec。

tcp下行测试:在设备2(客户端)输入如下指令

iperf3 -c 192.168.0.112 -i 1 -l 64B -t 10 -R
#作为客户端,连接服务端ip地址192.168.0.112,报告回显间隔1s,测试时间10s,包长64字节,-R为反向测试,这个参数也是iperf3的主要亮点,支持直接转换数据发送方向。

结果如下:

UDP通信测试

在设备1(服务端)执行如下命令开启服务

iperf3 -s

udp上行测试:在设备2(客户端)输入如下指令

iperf3 -u -c 192.168.0.112 -b 1000M  -i 1 -t 10
#作为客户端,连接服务端ip地址192.168.0.112,报告回显间隔1s,测试时间10s,-b为带宽。

结果如下:

udp下行测试:在设备2(客户端)输入如下指令

iperf3 -u -c 192.168.0.112 -l 64B  -i 1 -t 10 -R
#作为客户端,连接服务端ip地址192.168.0.112,报告回显间隔1s,测试时间10s,包长64字节。

结果如下:

参数详解

Client/Server: # 客户端和服务端公有的参数
指定端口号,默认为5201             
    -p, --port      #        server port to listen on/connect to 
回显报告的间隔时间                       
    -i, --interval  #        seconds between periodic bandwidth reports  
显示帮助菜单  
    -h, --help               print this message and quit   
显示版本
    -v, --version            print version information and quit    
​
Server specific:  #服务端私有参数
指定以服务端运行                                                            
    -s, --server             run in server mode                                               
​
Client specific:  #客户端私有参数
带宽参数,单位:字节每秒:KMG,为2的n次方,比如1K=1024,;设置为0代表无限制,此参数UDP默认1M/s,TCP无限制 
    -b, --bandwidth #[KMG][/#] target bandwidth in bits/sec (0 for unlimited)
                            (default 1 Mbit/sec for UDP, unlimited for TCP)
                            (optional slash and packet count for burst mode) 
指定以客户端运行,后面要带服务端的IP地址                            
    -c, --client    <host>   run in client mode, connecting to <host>   
udp模式,不带-u默认为tcp模式
    -u, --udp                use UDP rather than TCP   
指定测试时间,不带参数默认测试10s        
    -t, --time      #        time in seconds to transmit for (default 10 secs)  
翻转测试,这是iperf3比iperf2方便的主要亮点,iperf2不支持此功能,无法使用   
    -R, --reverse            reverse the test (client receives, server sends)  
tcp窗口大小,默认无上限,可以不设此参数,作为udp模式测试时也不需要此参数 ,单位:KM,1K=1024     
    -w, --window    #[KMG]    set window size / socket buffer size  

### 如何在 Linux 系统中测试网的数据传输速率 #### 使用 `iperf` 工具进行网络性能测试 为了精确测量两个节点间的带宽,可以采用专门设计用于此目的的应用程序——`iperf`。该工具能够提供关于TCP和UDP吞吐量的信息,在服务器上启动服务端模式: ```bash $ iperf -s ``` 而在另一台设备作为客户端连接到上述创建的服务实例,并指定目标地址来发起测试请求[^3]。 #### 利用 `dd` 命令配合大文件实现简易测速方案 对于不具备安装额外软件权限的情况或是希望快速获取大致估计值时,则可以通过本地生成较大尺寸的临时文件再上传至远程位置的方式间接评估链路能力。这里给出了一种利用内置实用程序组合达成这一目标的方法示例: 首先创建一个容量为1GB的空白文件充当源素材: ```bash $ dd if=/dev/zero of=./testfile bs=1M count=1024 ``` 随后可借助诸如SCP之类的协议将这份资料转移出去,同时记录耗时时长以便后续计算实际平均流速[^2]。 #### 查看实时流量统计信息 除了主动触发特定操作外,日常运维过程中也常常需要持续关注接当前的工作状态。此时不妨考虑调用`ifstat` 或者更直观易懂图形界面下的nload等第三方组件辅助观察进出方向上的字节数变化趋势图谱;当然最基础的做法莫过于直接查阅 `/proc/net/dev` 文件内罗列的各项指标了[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值