• 使用iperf3测试网络带宽


    使用iperf3测试网络带宽

    控制变量:这两台电脑或者服务器和电脑的网卡需要支持千兆。避免影响结果出现变量

    一、下载及简单使用。

    下载:https://iperf.fr/iperf-download.php
    在这里插入图片描述
    使用说明:

    iperf3.exe -h
    Usage: iperf [-s|-c host] [options]
           iperf [-h|--help] [-v|--version]
    
    Server or Client:
      -p, --port      #         server port to listen on/connect to
      -f, --format    [kmgKMG]  format to report: Kbits, Mbits, KBytes, MBytes
      -i, --interval  #         seconds between periodic bandwidth reports
      -F, --file name           xmit/recv the specified file
      -B, --bind      <host>    bind to a specific interface
      -V, --verbose             more detailed output
      -J, --json                output in JSON format
      --logfile f               send output to a log file
      -d, --debug               emit debugging output
      -v, --version             show version information and quit
      -h, --help                show this message and quit
    Server specific:
      -s, --server              run in server mode
      -D, --daemon              run the server as a daemon
      -I, --pidfile file        write PID file
      -1, --one-off             handle one client connection then exit
    Client specific:
      -c, --client    <host>    run in client mode, connecting to <host>
      -u, --udp                 use UDP rather than TCP
      -b, --bandwidth #[KMG][/#] target bandwidth in bits/sec (0 for unlimited)
                                (default 1 Mbit/sec for UDP, unlimited for TCP)
                                (optional slash and packet count for burst mode)
      -t, --time      #         time in seconds to transmit for (default 10 secs)
      -n, --bytes     #[KMG]    number of bytes to transmit (instead of -t)
      -k, --blockcount #[KMG]   number of blocks (packets) to transmit (instead of -t or -n)
      -l, --len       #[KMG]    length of buffer to read or write
                                (default 128 KB for TCP, 8 KB for UDP)
      --cport         <port>    bind to a specific client port (TCP and UDP, default: ephemeral port)
      -P, --parallel  #         number of parallel client streams to run
      -R, --reverse             run in reverse mode (server sends, client receives)
      -w, --window    #[KMG]    set window size / socket buffer size
      -M, --set-mss   #         set TCP/SCTP maximum segment size (MTU - 40 bytes)
      -N, --no-delay            set TCP/SCTP no delay, disabling Nagle's Algorithm
      -4, --version4            only use IPv4
      -6, --version6            only use IPv6
      -S, --tos N               set the IP 'type of service'
      -Z, --zerocopy            use a 'zero copy' method of sending data
      -O, --omit N              omit the first n seconds
      -T, --title str           prefix every output line with this string
      --get-server-output       get results from server
      --udp-counters-64bit      use 64-bit counters in UDP test packets
    
    [KMG] indicates options that support a K/M/G suffix for kilo-, mega-, or giga-
    
    iperf3 homepage at: http://software.es.net/iperf/
    Report bugs to:     https://github.com/esnet/iperf
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51

    自行-h翻译一下多试试就会用了,其中服务端和客户端常用的命令就几个。
    服务器端:直接 iperf3 -s 就行,默认是Mbits/sec 也可以加-f指定输出格式:Kbits, Mbits, KBytes, MBytes,不用-p指定端口的话默认是5201

    客户端:

    iperf3 -c 服务器IP -f m
    【测试客户端传数据到服务端】
    
    • 1
    • 2

    测试几次后加个-R在测试几次

    iperf3 -c 服务器IP -f m -R
    【测试服务端传数据到客户端】
    
    • 1
    • 2

    这个参数可以理解为测试上传速度、下载速度;上传速度(即数据从客户端发送到服务器端的速度),而不使用选项-R进行测试时,会测量下载速度(即数据从服务器端发送到客户端的速度)。

    二、Kbits, Mbits, KBytes, MBytes的意思

    这些是计算机和网络领域中常用的数据传输速率和存储容量单位:

    1、Kbits(千比特): 表示千位(1000位)比特。1 Kbit 等于 1000 比特。通常用于描述网络带宽。

    2、Mbits(兆比特): 表示百万位(1000000位)比特。1 Mbit 等于 1000000 比特。通常用于描述较大的网络带宽,如宽带连接的速度。

    3、KBytes(千字节): 表示千个字节(1024字节)。1 KByte 等于 1024 字节。通常用于描述文件大小、硬盘容量等。

    4、MBytes(兆字节): 表示百万字节(1024 * 1024字节)。1 MByte 等于 1024 * 1024 字节。通常用于描述大文件、存储容量等。
    其中Kbits(千比特)和Mbits(兆比特)用于表示每秒传输10兆比特的数据。
    KBytes(千字节)和MBytes(兆字节)用于表示每秒传输1兆字节的数据。

    在这里插入图片描述
    在这里插入图片描述
    参数指定 -f
    Kbits(千比特)-------- -f k
    Mbits(兆比特)-------- -f m
    Gbits -------- -f g
    KBytes(千字节)-------- -f K
    MBytes(兆字节)-------- -f M
    GBytes -------- -f G
    在这里插入图片描述
    大M和小m参数是不同的单位
    Interval 表示间隔时间
    Transfer 表示的是在测试过程中传输的数据量。这个值通常以 MBytes 或 GBytes 表示,表示测试期间传输的兆字节或千兆字节。这个数值告诉您在测试期间有多少数据通过网络连接传输了。这个值是帮助您了解在一段时间内的数据传输量,通常用于评估网络连接的性能。
    Bandwidth 表示的是测试过程中的带宽通常以 Mbits/sec(兆比特每秒)或 Gbits/sec(千兆比特每秒)为单位。带宽的值越高,表示网络连接的性能越好,能够传输更多的数据。

    三、简单测试

    1.在内网服务器运行服务端测试在同一个路由器(该路由器下共有4台电脑)wifi和网线电脑带宽
    wifi为4.89 MBytes/sec 网线为11.1 MBytes/sec
    【结果表示wifi下传输1G文件需要大约需要209.4秒(1G=1024MB 1024/4.89约等于209.4秒)
    结果表示有线传输1G文件需要大约需要92.25秒

    在这里插入图片描述

    在这里插入图片描述

    2.用两台电脑用网线相连测试带宽
    自动配置IP:
    测试结果太低(找时间重新测试)

    手动配置IP:
    测试三次结果为110 MBytes/sec、109 MBytes/sec、105 MBytes/sec
    两网卡支持千兆、网线为UTP CAT 6e CABLE 4PR 23AWG(貌似为非国标网线)

    四、iperf3常用测试语句

    以下是一些常用的 iperf3 测试语句示例,这些语句用于在两台计算机之间测试网络连接的性能。在这些示例中,假设一个计算机充当服务器,另一个计算机充当客户端。请根据您的需求和网络配置进行相应的修改:

    1. 在服务器上启动iperf3服务:
    iperf3 -s
    
    • 1

    这会在服务器上启动iperf3服务,默认使用端口 5201。

    1. 在客户端连接到服务器进行带宽测试:
    iperf3 -c <服务器IP地址>
    
    • 1

    这会在客户端连接到指定IP地址的服务器进行带宽测试,默认使用端口 5201。

    1. 指定带宽测试时间:
    iperf3 -c <服务器IP地址> -t <测试时间(秒)>
    
    • 1

    这会在客户端连接到指定IP地址的服务器进行带宽测试,持续指定的测试时间。

    1. 指定并发连接数:
    iperf3 -c <服务器IP地址> -P <并发连接数>
    
    • 1

    这会在客户端连接到指定IP地址的服务器进行带宽测试,并发连接数表示客户端与服务器建立的并发连接数量。

    1. 以UDP协议进行测试:
    iperf3 -c <服务器IP地址> -u 
    
    • 1

    这会在客户端连接到指定IP地址的服务器进行UDP带宽测试,默认使用端口 5201。

    1. 指定UDP带宽测试速率:
    iperf3 -c <服务器IP地址> -u -b <带宽速率(bits/sec)>
    
    • 1

    这会在客户端连接到指定IP地址的服务器进行UDP带宽测试,并指定UDP传输的带宽速率。

    五、衡量网络性能的关键指标

    衡量网络性能的关键指标有很多,这些指标可以帮助您了解网络的效率、可靠性和质量。以下是一些常见的网络性能指标:
    1、带宽(Bandwidth): 网络连接能够传输数据的最大速度,通常以比特每秒(bits/sec)为单位。

    2、延迟(Latency): 数据从源到目的地的传输时间,通常以毫秒(ms)为单位。低延迟表示网络响应快。

    3、丢包率(Packet Loss Rate): 在数据传输过程中丢失的数据包的百分比。较低的丢包率表示网络连接更可靠。

    4、吞吐量(Throughput): 在单位时间内通过网络连接传输的数据量,通常以比特每秒(bits/sec)或字节每秒(bytes/sec)为单位。

    5、抖动(Jitter): 数据包传输时延的变化量,通常以毫秒(ms)为单位。较小的抖动表示网络传输更稳定。

    6、带宽利用率(Bandwidth Utilization): 网络实际使用的带宽与总带宽之比,通常以百分比表示。

    7、可用性(Availability): 网络系统或服务在特定时间内可用的百分比。高可用性表示网络系统持续可用。

    8、QoS(Quality of Service): 衡量网络服务质量的指标,通常包括延迟、丢包率和带宽等。

    9、网络拓扑(Network Topology): 网络结构和组件的布局,影响数据传输的效率和可靠性。

    10、响应时间(Response Time): 客户端发送请求到服务器响应完成之间的时间,通常以毫秒(ms)为单位。

    这些指标通常用于评估网络的性能,不同的应用场景可能会侧重关注其中的不同指标。

  • 相关阅读:
    在Ubuntu上配置CUDA基础环境
    【HTML+CSS】博客系统(页面设计)
    误差反向传播法原理
    嵌入式分享合集22
    返回一个零长度的数组或者空的集合,不要返回null
    MySQL数据库入门到精通4--进阶篇(SQL优化)
    【图像插值】基于稀疏拉普拉斯滤波器处理红绿蓝三种像素实现插值效果附matlab代码
    【大型电商项目开发】JWT介绍以及SpringSecurity基于JWT实现Token的处理-51
    WordPress(6)网站侧边栏倒计时进度小工具
    每天一个数据分析题(四百)- 一元线性回归模型
  • 原文地址:https://blog.csdn.net/weixin_37571914/article/details/133996672