一、简介:

  iperf3是一个网络速度测试工具,支持IPv4与IPv6,支持TCP、UDP、SCTP传输协议,可在Windows、Mac OS X、Linux、FreeBSD等各种平台使用,是一个简单又实用的小工具。因我已配置好yum源,因此执行yum install iperf3即可安装。安装好后,我已看一下iperf的使用参数,如图:

二、实验环境:

在实际测试中我的服务器有万兆网卡,IP如下所示:

Host177:100.192.168.177

Host178:100.192.168.178

Host179:100.192.168.179

Host186:100.192.168.186

三、测试过程

  在这次测试中主要进行tcp与udp的对比测试,在测试前先说明一下在iperf3中有几个参数在tcp环境与udp环境中的区别,也就是在测试中需要对此参数要给定内容,避免iperf工具使用其默认的值,主要几项如下:

如图,参数若不指定-b带宽值会造成极大的区别,在测试环境中发现 -l 默认就使用128数值。

接下来首先以Host179为服务器端(服务器端启动参数是没有区别的):

以Host178为客户端进行tcp的测试(暂时不指定-l参数即缓冲区大小):

因测试环境有万兆网卡,于是我在这里指定了带宽-b 为万兆(后面还会进行千兆测试,会出现一个较为奇怪的现象),传输内容大小为100G。

再进行udp测试(暂时不指定-l参数即缓冲区大小):

进行udp测试时候,仅是多了一个参数-u即可。

下面进行千兆的测试,如下:

将-b后面跟着的值调小,这里udp的测试同样进行此操作,这里就不列出图片了,接下来我们关注一下测试结果。

四、测试结果

经测试后,可观察客户端下方的打印结果,如下:

tcp下以万兆带宽测试结果:

ucp下以万兆带宽测试结果:

tcp下以千兆带宽测试结果:

ucp下以千兆带宽测试结果:

  通过观察此类结果可以清楚的发现在设定 –b 1000M (千兆)的时候,tcp和udp的传输100G文件所需时间相差不是很多,但当设定–b 10000M (万兆)的时候,两者相差的还是比较明显的,这也是前面提出的“奇怪的现象”。给人的感觉就是udp没有发挥万兆网卡的全部速率,在图中也有显示丢包率为51%。

  通过网上的资料查询得知,udp丢包率高可能为缓冲区buffer有限制导致的,因此我于是进行了如下测试:

将udp缓冲区buffer调高,执行下面命令:

CentOS 7中默认buffer大小为212992,我在后面增加了2个0,约为放大100倍,这两条命令在服务器端和客户端都执行,然后下面在执行udp测试命令:

得出结果为:

可以看出丢包率得到了明显的改善,但识别出的带宽仍为6500M左右,离万兆还有一定的距离。

五、结论

经过上网查询学习得知,在带宽测试中通常采取udp模式,因为能测出极限带宽、时延抖动、丢包率。在进行测试时,首先以链路理论带宽(万兆)作为数据发送速率进行测试,这样可以大体得出实际带宽的极限值,在测试环境中的带宽为6500左右,这也同样解释了上文提到的奇怪现象,并且在做实验中一定要注意测试命令的默认参数值,比如在本次测试中的tcp与udp测试的-b和-l两个参数,在使用默认参数的时候还是有着巨大的区别。

