linux测试带宽命令,Linux服务器网络带宽测试iperf
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的更多相关文章
- Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍
一.http_load程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把 ...
- Linux shell编程命令-Linux基础环境命令学习笔记
1.正则表达式 1)^开始 *前一个字符重复0次以上 + 1次以上 ? 0次或者1次 . 一个任意字符(.*连用) {m,n} m到n次 [0-9][a-z] 任意数字或字母 $结束字符 2)sed和 ...
- 91云服务器网络带宽测试,IO测试、全国ping测试
91yun服务器测试一键包介绍 一键包主要是为了让大家快速对服务器的基本状况有一个了解.考虑到天朝的网络出口问题,所以这个一键包更加偏向网络的测试. 影响测试耗时主要是下载,整个测试如果是能跑满100 ...
- Linux 使用iftop命令查看服务器流量
简介 iftop是类似于linux下面top的实时流量监控工具. iftop可以用来监控网卡的实时流量(可以指定网段).反向解析IP.显示端口信息等,详细的将会在后面的使用参数中说明. 安装 # yu ...
- 测试新手之linux问题整理
测试职场的新人,难免都会涉及到一些linux系统的命令操作,搭建测试环境也好,查看日志也罢,以下给大家整理初学者可能会碰到的问题,希望对大家有所帮助. 1.Linux中输入基本操作命令例如ls,遇到报 ...
- [转贴]LTP--linux稳定性测试 linux性能测试 ltp压力测试 ---IBM 的 linux test project
https://blog.csdn.net/melody157398/article/details/24354415 LTP--linux稳定性测试 linux性能测试 ltp压力测试 ---I ...
- LTP--linux稳定性测试 linux性能测试 ltp压力测试 ---IBM 的 linux test project
LTP--linux稳定性测试 linux性能测试 ltp压力测试 ---IBM 的 linux test project Peter盼 2014-04-23 11:25:49 20302 收藏 ...
- Linux的sort命令
Linux的sort命令 Linux的sort命令就是一种对文件排序的工具,sort命令的功能十分强大,是Shell脚本编程时常使用的文件排序工具. sort命令将输入文件看做由多条记录组成的数据流 ...
- 阿里云OneinStack,Linux下tomcat命令
阿里云OneinStack,Linux下tomcat命令 Linux下如何查看tomcat是否启动在Linux系统下,重启Tomcat使用命令操作的首先,进入Tomcat下的bin目录cd /usr/ ...
随机推荐
- 【转】JavaScript 事件顺序:冒泡和捕获
补充说明:这篇文章通俗易懂地讲解了冒泡和捕获原理,原文来自 ppk 大侠的 quirksmode 站点.感谢网友 hh54188 的翻译. 事件的发生顺序 这个问题的起源非常简单,假设你在一个元素中又 ...
- Spark2 jar包运行完成,退出spark,释放资源
import org.apache.spark.sql.SparkSession import org.apache.spark.sql.Dataset import org.apache.spark ...
- Tornado,bootstrap文档链接
http://demo.pythoner.com/itt2zh/ch1.html#ch1-1 http://www.runoob.com/bootstrap/bootstrap-tutorial.ht ...
- Centos6.5 虚拟机Mongodb创建副本集
简单副本集的搭建 官方demo的最小化的副本集为Three Member Sets,一个primary和两个secondary.我们先就搭建一个这样的测试环境. 首先建立三个数据目录和日志目录: cd ...
- 从底层源码浅析Mybatis的SqlSessionFactory初始化过程
目录 搭建源码环境 POM依赖 测试SQL Mybatis全局配置文件 UserMapper接口 UserMapper配置 User实体 Main方法 快速进入Debug跟踪 源码分析准备 源码分析 ...
- 分布式存储中HDFS与Ceph两者的区别是什么,各有什么优势?
过去两年,我的主要工作都在Hadoop这个技术栈中,而最近有幸接触到了Ceph.我觉得这是一件很幸运的事,让我有机会体验另一种大型分布式存储解决方案,可以对比出HDFS与Ceph这两种几乎完全不同的存 ...
- MapReduce规约
深入了解Combiners编程(相当于Map端的Reduce) 每一个map可能会产生大量的输出,combiner的作用就是在map端对输出先做一次合并,以减少传输到reducer的数据量. comb ...
- java cocurrent ConcurrentHashMap、读写锁、Condition、线程池、Barrier、CountDownLatch、Callable、BlockingQueue
Java并发学习笔记 - yang_net - 博客频道 - CSDN.NET Java并发学习笔记 - yang_net - 博客频道 - CSDN.NET 并发小结:高 ...
- 异步IO
异步IO 在IO编程一节中,我们已经知道,CPU的速度远远快于磁盘.网络等IO.在一个线程中,CPU执行代码的速度极快,然而,一旦遇到IO操作,如读写文件.发送网络数据时,就需要等待IO操作完成, ...
- 大数据智能SOC解决方案