网络性能评估主要是监测网络带宽的使用率,将网络带宽利用最大化是保证网络性能的基础,但是由于网络设计不合理、网络存在安全漏洞等原因,都会导致网络带宽利用率不高。要找到网络带宽利用率不高的原因,就需要对网络传输进行监控,此时就需要用到一些网络性能评估工具,而Iperf就是这样一款网络带宽测试工具。
Iperf是美国伊利诺斯大学(University of Illinois)开发的一种开源的网络性能测试工具。可以用来测试网络节点间(也包括回环)TCP或UDP连接的性能,包括带宽、抖动以及丢包率,其中抖动和丢包率适应于UDP测试,而带宽测试适应于TCP和UDP。
Iperf是一款基于TCP/IP和UDP/IP的网络性能测试工具,可以用来测量网络带宽和网络质量,提供网络延迟抖动、数据包丢失率、最大传输单元等统计信息。网络管理员可以根据这些信息了解并判断网络性能问题,从而定位网络瓶颈,解决网络故障。
Iperf 是一款基于命令行模式的网络性能测试工具,是跨平台的,提供横跨Windows、Linux、Mac的全平台支持。iperf 全程使用内存作为发送/接收缓冲区,不受磁盘性能的影响,对于机器配置要求很低。不过由于是命令行工具, iperf 不支持输出测试图形。
Iperf可以测试TCP和UDP带宽质量,具有多种参数和UDP特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。
① 测量网络带宽
② 报告MSS/MTU值的大小和观测值
③ 支持TCP窗口值通过套接字缓冲
④ 当P线程或Win32线程可用时,支持多线程。客户端与服务端支持同时多重连接
① 客户端可以创建指定带宽的UDP流
② 测量丢包
③ 测量延迟
④ 支持多播
⑤ 当P线程可用时,支持多线程。客户端与服务端支持同时多重连接(不支持Windows)
① 在适当的地方,选项中可以使用K(kilo-)和M(mega-)。例如131072字节可以用128K代替。
② 可以指定运行的总时间,甚至可以设置传输的数据总量。
③ 在报告中,为数据选用最合适的单位。
④ 服务器支持多重连接,而不是等待一个单线程测试。
⑤ 在指定时间间隔重复显示网络带宽,波动和丢包情况。
⑥ 服务器端可作为后台程序运行。
⑦ 服务器端可作为Windows 服务运行。
⑧ 使用典型数据流来测试链接层压缩对于可用带宽的影响。
Iperf有两种版本,windows版和linux版本。
Unix/Linux版更新比较快,版本最新,目前最新的版本是iperf3.0。
为了测试的准确性,尽量使用linux环境测试。
Windows版iperf叫jperf,或者xjperf,更新慢,目前最新版本为1.7(打包在jperf中)。
jperf是在iperf基础上开发的图形界面程序,简化了复杂命令行参数的构造,而且还能保存测试结果,同时实时图形化显示结果。
CentOS安装:yum install -y iperf3
Debian和Ubuntu安装:apt-get install iperf3
Iperf可以运行在任何IP网络上,包括本地以太网、接入因特网、Wi-Fi网络等。在工作模式上,iperf运行于服务器、客户端模式下,其服务器端主要用于监听到达的测试请求,而客户端主要用于发起测试连接会话,因此要使用iperf至少需要两台服务器,一台运行在服务器模式下,另一台运行在客户端模式下。
在完成iperf安装后,执行“iperf3 –h”即可显示iperf的详细用法。iperf的命令行选项共分为三类,分别是客户端与服务器端公用选项、服务器端专用选项和客户端专用选项。
(1)-s,--server:iperf服务器模式,默认启动的监听端口为5201,eg:iperf -s
(2)-c,--client host:iperf客户端模式,host是server端地址,eg:iperf -c 222.35.11.23
(3)-i,--interval:指定每次报告之间的时间间隔,单位为秒,eg:iperf3 -c 192.168.12.168 -i 2
(4)-p,--port:指定服务器端监听的端口或客户端所连接的端口,默认是5001端口。
(5)-u,--udp:表示采用UDP协议发送报文,不带该参数表示采用TCP协议。
(6)-l,--len:设置读写缓冲区的长度,单位为 Byte。TCP方式默认为8KB,UDP方式默认为1470字节。通常测试 PPS 的时候该值为16,测试BPS时该值为1400。
(7)-b,--bandwidth [K|M|G]:指定UDP模式使用的带宽,单位bits/sec,默认值是1 Mbit/sec。
(8)-t,--time:指定数据传输的总时间,即在指定的时间内,重复发送指定长度的数据包。默认10秒。
(9)-A:CPU亲和性,可以将具体的iperf3进程绑定对应编号的逻辑CPU,避免iperf进程在不同的CPU间调度。
(1)-f,--farmat [k|m|g|K|M|G]:指定带宽输出单位,“[k|m|g|K|M|G]”分别表示以Kbits, Mbits, Gbits, KBytes, MBytes,GBytes显示输出结果,默认Mbits,eg:iperf3 -c 192.168.12.168 -f M
(2)-p,--port:指定服务器端监听的端口或客户端所连接的端口,默认是5001端口。
(3)-i,--interval:指定每次报告之间的时间间隔,单位为秒,eg:iperf3 -c 192.168.12.168 -i 2
(1)-s,--server:iperf服务器模式,默认启动的监听端口为5201,eg:iperf -s
(2)-c,--client host:如果iperf运行在服务器模式,并且用-c参数指定一个主机,那么iperf将只接受指定主机的连接。此参数不能工作于UDP模式。
(3)-D:Unix平台下将Iperf作为后台守护进程运行。在Win32平台下,Iperf将作为服务运行。
(4)-R:卸载Iperf服务(仅用于Windows)。
(5)-o:重定向输出到指定文件(仅用于Windows)。
(6)-P,--parallel:服务器关闭之前保持的连接数。默认是0,这意味着永远接受连接。
(1)-c,--client host:iperf客户端模式,host是server端地址,eg:iperf -c 222.35.11.23
(2)-u,--udp:表示采用UDP协议发送报文,不带该参数表示采用TCP协议。
(3)-b,--bandwidth [K|M|G]:指定UDP模式使用的带宽,单位bits/sec,默认值是1 Mbit/sec。
(4)-t,--time:指定数据传输的总时间,即在指定的时间内,重复发送指定长度的数据包。默认10秒。
(5)-l,--len:设置读写缓冲区的长度,单位为 Byte。TCP默认为8KB,UDP默认为1470字节。通常测试 PPS 的时候该值为16,测试BPS时该值为1400。
(6)-n,--num [K|M|G]:指定传输数据包的字节数,例如:iperf3 -c 192.168.12.168 –n 100M
(7)-P,--parallel:指定客户端与服务端之间使用的线程数。默认是1个线程。需要客户端与服务器端同时使用此参数。
(8)-w,--window:指定套接字缓冲区大小,在TCP方式下,此设置为TCP窗口的大小。在UDP方式下,此设置为接受UDP数据包的缓冲区大小,用来限制可以接收数据包的最大值
(9)-B,--bind:用来绑定一个主机地址或接口,这个参数仅用于具有多个网络接口的主机。在UDP模式下,此参数用于绑定和加入一个多播组。
(10)-M,--mss:设置TCP最大信息段的值
(11)-N,--nodelay:设置TCP无延时
(12)-V:绑定一个IPv6地址。
(13)-d,--dualtest:运行双测试模式。将使服务器端反向连接到客户端,使用-L参数中指定的端口(或默认使用客户端连接到服务器端的端口)。使用参数-r以运行交互模式。
(14)-L,--listenport:指定服务端反向连接到客户端时使用的端口。默认使用客户端连接至服务端的端口。
(15)-r,--tradeoff:往复测试模式。当客户端到服务器端的测试结束时,服务器端反向连接至客户端。当客户端连接终止时,反向连接随即开始。如果需要同时进行双向测试,请尝试-d参数。
(1)-h,--help:显示命令行参考并退出。
(2)-v,--version:显示版本信息和编译信息并退出。
(1)Server端IP地址:192.168.0.120
(2)Server端IP地址:192.168.0.121
① Interval表示时间间隔。
② Transfer表示时间间隔里面转输的数据量。
③ Bandwidth是时间间隔里的传输速率。
如果没有指定发送方式,iPerf客户端只会使用单线程。
要停止iperf3服务进程,请按CTRL+z或CTRL+c
建议在Server端执行sar命令来统计实际收到的包并作为实际结果:sar -n DEV 1 320。
带宽测试通常采用UDP模式,因为能测出极限带宽、时延抖动、丢包率。在进行测试时,首先以链路理论带宽作为数据发送速率进行测试,例如,从客户端到服务器之间的链路的理论带宽为100Mbps,先用-b 100M进行测试,然后根据测试结果(包括实际带宽,时延抖动和丢包率),再以实际带宽作为数据发送速率进行测试,会发现时延抖动和丢包率比第一次好很多,重复测试几次,就能得出稳定的实际带宽。
① Jitter为抖动,在连续传输中的平滑平均值差。
② Lost为丢包数量。
③ Total Datagrams为包数量。
如果没有指定发送方式,iPerf客户端只会使用单线程。
jperf是基于iperf开发的图形界面程序,简化了复杂命令行参数的构造,而且还能够保存测试结果,同时实时图形化显示结果。JPerf可以测试TCP和UDP带宽质量。JPerf可以测量最大TCP带宽,具有多种参数和UDP特性。JPerf可以报告带宽,延迟抖动和数据包丢失。
(1)操作系统:Java运行环境
(2)网络要求:Jperf可以在任何IP网络上运行,包括本地以太网,因特网接入连接和Wi-Fi网络。
(3)其他要求:JPerf必须安装两个组件:JPerf 服务器和JPerf客户端。
① 服务端设置
❶ 监听端口:5001
❷ client limit:客户端限制,仅允许指定客户端连接
❸ Num Connections:最大允许连接的数量,为0不限制
② 客户端设置
服务器地址:10.0.115.82 ,端口:5001 ,并发流:1个
① 兼容旧版本(当server端和client端版本不一样时使用)
② 设置测试模式:传输字节总量大小15Bytes或者按传输时间总长度15秒
③ 同时进行双向传输测试
④ 单独进行双向传输测试,先测c到s的带宽
⑤ 指定需要传输的文件
⑥ 显示tcp最大mtu值
① TCP协议
❶ 设置缓冲区大小
❷ 指定TCP窗口大小
❸ 设定TCP数据包的最大mtu值
❹ 设定TCP不延时
② UDP协议
❶ 设置UDP最大带宽
❷ 设置UDP缓冲区
❸ UDP包封装大小:默认1470 byte
③ IP层设置
❶ 指定ttl值
❷ 服务类型(Type of Service, ToS),大小范围从0x10 (最小延迟) 到0x2 (最少费用)
1.《网络性能测试方法》
作者:阿里云帮助文档
2.《iperf-百度百科》(文章)
作者:百度百科网友
3.《Linux网络性能评估工具iperf 、CHARIOT测试网络吞吐量》(文章)
作者:Konglingbin
地址:javascript:void(0)
4.《Linux命令大全-iperf命令》
作者:不确定
5.《网络性能测试工具iPerf功能与使用教程》
作者:不确定
6.《iPerf图形化工具Jperf图文使用教程》
作者:不确定
7.《使用iPerf进行网络吞吐量测试》
作者:放开那个电扇
分类: 框架工具
一、背景随着K8S在公司内的深度使用,当前千兆的网络环境已经无法满足使用需求,需要搭建一套万兆网络的K8S环境,用于满足K8S集群对网络性能、存储(更换为全固态)的需求。本次测试主要是测试跨交换机,网络带宽是否能跑到10G/s。二、环境交换机型号:华为CE5850-48T4S2Q-EI网线:六类线网络拓扑:三、测试3.1 测试方式在3台服务器上安装iperf3apt install iperf3在
# 从零开始学习 Kubernetes 中的 iperf3Kubernetes 是一个用于管理容器化应用程序的开源平台,它可以帮助我们更高效地部署、扩展和管理应用程序。而 iperf3 是一个网络性能测试工具,可以帮助我们评估网络的吞吐量和延迟。在本文中,我们将学习如何在 Kubernetes 中使用 iperf3 进行网络性能测试。## 准备工作在开始之前,我们需要确保已经安装了 K
# 如何实现 iPerf3 for Android## 1. 整体流程下面是实现 iPerf3 for Android 的整体流程表格:| 步骤 | 描述 || --- | --- || 1 | 下载 iPerf3 的源码 || 2 | 创建一个 Android 项目 || 3 | 将 iPerf3 源码导入到 Android 项目中 || 4 | 修改 Android 项目
# 在Android中实现iperf3## 流程概述要在Android设备中实现iperf3,您需要按照以下步骤进行操作。以下是实现过程的详细步骤:| 步骤 | 描述 ||------|-------------------------|| 1 | 准备开发环境 || 2 | 下载iperf3源码
# 如何实现“iperf3 docker”## 介绍在本文中,我将向你展示如何使用Docker来部署和运行iperf3容器。你将学到如何使用Docker镜像库中的现成镜像,并使用Docker命令来管理和运行容器。在开始之前,请确保你已经安装了Docker并且具有一定的基础知识。## 整体流程下面是完成这项任务的整体流程:| 步骤 | 描述 || --- | --- || 1 |
【代码】iperf3命令使用。
# 如何在Docker中安装iperf3## 1. 整体流程下面是整个安装iperf3的流程:| 步骤 | 内容 || ---- | ---- || 1 | 拉取iperf3镜像 || 2 | 创建iperf3容器 || 3 | 进入iperf3容器 || 4 | 运行iperf3服务 |## 2. 具体步骤### 步骤1:拉取iperf3镜像首先,我们需要从Do
# Docker部署iperf3## 1. 介绍本文将向你介绍如何使用Docker部署iperf3,以便进行网络性能测试。## 2. 准备工作在开始之前,确保你已经安装了Docker和Docker Compose。如果没有安装,可以参考官方文档进行安装。## 3. 流程概述下面是部署iperf3的整个流程:| 步骤 | 描述 || --- | --- || 1 | 下载i
# iperf3 Android下载与使用## 简介iperf3是一款网络性能测试工具,用于测量网络带宽、延迟和数据包丢失等指标。它支持多种操作系统,包括Android。本文将介绍如何在Android设备上下载和使用iperf3。## 下载iperf3 Android版要在Android设备上使用iperf3,首先需要下载并安装它。你可以在Google Play商店中搜索并安装名为
# 如何在Docker中使用IPERF3## 介绍在本文中,我们将学习如何在Docker容器中使用IPERF3进行网络性能测试。IPERF3是一款用于测量最大TCP带宽的工具,可以帮助我们评估网络的性能。## 整体流程下面是完成这个任务的整体流程:| 步骤 | 操作 || ---- | ---- || 1. | 下载IPERF3镜像 || 2. | 运行IPERF3容器 |
iperf命令是一个网络性能测试工具。iperf可以测试TCP和UDP带宽质量。iperf可以测量最大TCP带宽,具有多种参数和UDP特性。iperf可以报告带宽,延迟抖动和数据包丢失。利用iperf这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。带宽测试通常采用UDP模式,因为能测出极限带宽、时延抖动、丢包率。在进行测试时,首先以链路理论带宽作为数据发送速率进行测试,例如,从
一、前言:iperf3简介:iperf3是iperf的3.0版本,是一款网络测试工具,可以测试网络的最大吞吐量,比特率、重发包数还有拥塞包大小等,是一款极其轻便,简单易用的一款测试工具。并且提供多平台的支持,支持Linux、Windows、Android、Mac、Iphone等平台。二、软件安装1. Linux安装在线安装:yum install -y iperf3#安装的是iperf3-3.1.
iperf3是一款带宽测试工具,它支持调节各种参数,比如通信协议,数据包个数,发送持续时间,测试完会报告网络带宽,丢包率和其他参数。小广告:欢迎喜欢网络技术的朋友加我微信:xfiles_sky,一起学习。一、安装操作系统:Ubuntu20.04LTS打开终端,直接输入#sudo apt install iperf3二、使用方法环境假设:假设两台云服务器A(内)和B(外),我们通过笔记本电脑终端分别
文章目录iperf介绍安装iperf被测Linux板子PC主机iperf使用Linux网口初始化配置同时测试4个网口吞吐量Linux板子linux后台运行和关闭、查看后台任务fgctrl + zkillbgwindows 电脑结果iperf测试UDP丢包率 iperf介绍iperf是一种命令行工具,用于通过测量服务器可以处理的最大网络吞吐量来诊断网络速度问题。它在遇到网络速度问题时特别有用,通过