iperf 用法

本文译至:http://d.hatena.ne.jp/chipa34/20080209/1202555514

如果要测量网络的带宽,iperf是一个非常有用的工具。

UNIX系统中netperf比较有名,UDP的测量我觉得使用iperf更容易。

Windows和Linux的各种操作系统都可以使用。

下载

NLANR / DAST:iperf - The TCP/UDP Bandwidth
Measurement Tool

http://sourceforge.net/projects/iperf

用法

下面是命令的用法。

单播模式
$ iperf -s
$ iperf -c <接收端主机名>或<接收端的IP地址>
    • 例1)测试TCP通信的最大速率。
$ iperf -c 192.168.1.100
    • 例2)使用TCP发送100兆字节的数据
$ iperf -c <目标地址> -l 100M
$ iperf -s -u
$ iperf -c 192.168.1.100 -u -b <传输带宽> -t <测量时间[秒] > -i <间隔>
    • 例1)以UDP方式向192.168.1.100传送60秒的10M的数据

每间隔两秒钟输出报告结果。

$ iperf -c 192.168.1.100 -u -b 10M -t 60 -i 2
    • 例2)以UDP方式向192.168.1.100传送60秒的10M的双向数据
$ iperf -c 192.168.1.100 -u -b 10M -t 60 -i 2 -d
    • 例3)以UDP方式向192.168.1.100传送60秒的10M的3路双向数据
$ iperf -c 192.168.1.100 -u -b 10M -t 60 -i 2 -P 3
组播模式
    $ iperf -s -u -B <多播地址> -i <结果显示间隔>
EX)$ iperf -s -u -B 224.0.55.55 -i 1
    $ iperf -c <多播地址> -u -T < TTL > -t <测量时间[秒] > -i <间隔> -b <传输带宽> 

EX)$ iperf -c 224.0.55.55 -u -T 32 -t 10 -i 1 -b 1M
IPv6模式
    $ iperf -s -V
    $ iperf -c <服务器的IPv6地址> -V

查看结果

node2> iperf -s -u -i 1
------------------------------------------------------------
Server listening on UDP port 5001 Receiving 1470 byte datagrams
UDP buffer size: 60.0 KByte (default)
------------------------------------------------------------
[ 4] local <IP Addr node2> port 5001 connected with <IP Addr node1> port 9726
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.0- 1.0 sec 1.3 MBytes 10.0 Mbits/sec 0.209 ms 1/ 894 (0.11%)
[ 4] 1.0- 2.0 sec 1.3 MBytes 10.0 Mbits/sec 0.221 ms 0/ 892 (0%) ←中间结果
[ 4] 2.0- 3.0 sec 1.3 MBytes 10.0 Mbits/sec 0.277 ms 0/ 892 (0%)
[ 4] 3.0- 4.0 sec 1.3 MBytes 10.0 Mbits/sec 0.359 ms 0/ 893 (0%)
[ 4] 4.0- 5.0 sec 1.3 MBytes 10.0 Mbits/sec 0.251 ms 0/ 892 (0%)
[ 4] 5.0- 6.0 sec 1.3 MBytes 10.0 Mbits/sec 0.215 ms 0/ 892 (0%)
[ 4] 6.0- 7.0 sec 1.3 MBytes 10.0 Mbits/sec 0.325 ms 0/ 892 (0%)
[ 4] 7.0- 8.0 sec 1.3 MBytes 10.0 Mbits/sec 0.254 ms 0/ 892 (0%)
[ 4] 8.0- 9.0 sec 1.3 MBytes 10.0 Mbits/sec 0.282 ms 0/ 892 (0%)
[ 4] 0.0-10.0 sec 12.5 MBytes 10.0 Mbits/sec 0.243 ms 1/ 8922 (0.011%) ←最终结果
从左至右,测量时间,接收到的数据,bps,单向延迟,丢包数/接收数量(丢包率)
node1> iperf -c node2 -u -b 10m 
------------------------------------------------------------ 

Client connecting to node2, UDP port 5001 Sending 1470 byte datagrams
UDP buffer size: 60.0 KByte (default) 

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

