• Linux 网络性能测试工具 iperf 的安装和使用


    简介:
    Iperf是一个网络性能测试工具。可以测试TCP和UDP带宽质量,可以测量最大TCP带宽,具有多种参数和UDP特性,可以报告带宽,延迟抖动和数据包丢失。
    Iperf在Linux和windows平台均有二进制版本供自由使用

    安装:
     #安装好软件仓库包

    1 .  用yum软件仓库安装

       yum -y install  epel-release

       yum install iperf  -y

    参数说明:

    -s 以server模式启动。#iperf -s
    -c host以client模式启动。host是server端地址。#iperf -c serverip

    通用参数:
    -f [kmKM] 分别表示以Kbits, Mbits, KBytes, MBytes显示报告,默认以Mbits为单位,#iperf -c 192.168.100.6 -f K
    -i sec 以秒为单位显示报告间隔,#iperf -c 192.168.100.6 -i 2
    -l 缓冲区大小,默认是8KB,#iperf -c 192.168.100.6 -l 64
    -m 显示tcp最大mtu值
    -o 将报告和错误信息输出到文件#iperf -c 192.168.100.6 -o ciperflog.txt
    -p 指定服务器端使用的端口或客户端所连接的端口#iperf -s -p 5001;iperf -c 192.168.100.55 -p 5001
    -u 使用udp协议
    -w 指定TCP窗口大小,默认是8KB
    -B 绑定一个主机地址或接口(当主机有多个地址或接口时使用该参数)
    -C 兼容旧版本(当server端和client端版本不一样时使用)
    -M 设定TCP数据包的最大mtu值
    -N 设定TCP不延时
    -V 传输ipv6数据包

    server专用参数:
    -D 以服务方式运行。#iperf -s -D
    -R 停止iperf服务。针对-D,#iperf -s -R
    client端专用参数:
    -d 同时进行双向传输测试
    -n 指定传输的字节数,#iperf -c 192.168.100.6 -n 1024000
    -r 单独进行双向传输测试
    -t 测试时间,默认20秒,#iperf -c 192.168.100.6 -t 5
    -F 指定需要传输的文件
    -T 指定ttl值

    测量服务器带宽

    使用iperf工具测试服务器带宽,它分为服务端与客户端,两边都要安装iperf工具。在Linux通过yum或者apt-get即可直接安装。

    服务端(假设IP192.168.1.11)运行iperf服务:

    #iperf -s
    ------------------------------------------------------------                              
    Server listening on TCP port 5001            
    TCP window size: 85.3 KByte (default)        

    这是一台上下行带宽都接近100Mbits/sec的服务器,实测数值不应该与该数值偏离太远。

    客户端

    测试上行和下行带宽

    $iperf  -c 192.168.1.11 -t 60  -d
    ------------------------------------------------------------
    Server listening on TCP port 5001
    TCP window size: 85.3 KByte (default)
    ------------------------------------------------------------
    ------------------------------------------------------------
    Client connecting to 45.32.64.187, TCP port 5001
    TCP window size:  197 KByte (default)
    ------------------------------------------------------------
    [  4] local 104.250.144.8 port 50040 connected with 106.14.26.11 port 5001
    [  5] local 104.250.144.8 port 5001 connected with 106.14.26.11 port 34386
    [ ID] Interval       Transfer     Bandwidth
    [  4]  0.0-60.0 sec   658 MBytes  92.0 Mbits/sec #上行带宽
    [  5]  0.0-60.4 sec   628 MBytes  87.4 Mbits/sec #下行带宽

    从测试结果看,上行带宽为92.0Mbits/sec, 下行带宽为87.2Mbits/sec

    测量延迟、抖动和丢包率

    指标

    • 带宽:与服务商提供的最大带宽接近
    • 延迟:<100ms
    • 抖动:<20ms
    • 丢包率:<1%

    延迟,抖动和丢包率,直接使用ping做测试即可。如果想测量这个值,建议抓100个包测试:

    $ ping -c 100 www.baidu.com
    PING www.a.shifen.com (163.177.151.109): 56 data bytes
    64 bytes from 163.177.151.109: icmp_seq=0 ttl=55 time=26.639 ms
    64 bytes from 163.177.151.109: icmp_seq=1 ttl=55 time=24.329 ms
    64 bytes from 163.177.151.109: icmp_seq=2 ttl=55 time=24.794 ms
    64 bytes from 163.177.151.109: icmp_seq=3 ttl=55 time=22.709 ms
    64 bytes from 163.177.151.109: icmp_seq=4 ttl=55 time=39.994 ms
    64 bytes from 163.177.151.109: icmp_seq=5 ttl=55 time=50.786 ms
    。。。省略
    ^C
    --- www.a.shifen.com ping statistics ---
    100 packets transmitted, 100 packets received, 0.0% packet loss #最后这个百分比就是丢 包率
    round-trip min/avg/max/stddev = 21.505/26.743/50.786/6.613 ms #分别表示最小延迟、平均延迟、最大延迟、抖动(抖动就是延迟标准差)

    根据上面的结果,我们得到结论:

    延迟:26.743ms
    抖动: 6.613ms
    丢包率: 0.0%

    符合指标要求,所以访问百度一定很快。(这里假设带宽是没问题的,测量到服务器的带宽需要服务器支持,所以是测量不了的)

  • 相关阅读:
    实参和形参
    location对象
    区别 apply,call
    窗体之间的交互(window.opener)
    我的升级脚本总结
    Create elements
    history 对象
    函数参数的属性:callee
    发布app store流程
    【转】如何生成静态页面的五种方案
  • 原文地址:https://www.cnblogs.com/royfans/p/11331613.html
Copyright © 2020-2023  润新知