linux测试带宽命令,Linux服务器网络带宽测试iperf
必须先运行iperf server
iperf -s -i 2
客户端
iperf -c 服务端IP地址

iperf原理解析

iperf工具可以用来测量TCP或者是UDP的网络吞吐量,即bandwidth(带宽)测试。 

iPerf的主要目标是帮助调整特定路径上的TCP连接。 众所周知,TCP最基本的调整问题是调整TCP窗口大小,它控制在任何一点在网络中可以有多少数据。如果它太小,发送者将会在一段时间内处于空闲状态,从而影响发送TCP的性能。TCP窗口大小的理论值是:瓶颈带宽与往返延时的乘积,即:

bottleneck bandwidth * round trip time

例如瓶颈链路是45 Mbit/sec,使用ping命令测量到的往返时延是42ms。那么TCP窗口的理论值是

45 Mbit/sec * 42 ms = (45e6) * (42e-3) = 1890000 bits= 230 KByte

在实际测试中,可以以计算得到的TCP窗口为基准,在这个值(如上面为230KByte)的基础上,升高或者降低TCP窗口大小,可以得到一个性能的提升。   带宽测试一般来说采用UDP模式测试,因为在UDP模式下能测出极限带宽、路径时延、丢包率,这些测试项会在带宽测试报告中打印出来。

在进行测试时,先以链路理论带宽作为数据发送速率进行测试,例如,从客户端到服务器之间的链路的理论带宽为1000Mbps,先用 -b 1000M进行测试,然后根据测试结果(包括实际带宽,时延抖动和丢包率),再以实际带宽作为数据发送速率进行测试,会发现时延抖动和丢包率比第一次好很多,重复测试几次,就能得出稳定的实际带宽。

iperf是基于server-client模式工作的,因此,要使用iperf测试带宽,需要建立一个服务端(用于丢弃流量)和一个客户端(用于产生流量)。

iperf服务端或者是客户端,都是使用的同一个命令,不过是启动命令的选项不同而已。

1. iperf服务启动方式

先看下服务端和客户端的启动方式:

服务端

iperf -s

客户端

iperf -c 服务端IP地址

注意:iperf默认测试的是TCP协议的带宽,如果需要测试UDP的带宽,则需要加上-u选项

2. iperf常用选项

  iperf选项分为 通用选项、服务端特定选项以及客户端特定选项

通用选项

-f <kmKM>    报告输出格式。 [kmKM]   format to report: Kbits, Mbits, KBytes, MBytes

-i <sec>    在周期性报告带宽之间暂停n秒。如周期是10s,则-i指定为2,则每隔2秒报告一次带宽测试情况,则共计报告5次

-p    设置服务端监听的端口,默认是5001

-u    使用UDP协议测试

-w n<K/M>   指定TCP窗口大小

-m    输出MTU大小

-M    设置MTU大小

-o <filename>    结果输出至文件

服务端选项

-s    iperf服务器模式

-d    以后台模式运行服务端

-U    运行一个单一线程的UDP模式

客户端选项

-b , --bandwidth n[KM]    指定客户端通过UDP协议发送数据的带宽(bit/s)。默认是1Mbit/s

-c <ServerIP>    以客户端模式运行iperf,并且连接至服务端主机ServerIP。 eg:  iperf -c <server_ip>

-d    双向测试

-t    指定iperf带宽测试时间,默认是10s。  eg:  iperf -c <server_ip> -t 20

-P    指定客户端并发线程数,默认只运行一个线程。 eg,指定3个线程 : iperf -c <server_ip> -P 3

-T    指定TTL值

3.实例

master 为服务端

minion 为客户端

注意:必须先运行iperf server

2秒返回一次带宽测试报告

# iperf -c 120.24.25.65

------------------------------------------------------------

Client connecting to 120.24.25.65, TCP port 5001

TCP window size: 19.3 KByte (default)

------------------------------------------------------------

[  3] local 113.58.113.136 port 49959 connected with 120.24.25.65 port 5001

[ ID] Interval       Transfer     Bandwidth

[  3]  0.0-10.3 sec  3.12 MBytes  2.54 Mbits/sec

[root@iZwz96l7gxttha3j1hk494Z ~]# iperf -s -i 2

------------------------------------------------------------

Server listening on TCP port 5001

TCP window size: 85.3 KByte (default)

------------------------------------------------------------

[  4] local 113.58.113.136 port 5001 connected with 120.24.25.65 port 56238

[ ID] Interval       Transfer     Bandwidth

[  4]  0.0- 2.0 sec   792 KBytes  3.24 Mbits/sec

[  4]  2.0- 4.0 sec   561 KBytes  2.30 Mbits/sec

[  4]  4.0- 6.0 sec   513 KBytes  2.10 Mbits/sec

[  4]  6.0- 8.0 sec   609 KBytes  2.50 Mbits/sec