iperf3网络测试工具的更多相关文章

  1. iperf3 网络测试工具

    Iperf3 是一个网络性能测试工具.Iperf可以测试最大TCP和UDP带宽性能,具有多种参数和UDP特性,可以根据需要调整,可以报告带宽.延迟抖动和数据包丢失.对于每个测试,它都会报告带宽,丢包和 ...

  2. iperf/iperf3网络测试工具的安装与使用

    1.官网及下载路径: iperf3 homepage at: http://software.es.net/iperf/Report bugs to: https://github.com/esnet ...

  3. TCP/UDP网络性能测试工具 - Netperf (zz) ..网络测试工具

    在构建或管理一个网络系统时,我们更多的是关心网络的可用性,即网络是否连通,而对于其整体的性能往往考虑不多. 除了netperf以外.       还有很多其它的网络性能测试工具.       如db, ...

  4. IPerf——网络测试工具介绍与源码解析(4)

    上篇随笔讲到了TCP模式下的客户端,接下来会讲一下TCP模式普通场景下的服务端,说普通场景则是暂时不考虑双向测试的可能,毕竟了解一项东西还是先从简单的情况下入手会快些. 对于服务端,并不是我们认为的直 ...

  5. 网络测试工具netperf(转)

    http://pangyi.github.io/blog/20141210/wang-luo-ce-shi-gong-ju-netperf/ 网络测试工具netperf 2014年12月10日 一般我 ...

  6. 网络测试工具--Iperf、Netperf 、MZ

    网络性能测量的五项指标 可用性(availability) 响应时间(response time) 网络利用率(network utilization) 网络吞吐量(network throughpu ...

  7. iperf网络测试工具

    iperf https://sourceforge.net/projects/iperf/ http://downloads.es.net/pub/iperf/ https://github.com/ ...

  8. 网络测试工具netperf

    Netperf是一种网络性能的测量工具,主要针对基于TCP或UDP的传输.Netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulk data transfer)模式和请求 ...

  9. QNET,一款给力的APP弱网络测试工具

    目前在测试移动设备上进行弱网络专项测试的方案主要有两种: 通过Android设备连接到PC上进行弱网络测试,比如Fiddler,Charles,NET-Simulator等.基本思路是在PC上装一个F ...

随机推荐

  1. unity配置最簡單程序

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using Microsoft.Pr ...

  2. oracel 查询删除重复记录的几种方法

    建表语句CREATE TABLE Persons(PersonID int,           LastName varchar(255),FirstName varchar(255),Addres ...

  3. GameObject.Active

    [GameObject.Active] 用于控制一个对象是否激活,一个对象激活当且本身active=true,并且它的父结点也都active.相当API有: 1)GameObject.SetActiv ...

  4. fedora 16 yum yuan

    暑假买了几本Linux的书一直放在书架上没看,周末闲着没事就拿起本<LinuxC从入门到精通>看了起来,初学Linux首先要做的便是在电脑上安装Linux系统.于是按书上的要求下载了Fed ...

  5. 编码总结,以及对BOM的理解

    一.前言 在跨平台.跨操作系统或者跨区域之间,经常会涉及到编码的问题,因为前段时间在项目中,遇到了因为编码而产生乱码的问题,以前对编码也是一知半解,所以决定对编码有一个更为深入的了解,因此才有了这篇自 ...

  6. Java中String类型详解

    这篇博客是我一直想总结的,这两天一直比较忙,先上传下照片吧,过后有时间再弄成正常的. 本文主要是对Java中String类型的总结,包括其在JVM中是怎么存储的...

  7. 数据分析sql常用整理

    [SQL 数据分析常用语句] 2017-07-20 00:00 数据分析 来源:datakong 转自:大数据 • 1 基础查询 • 2 字符串数字日期时间 • 3 聚合数据查询 • 4 子查询 • ...

  8. Openssl oscp命令

    一.简介 ocsp,在线证书状态命,能够执行很多OCSP的任务,可以被用于打印请求文件和响应文件, 二.语法 openssl ocsp [-out file] [-issuer file] [-cer ...

  9. if-return 语句

    if(A > B): return A+1 return A-1 or if(A > B): return A+1 else: return A-1 +++++++++++++++++++ ...

  10. Perl 学习笔记-模块

    1.Perl模块介绍 2个来源, 一个是随Perl发行版本一同打包, 只要安装了Perl就可以使用;  另一种是需要从CPAN上下载,自己安装.   寻找模块之前, 先检查系统上是否已经安装过了,   ...