[ 3] local <IP Addr node1> port 9726 connected with <IP Addr node2> port 5001
[ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 12.5 MBytes 10.0 Mbits/sec
[ 3] Sent 8922 datagrams 

选项

-s 服务器模式启动
-c <服务器地址> 客户端启动模式启动
-B <绑定地址> 加入指定的组播,只在组播情况下使用
-u UDP发送(-b 选项情况下可选)
-b <编号> [ KM ] 指定带宽(缺省为1 Mbps)仅用于UDP
-T <数> TTL
-t <秒> 测量时间
-i <秒> 报告显示间隔
-l <字节> 数据包大小
-d 发送接收模式
时间: 2024-07-30 06:09:19

iperf 用法的相关文章

网络性能评估工具iperf

项目背景: 在我们的企业生产中,我们需要对我们的网络性能有一定的监控,从而对网络进行优化,提供给我们客户最好的服务.当然 老板没钱! 监控开源!!! 试验环境: vmware workstation 11 服务器:centos6.5  ip:192.168.0.53 客户端:centos6.5  ip: 192.168.0.26 服务器:iperf-2.0.5-11.el6.x86_64 客户端:iperf-2.0.5-11.el6.x86_64 服务器:iptables关闭 客户端:iptab

Linux网络性能评估工具iperf 、CHARIOT测试网络吞吐量

网络性能评估主要是监测网络带宽的使用率,将网络带宽利用最大化是保证网络性能的基础,但是由于网络设计不合理.网络存在安全漏洞等原因,都会导致网络带宽利用率不高.要找到网络带宽利用率不高的原因,就需要对网络传输进行监控,此时就需要用到一些网络性能评估工具,而Iperf就是这样一款网络带宽测试工具,本节将详细介绍一下Iperf的使用. 1. Iperf能做什么 Iperf是一款基于TCP/IP和UDP/IP的网络性能测试工具,它可以用来测量网络带宽和网络质量,还可以提供网络延迟抖动.数据包丢失率.最大

js中获取时间new date()的用法

js中获取时间new date()的用法 获取时间:   var myDate = new Date();//获取系统当前时间 获取特定格式的时间: 1 myDate.getYear(); //获取当前年份(2位) 2 myDate.getFullYear(); //获取完整的年份(4位,1970-????) 3 myDate.getMonth(); //获取当前月份(0-11,0代表1月) 4 myDate.getDate(); //获取当前日(1-31) 5 myDate.getDay();

20.5 Shell脚本中的逻辑判断;20.6 文件目录属性判断;20.7 if特殊用法;20.8 20.9 cace判断(上下)

扩展: select用法 http://www.apelearn.com/bbs/thread-7950-1-1.html 20.5 Shell脚本中的逻辑判断 格式1:if 条件 ; then 语句; fi 1. 创建if1.sh测试脚本: [[email protected] ~]# vi if1.sh a=5,如果a大于3,满足这个条件,显示ok 添加内容: #!/bin/bash a=5 if [ $a -gt 3 ] then echo ok fi 2. 执行if1.sh脚本: [[e

20.1 Shell脚本介绍;20.2 Shell脚本结构和执行;20.3 date命令用法;20.4 Shell脚本中的变量

20.1 Shell脚本介绍 1. shell是一种脚本语言 aming_linux blog.lishiming.net 2. 可以使用逻辑判断.循环等语法 3. 可以自定义函数 4. shell是系统命令的集合 5. shell脚本可以实现自动化运维,能大大增加我们的运维效率 20.2 Shell脚本结构和执行 1. 开头(首行)需要加: #!/bin/bash 2. 以#开头的行作为解释说明: 3. 脚本的名字以.sh结尾,用于区分这是一个shell脚本 4. 执行.sh脚本方法有两种:

shell 中seq的用法 echo -n用法

用法:seq [选项]... 尾数 或:seq [选项]... 首数 尾数 或:seq [选项]... 首数 增量 尾数 从1循环到100的两种方法(bash 其它的shell没试过)for x in `seq 1 100`;do echo $x;donefor x in {1..100};do echo $x;done echo -n 不换行输出 $echo -n "123" $echo "456" 最终输出 123456 echo -e 处理特殊字符 若字符串中

sudo的用法

su -l user -C 'COMMAND' 是用user这个用户执行命令 我们一般使用sudo 这个命令 sudo [-u] user COMMAND sudo [-k] COMMAND 清除此前用户的密码. sudo的配置文件/etc/sudoers 配置项为 users    hosts=(runas)    commands users:可以是一个用户的名称也可以是一个组,也可以是一个别名 username #UID user_alias 用户别名的用法 User_Alias NETA

几招学会 Python 3 中 PyMongo 的用法

本文和大家分享的是Python3下MongoDB的存储操作相关内容,在看本文之前请确保你已经安装好了MongoDB并启动了其服务,另外安装好了Python的PyMongo库.下面进入正题,一起来看看吧,希望对大家学习Python3有所帮助. 连接MongoDB 连接MongoDB我们需要使用PyMongo库里面的MongoClient,一般来说传入MongoDB的IP及端口即可,第一个参数为地址host,第二个参数为端口port,端口如果不传默认是27017. import pymongo cl

11 css中分组选择符的用法

<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <style type="text/css"> h1,span{color:red;} a:hover{color:#2EE926;} /*分组选择符的用法*/ </style> </head> <body&