[  4]  8.0-10.0 sec   529 KBytes  2.17 Mbits/sec

[  4]  0.0-11.3 sec  3.25 MBytes  2.41 Mbits/sec

linux测试带宽命令,Linux服务器网络带宽测试iperf的更多相关文章

  1. Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍

    一.http_load程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把 ...

  2. Linux shell编程命令-Linux基础环境命令学习笔记

    1.正则表达式 1)^开始 *前一个字符重复0次以上 + 1次以上 ? 0次或者1次 . 一个任意字符(.*连用) {m,n} m到n次 [0-9][a-z] 任意数字或字母 $结束字符 2)sed和 ...

  3. 91云服务器网络带宽测试,IO测试、全国ping测试

    91yun服务器测试一键包介绍 一键包主要是为了让大家快速对服务器的基本状况有一个了解.考虑到天朝的网络出口问题,所以这个一键包更加偏向网络的测试. 影响测试耗时主要是下载,整个测试如果是能跑满100 ...

  4. Linux 使用iftop命令查看服务器流量

    简介 iftop是类似于linux下面top的实时流量监控工具. iftop可以用来监控网卡的实时流量(可以指定网段).反向解析IP.显示端口信息等,详细的将会在后面的使用参数中说明. 安装 # yu ...

  5. 测试新手之linux问题整理

    测试职场的新人,难免都会涉及到一些linux系统的命令操作,搭建测试环境也好,查看日志也罢,以下给大家整理初学者可能会碰到的问题,希望对大家有所帮助. 1.Linux中输入基本操作命令例如ls,遇到报 ...

  6. [转贴]LTP--linux稳定性测试 linux性能测试 ltp压力测试 ---IBM 的 linux test project

    https://blog.csdn.net/melody157398/article/details/24354415   LTP--linux稳定性测试 linux性能测试 ltp压力测试 ---I ...

  7. LTP--linux稳定性测试 linux性能测试 ltp压力测试 ---IBM 的 linux test project

    LTP--linux稳定性测试 linux性能测试 ltp压力测试 ---IBM 的 linux test project Peter盼 2014-04-23 11:25:49  20302  收藏  ...

  8. Linux的sort命令

     Linux的sort命令 Linux的sort命令就是一种对文件排序的工具,sort命令的功能十分强大,是Shell脚本编程时常使用的文件排序工具. sort命令将输入文件看做由多条记录组成的数据流 ...

  9. 阿里云OneinStack,Linux下tomcat命令

    阿里云OneinStack,Linux下tomcat命令 Linux下如何查看tomcat是否启动在Linux系统下,重启Tomcat使用命令操作的首先,进入Tomcat下的bin目录cd /usr/ ...

随机推荐

  1. Mac - Hexo+GitHub轻松搭建自己的博客

    Hexo 是一个快速.简洁且高效的博客框架.Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页.官方文档传送门.Hexo的安装是个很快速简便的过程,但 ...

  2. yii---获取当前sql语句

    我们在用YII开发项目的时候,会查看当前执行的SQL语句来排查错误,那么YII该如何获取当前的SQL语句呢? $list = user::find()->where(['title'=>$ ...

  3. Django---简单from表单提交

    表单提交可能会报错,注意一行代码就可以解决: 简单配置路由: 简单表单提交: <form action="/index/" method="post"&g ...

  4. HBase一次客户端读写异常解读分析与优化全过程(干货)

    大数据时代,HBase作为一款扩展性极佳的分布式存储系统,越来越多地受到各种业务的青睐,以求在大数据存储的前提下实现高效的随机读写操作.对于业务方来讲,一方面关注HBase本身服务的读写性能,另一方面 ...

  5. poj1001 Exponentiation【java大数】

    Exponentiation Time Limit: 500MS   Memory Limit: 10000K Total Submissions: 183034   Accepted: 44062 ...

  6. HDFS Users Guide

    Purpose This document is a starting point for users working with Hadoop Distributed File System (HDF ...

  7. CGI servlet Applet Scriptlet Scriptlet JSP data layer(数据层),business layer(业务层), presentation layer(表现层)

    https://en.wikipedia.org/wiki/Common_Gateway_Interface In computing, Common Gateway Interface (CGI) ...

  8. PHP Architecture

    http://www.laruence.com/2008/08/12/180.html

  9. 用PHP编写一个APP的API

    第一部分,通信接口的实现 标签(空格分隔): PHP 手机后台 api 通信接口 Andy PHP开发手机API时,一般返回XML或JSON数据类型的数据,除了要返回从源数据(程序本身需要的数据)外还 ...

  10. [python-opencv] 模糊操作

    @不要在奋斗的年纪 选择安逸 均值模糊 中值模糊 自定义模糊 意义与应用场景 模糊的基本原理: 1.基于离散卷积 2.定义好每个卷积核 3.不同卷积核得到不同的卷积效果 4.模糊是卷积的一种表象 #均 ...