admin 管理员组文章数量: 887019
"time
命令/time -v 命令"可以查看命令执行的时间,从而判断网速。
用Iperf工具测试网速和网络质量
Iperf 是一个网络性能测试工具。Iperf可以测试最大TCP带宽,并可以报告UDP带宽,延迟抖动和数据包丢失。
下载地址:
https://iperf.fr/iperf-download.php
可以下载执行文件在linux(ubuntu等)或者windows下运行,在windows中需要在命令行下运行。同时需要注意防火墙设置,否者可能无法通讯。
windows下iperf-2.0.5-2-win32比iperf-2.0.5-3-win32好用,执行中途可以退出,命令行不会卡住。
如果要在嵌入式主板上运行,做需要下载源码移植。
交叉编译工具用arm-2007q1-10-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar可以编译通过,用335官方的编译工具不行。
1、下载iperf
2、解压
#tar zxf
iperf-2.0.5.tar.gz 解压到当前目录
3、配置
#cd
iperf-2.0.5
#./configure --host=arm-linux-gnueabihf
CXX=arm-linux-gnueabihf-g++ CXXFLAGS=-static
CC=arm-linux-gnueabihf-gcc CFLAGS=-static
用下面这个命令
./configure
--host=arm-none-linux-gnueabi CXX=arm-none-linux-gnueabi-g++
CXXFLAGS=-static CC=arm-none-linux-gnueabi-gcc
CFLAGS=-static
修改iperf-2.0.5/config.h,注释掉行
#define malloc
rpl_malloc -->//#define malloc
rpl_malloc
4、编译
命令行下 make
在src下会生成iperf文件,拷贝到嵌入式主板中即可使用。
cd
C:\Users\liling\Desktop\iperf\iperf-2.0.5-3-win32
iperf.exe
-s
cd
C:\Users\liling\Desktop\iperf\iperf-2.0.5-3-win32
iperf.exe -u
-s
cd
C:\Users\liling\Desktop\iperf\iperf-2.0.5-3-win32
iperf.exe -u -c
192.168.10.66 -i 1 -w 100M -b 1000M
/home/iperf -u -c
192.168.10.177 -i 1 -w 100M -b 1000M
=======================================================================
IPERF的使用:
1.确认板子和你的电脑在同一个网段,然后ping通。
2.然后在板子上跑:
board: ./iperf -s //为server
pc: iperf.exe -c ipaddress //ipaddress 为你的板子的ip
其他复杂的测试,你自己看看。
iperf具体的功能包括
TCP
测量网络带宽
报告MSS/MTU值的大小和观测值
支持TCP窗口值通过套接字缓冲
当P线程或Win32线程可用时,支持多线程。客户端与服务端支持同时多重连接
l UDP
客户端可以创建指定带宽的UDP流
测量丢包
测量延迟
支持多播
当P线程可用时,支持多线程。客户端与服务端支持同时多重连接(不支持Windows)
在适当的地方,选项中可以使用K(kilo-)和M(mega-)。例如131072字节可以用128K代替。
指定运行的总时间,甚至可以设置传输的数据总量。
在报告中,为数据选用最合适的单位。
服务器支持多重连接,而不是等待一个单线程测试。
在指定时间间隔重复显示网络带宽,波动和丢包情况。
服务器端可作为后台程序运行。
服务器端可作为Windows
服务运行。
使用典型数据流来测试链接层压缩对于可用带宽的影响。
参数:
-s 以server模式启动,eg:iperf -s
-c
host以client模式启动,host是server端地址,eg:iperf -c
222.35.11.23
通用参数
-f
[k|m|K|M] 分别表示以Kbits, Mbits, KBytes,
MBytes显示报告,默认以Mbits为单位,eg:iperf -c 222.35.11.23 -f K
-i sec 以秒为单位显示报告间隔,eg:iperf -c 222.35.11.23 -i 2
-l 缓冲区大小,默认是8KB,eg:iperf -c 222.35.11.23 -l 16
-m 显示tcp最大mtu值
-o 将报告和错误信息输出到文件eg:iperf -c 222.35.11.23 -o c:\iperflog.txt
-p 指定服务器端使用的端口或客户端所连接的端口eg:iperf -s -p 9999;iperf -c 222.35.11.23
-p 9999
-u 使用udp协议
-w 指定TCP窗口大小,默认是8KB
-B 绑定一个主机地址或接口(当主机有多个地址或接口时使用该参数)
-C 兼容旧版本(当server端和client端版本不一样时使用)
-M 设定TCP数据包的最大mtu值
-N 设定TCP不延时
-V 传输ipv6数据包
server专用参数
-D
以服务方式运行ipserf,eg:iperf -s -D
-R 停止iperf服务,针对-D,eg:iperf -s -R
client端专用参数
-d
同时进行双向传输测试
-n 指定传输的字节数,eg:iperf -c 222.35.11.23 -n 100000
-r 单独进行双向传输测试
-t 测试时间,默认10秒,eg:iperf -c 222.35.11.23 -t 5
-F 指定需要传输的文件
-T 指定ttl值
使用示例:
1、UDP
模式
服务器端
iperf -u -s(在linux环境下命令为:./iperf -u -s)
客户端
iperf -c 192.168.1.1 -u -P 1 -i 1 -p 5001 -f M -b 45M -t 20
-T 10
在udp模式下,以45Mbps为数据发送速率,客户端到服务器192.168.1.1上传带宽测试,测试时间为20秒。
iperf -u -c 192.168.1.1 -b 5M -P 30 -t 60
客户端同时向服务器端发起30个连接线程,以5Mbps为数据发送速率。
iperf -u -c 192.168.1.1 -b 100M -d -t 60
以100M为数据发送速率,进行上下行带宽测试。
2、TCP模式
服务器端
iperf -s(在linux环境下命令为:./iperf -s)
客户端
iperf -c 192.168.1.1 -P 1 -i 5 -p 5001 -f M -t 120
在tcp模式下,客户端到服务器192.168.1.1上传带宽测试,测试时间为120秒。
iperf -c 192.168.1.1 -P 30 -t 60
客户端同时向服务器端发起30个连接线程。
iperf -c 192.168.1.1 -d -t 60
进行上下行带宽测试。
注意:
测试htb的时候最好用udp,udp通信开销小,测试的带宽更准确
带
宽测试通常采用UDP模式,因为能测出极限带宽、时延抖动、丢包率。在进行测试时,首先以链路理论带宽作为数据发送速率进行测试,例如,从
客户端到服务器之间的链路的理论带宽为100Mbps,先用 -b
100M进行测试,然后根据测试结果(包括实际带宽,时延抖动和丢包率),再以实际带宽作为数据发送速率进行测试,会发现时延抖动和丢包率比第一次好很
多,重复测试几次,就能得出稳定的实际带宽。
===================================================================
5、使用
参数说明:
-s
以server模式启动,eg:iperf -s
-c
host 以client模式启动,host是server端地址,eg:iperf -c
192.168.1.100
通用参数
-f [k|m|K|M]
分别表示以Kbits, Mbits, KBytes, MBytes显示报告,默认以Mbits为单位,eg:iperf -c
192.168.1.100 -f K
-i sec
以秒为单位显示报告间隔,eg:iperf -c 192.168.1.100 -i 2
-l
缓冲区大小,默认是8KB,eg:iperf -c 192.168.1.100 -l 16
-m
显示tcp最大mtu值
-o
将报告和错误信息输出到文件eg:iperf -c 192.168.1.100 -o
c:\iperflog.txt
-p
指定服务器端使用的端口或客户端所连接的端口eg:iperf -s -p 9999;iperf -c 192.168.1.100 -p
9999
-u
使用udp协议
-w
指定TCP窗口大小,默认是8KB
-B
绑定一个主机地址或接口(当主机有多个地址或接口时使用该参数)
-C
兼容旧版本(当server端和client端版本不一样时使用)
-M
设定TCP数据包的最大mtu值
-N
设定TCP不延时
-V
传输ipv6数据包
server专用参数
-D
以服务方式运行ipserf,eg:iperf -s -D
-R
停止iperf服务,针对-D,eg:iperf -s -R
client端专用参数
-d
同时进行双向传输测试
-n
指定传输的字节数,eg:iperf -c 192.168.1.100 -n 100000
-r
单独进行双向传输测试
-t
测试时间,默认10秒,eg:iperf -c192.168.1.100 -t 5
-F
指定需要传输的文件
-T
指定ttl值
操作举例:
1)TCP测试
服务器执行:#iperf -s -i
1 -w 1M
客户端执行:#iperf -c
192.168.1.100 -i 1 -w 1M
其中-w表示TCP window
size,192.168.1.100是服务器IP地址。
2)UDP测试
服务器执行:#iperf -u
-s
客户端执行:#iperf -u -c
192.168.1.100 -b 900M -i 1 -w 1M -t 60
其中-b表示
使用带宽数量,千兆链路使用90%容量进行测试就可以了。
注:以上方法经过实际验证为可行。编译过程必须静态编译,否则在android平台不能使用。错误提示为:sh:
./iperf: No such file or directory
版权声明:本文标题:arm-linux测网速工具,用Iperf工具测试网速和网络质量 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1725891055h888190.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论