网络性能测试工具iperf随笔
一、iperf简介
iperf是一个 TCP/IP 和 UDP/IP 网络性能测试工具,网服务质量QoS的报表工具,可测试网络带宽,延迟抖动和数据丢包等网络性能数据。采用的是C/S模型,适用于windows,linux等众多系统。
二、下载安装
下载
# rpm包
https://iperf.fr/iperf-download.php
# 源码包
https://iperf.fr/download/source/iperf-3.1.3-source.tar.gz
源码安装
tar -xvf iperf.tar.gz
cd iperf解压目录
./configure; make; make install
源码安装的时候若没有gcc-c++,会报“configure: error: C++ compiler cannot create executables”错误
需要gcc,gcc-c++(依赖libstdc++,libstdc+±devel)
若无法使用yum安装这些的时候,可前往下面地址去下载
下载地址:https://centos.pkgs.org/7/centos-x86_64/gcc-c++-4.8.5-44.el7.x86_64.rpm.html
3、工作原理及使用
原理
此处内容转自:https://blog.csdn.net/dwj_daiwenjie/article/details/102974352
Iperf测试TCP带宽时,首先服务器端使用 iperf –s
以server的角色打开本地5001端口,其他的网络节点使用 iperf -c
的方式打开iperf客户端,即C/S模型建立连接(三次握手),然后client向sever端发送一定大小的数据报,并记下发送的时间, 或者客户端在一定的时间内发送数据,并记下发送的总数据。带宽的大小等于发送的总数据除以发送的总时间。对服务器端来说,就是在连接建立时间内,接收的总数据除以所花时间即为服务器端所测得的带宽。MSS(最大报文长度)通过TCP内核接口函数直接获得。
Iperf测试UDP的性能时,客户端可以指定UDP数据流的速率。客户端发送数据时,将根据客户提供的速率计算数据报发送之间的时延。另外客户还可以指定发送数据报的大小。每个发送的数据报包含一个ID号,用来惟一地标识该报文。服务器端则根据该ID号来确定数据报丢失和乱序。当把UDP报文大小设置可以将整个报文放入IP层的包(packet)内时,那么UDP所测得的报文丢失数据即为IP层包的丢失数据。这提供了一个有效的测试包丢失情况的方法。数据报传输延迟抖动 (Jitter)的测试由服务器端完成,客户发送的报文数据包含有发送时间戳,服务器端根据该时间信息和接收到报文的时间戳来计算传输延迟抖动。传输延迟抖动反映传输过程中是否平滑。由于它是一个相对值,所以并不需要客户端和服务器端时间同步。
常用参数
l 参数说明
-s 以server模式启动 eg:iperf –s
-c 以client模式启动
通用参数
-f [k|m|K|M] 分别表示以Kbits, Mbits, KBytes, MBytes显示报告,默认以Mbits为单位 eg:iperf –c 192.168.1.2 –f K
-i sec 以秒为单位显示报告间隔 eg:iperf –c 192.168.1.2 –i 2
-l 缓冲区大小,默认是8KB,eg:iperf -c 222.35.11.23 -l 16
-m 显示tcp最大mtu值
-o 将报告和错误信息输出到文件
-p 指定服务端监听端口或客户端所连接的端口
当本地的5001端口被占用时,可使用-p参数指定其他可用的端口,避免报错
-u 使用udp协议(不加该参数则默认使用tcp协议)
-w 指定TCP窗口大小,默认是8KB
-B 绑定一个主机地址或接口(当主机有多个地址或接口时使用该参数)
-M 设定TCP数据包的最大mtu值
-N 设定TCP不延时
-V 传输ipv6数据包
Server专用参数
-D 以Daemon方式后台运行ipserf eg:iperf –s –D
-R 停止iperf服务 eg:iperf –s –R
Client专用参数
-d 同时进行双向传输测试
-n 指定传输的字节数,eg :iperf –c 192.168.1.2 –n 1000
-r 单独进行双向传输测试
-t 测试时间,默认10秒 eg:iperf –c 192.168.1.2 –t 5
-F 指定需要传输的文件
-T 指定ttl值
-P 指定线程数 eg:iperf –c 192.168.1.2 –P 4
-b 为UDP指定传输带宽 eg:iperf –c 192.168.1.2 –u –b 50M
此处内容转自:https://blog.csdn.net/youngyunq/article/details/54868069