zoukankan      html  css  js  c++  java
  • Iperf 网络性能测试

    1.iperf安装

    1.1将iperf_PC.rar工具解压放在默认的盘目录下即可,无需安装

    1.2安装iperf for android 2.06.apk"到手机端.

    adb install iperf for android 2.06.apk

    1.3对路由器的wifi进行性能测试

    TCP

    • 测量网络带宽
    • 报告MSS/MTU值的大小和观测值
    • 支持TCP窗口值通过套接字缓冲
    • 当P线程或Win32线程可用时,支持多线程。客户端与服务端支持同时多重连接

    UDP

    • 客户端可以创建指定带宽的UDP流
    • 测量丢包
    • 测量延迟
    • 支持多播
    • 当P线程可用时,支持多线程。客户端与服务端支持同时多重连接(不支持Windows)。

    测试举例:

    设备(路由器)或随身wifi)开热点,电脑和手机连接同一个热点(无数据)针对wifi性能进行测试。测UDP丢包率时需要有数据连接。

    测试单线程TCP上行测试以发射为主)

    在服务端运行iperf,输入命令 iperf –s –i 1 –w 1M

    在客户端运行iperf,输入命令iperf –c 192.168.43.66 –i 1 –w 1M

    PC: iperf –s –i 1 –w 1M

    Client: iperf –c 192.168.43.66 –i 1 –w 1M

    其中参数说明如下:

    -c:客户端模式,后接服务器ip

    -p:后接服务端监听的端口

    -i:设置带宽报告的时间间隔,单位为秒

    -t:设置测试的时长,单位为秒

    -w:设置tcp窗口大小,一般可以不用设置,默认即可

    TCP下行测试(以接收为主)

    PC: iperf –c 192.168.43.66 –i 1 –w 1M

    Client: iperf –s –i 1 –w 1M

    PC

    其中:Interval表示时间间隔。Transfer表示时间间隔里面转输的数据量。Bandwidth是时间间隔里的传输速率。最后一行是本次测试的统计。测试可知带宽平均为8.79Mbit/s。

    client

    测试单线程UDP,上行测试(以发射为主)

    • 在服务端运行iperf,输入命令iperf –u -s并运行于udp模式
    • 在客户端运行iperf,输入命令iperf –u –c 192.168.43.66  -b 900M  -i 1 –w 1M –t 60,其中参数说明如下:

    PC: iperf –u -s

    Client: iperf –u –c 192.168.43.66  -b 900M  -i 1 –w 1M –t 60

    -c:客户端模式,后接服务器ip

    -p:后接服务端监听的端口

    -i:设置带宽报告的时间间隔,单位为秒

    -t:设置测试的时长,单位为秒

    -b:设置udp的发送带宽,单位bit/s

    UDP下行测试(以接收为主)

    PC: iperf –u –c 192.168.43.12 -b 900M  -i 1 –w 1M –t 60

    Client: iperf –u -s

    PC

    UDP下行测试(以接收为主)

     其中,Jitter为抖动,lost/total为丢包数量,Datagrams为包数量。

    数据如下所示:

    未改tcp

    "-i 1 -t 60"

     

    **带宽测试

       

    机型

    M/S

    11n

    上行

    下行

    上行

    下行

    上行

    NEO2

    10.2

    11.9

    10.7

    11.6

    10.5

    未改udp

             

    带宽数量

    20M

    40M

    上行

    下行

    上行

    下行

    上行

    速率M/S

    10

    14 

    7.9

    13.4

    8.49

    丢包率

    49%

    0%

    68%

    28%

    67%

    延时

    0.983

    1.449

    2.073ms

    2.429ms

    7.908ms

    丢失

    49497

    0

    86795

    26294

    88253

    总包

    100776

    71662

    127255

    94376

    131742

    已改tcp

       

    "-i5 -t 60"

     

    "-i 2 -t 60"

    机型

    M/S

    11n

    上行

    下行

    上行

    下行

    上行

    NEO2

    4.16

    3.48

    7.28

    6.36

    4.78

    已改udp

             

    带宽数量

    20M

    40M

    上行

    下行

    上行

    下行

    上行

    速率M/S

    3.11 

    7.02 

    6.25 

    7.37 

    2.04 

    丢包率

    47%

    1.7%

    43%

    1%

    87%

    延时

    10 

    83 

    丢包

    12418 

    603 

    56370 

    502 

    74819 

    总包

    26679 

    36410 

    47608 

    38085 

    85931 


    资源里包括windows的iperf.exe、android系统安装的iperf.apk和iperf使用说明参数等内容。
    备注:

    Iperf是一个网络性能测试工具。可以测试TCP和UDP带宽质量,可以测量最大TCP带宽,具有多种参数和UDP特性,可以报告带宽,延迟抖动和数据包丢失。

    Iperf使用方法与参数说明

    参数说明

    -s 以server模式启动,eg:iperf -s

    -c host以client模式启动,host是server端地址,eg:iperf -c 222.35.11.23

    通用参数

    -f [kmKM] 分别表示以Kbits, Mbits, KBytes, MBytes显示报告,默认以Mbits为单位,eg:iperf -c 222.35.11.23 -f K

    -i sec 以秒为单位显示报告间隔,eg:iperf -c 222.35.11.23 -i 2

    -l 缓冲区大小,默认是8KB,eg:iperf -c 222.35.11.23 -l 16

    -m 显示tcp最大mtu值

    -o 将报告和错误信息输出到文件eg:iperf -c 222.35.11.23 -o ciperflog.txt

    -p 指定服务器端使用的端口或

    客户端所连接的端口eg:iperf -s -p 9999;iperf -c 222.35.11.23 -p 9999

    -u 使用udp协议

    -w 指定TCP窗口大小,默认是8KB

    -B 绑定一个主机地址或接口(当主机有多个地址或接口时使用该参数)

    -C 兼容旧版本(当server端和client端版本不一样时使用)

    -M 设定TCP数据包的最大mtu值

    -N 设定TCP不延时

    -V 传输ipv6数据包

    server专用参数

    -D 以服务方式运行iperf,eg:iperf -s -D

    -R 停止iperf服务,针对-D,eg:iperf -s -R

    client端专用参数

    -d 同时进行双向传输测试

    -n 指定传输的字节数,eg:iperf -c 222.35.11.23 -n 100000

    -r 单独进行双向传输测试

    -t 测试时间,默认10秒,eg:iperf -c 222.35.11.23 -t

    -F 指定需要传输的文件

    -T 指定ttl值

    ==================

    服务器端专用选项

    -s, --server   Iperf服务器模式

    -c, --client host   如果Iperf运行在服务器模式,并且用-c参数指定一个主机,那么Iperf将只接受指定主机的连接。此参数不能工作于UDP模式。

    https://www.cnblogs.com/yingsong/p/5682080.html#undefined

  • 相关阅读:
    如何将伪数组转换成真正的数组
    JS 中对变量类型的五种判断方法
    ajax详解
    onload和ready的区别
    ES5继承
    跨域的三种解决方式
    如何处理使用js兼容所有浏览器的问题
    Canvas修行之黑客帝国代码雨
    Webpack+React+ES6入门指南[转]
    对于Mongodb数据库的学习
  • 原文地址:https://www.cnblogs.com/suesky/p/8857096.html
Copyright © 2011-2022 走看看