200
云计算
负载均衡
产品简介
产品价格
快速入门
用户指南
实践操作
常见问题
购买指南
云服务器
产品简介
计费规则
购买指导
控制台使用指南
常见问题
云数据库
产品简介
计费规则
购买指导
快速入门
连接实例
控制台使用指南
对象存储
产品简介
控制台使用指南
程序员百科
Python
百度智能云服务器运维参考-Linux-网络性能测试

产品推荐:

1、安全稳定的云服务器租用,2核/2G/5M仅37元,点击抢购>>>

2、高防物理服务器20核/16G/50M/200G防御仅350元,点击抢购>>>

3、百度智能建站(五合一网站)仅880元/年,点击抢购>>> 模板建站(PC+手机站)仅480元/年,点击抢购>>>



点击这里点击这里申请百度智能云特邀VIP帐号,立即体验云服务器BCC>>>


本文主要介绍Linux系统中网络性能测试工具的使用,以Centos7.6为例,主要说明如下(本次测试的参数结果仅作为参考,具体还需结合服务器自身业务情况综合判断)。

  1. 衡量指标
    一般使用以下指标查看网络带宽的性能:

    • Bandwidth
    • Retr/Retransmits
  2. 测试工具
    iperf是一个网络性能测试工具,可以测试TCP和UDP带宽质量,可以测量最大TCP带宽,具有多种参数和UDP特性,可以报告带宽,延迟抖动和数据包丢失。主要功能如下:
    TCP

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

    UDP

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

1)下载软件包,解压后进入iperf目录,以iperf-3.1.3为例

$ wget https://iperf.fr/download/source/iperf-3.1.3-source.tar.gz
$ tar xzvf iperf-3.1.3-source.tar.gz
$ cd iperf-3.1.3/

2)make编译

$ ./configure
$ make && make install

如果在make过程中出现报错,可以依照如下的参考,手动同步依赖包。

//报错信息:iperf3: error while loading shared libraries: libiperf.so.0: cannot open shared object file: No such file or directory
$ /sbin/ldconfig
  1. 参数说明

在完成iperf安装后,执行“iperf3 –h”即可显示iperf的详细用法,iperf的命令行选项共分为三类,分别是客户端与服务器端共用选项、服务器端专用选项和客户端专用选项,下面对常用的选项进行介绍。

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

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

1)通用参数

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

-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 -p9999

-u 使用udp协议

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

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

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

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

-N 设定TCP不延时

-V 传输ipv6数据包

2)server专用参数

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

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

3)client端专用参数

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

-n 指定传输的字节数,eg:iperf -c222.35.11.23 -n 100000

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

-t 测试时间,默认10秒,eg:iperf -c222.35.11.23 -t 5

-F 指定需要传输的文件

-T 指定ttl值

  1. 工具使用

以两台服务器为例,进行TCP测试,具体信息如下:

Server端:192.168.44.9

Client端:192.168.44.12

1)Server端执行:iperf -s

$ iperf3 -s
-----------------------------------------------------------
Server listening on 5201-----------------------------------------------------------
Accepted connection from 192.168.44.12, port 60228[  5] local 192.168.44.9 port 5201 connected to 192.168.44.12 port 60230[ ID] Interval           Transfer     Bandwidth[  5]   0.00-1.00   sec   172 MBytes  1.44 Gbits/sec[  5]   1.00-2.00   sec   179 MBytes  1.50 Gbits/sec[  5]   2.00-3.00   sec   179 MBytes  1.50 Gbits/sec[  5]   3.00-4.00   sec   179 MBytes  1.50 Gbits/sec[  5]   4.00-5.00   sec   179 MBytes  1.50 Gbits/sec[  5]   5.00-6.00   sec   179 MBytes  1.50 Gbits/sec[  5]   6.00-7.00   sec   179 MBytes  1.50 Gbits/sec[  5]   7.00-8.00   sec   179 MBytes  1.50 Gbits/sec[  5]   8.00-9.00   sec   179 MBytes  1.50 Gbits/sec[  5]   9.00-10.00  sec   179 MBytes  1.50 Gbits/sec[  5]  10.00-11.00  sec   179 MBytes  1.50 Gbits/sec[  5]  11.00-12.00  sec   179 MBytes  1.50 Gbits/sec[  5]  12.00-13.00  sec   179 MBytes  1.50 Gbits/sec[  5]  13.00-14.00  sec   179 MBytes  1.50 Gbits/sec[  5]  14.00-15.00  sec   179 MBytes  1.50 Gbits/sec[  5]  15.00-16.00  sec   179 MBytes  1.50 Gbits/sec[  5]  16.00-17.00  sec   179 MBytes  1.50 Gbits/sec[  5]  17.00-18.00  sec   179 MBytes  1.50 Gbits/sec[  5]  18.00-19.00  sec   179 MBytes  1.50 Gbits/sec[  5]  19.00-20.00  sec   179 MBytes  1.50 Gbits/sec[  5]  20.00-20.06  sec  9.85 MBytes  1.50 Gbits/sec
-----------------------------------------------------------[ ID] Interval           Transfer     Bandwidth[  5]   0.00-20.06  sec  0.00 Bytes  0.00 bits/sec                  sender[  5]   0.00-20.06  sec  3.50 GBytes  1.50 Gbits/sec                  receiver
-----------------------------------------------------------
Server listening on 5201-----------------------------------------------------------

2)client端执行:iperf -c 192.168.44.9 -t 20 -i 2 -d -m

# iperf3 -c 192.168.44.9 -t 20 -i 2Connecting to host 192.168.44.9, port 5201[  4] local 192.168.44.12 port 60230 connected to 192.168.44.9 port 5201[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd[  4]   0.00-2.00   sec   362 MBytes  1.52 Gbits/sec    0   2.96 MBytes[  4]   2.00-4.00   sec   359 MBytes  1.50 Gbits/sec    0   3.01 MBytes[  4]   4.00-6.00   sec   359 MBytes  1.50 Gbits/sec    0   3.01 MBytes[  4]   6.00-8.00   sec   359 MBytes  1.50 Gbits/sec    0   3.01 MBytes[  4]   8.00-10.00  sec   358 MBytes  1.50 Gbits/sec    0   3.01 MBytes[  4]  10.00-12.00  sec   359 MBytes  1.50 Gbits/sec    0   3.01 MBytes[  4]  12.00-14.00  sec   359 MBytes  1.50 Gbits/sec   81   3.01 MBytes[  4]  14.00-16.00  sec   359 MBytes  1.50 Gbits/sec    0   3.01 MBytes[  4]  16.00-18.00  sec   359 MBytes  1.50 Gbits/sec    0   3.01 MBytes[  4]  18.00-20.00  sec   359 MBytes  1.50 Gbits/sec    0   3.01 MBytes
-----------------------------------------------------------[ ID] Interval           Transfer     Bandwidth       Retr[  4]   0.00-20.00  sec  3.51 GBytes  1.51 Gbits/sec   81             sender[  4]   0.00-20.00  sec  3.50 GBytes  1.51 Gbits/sec                  receiver
 
iperf Done.

可以从测试结果中看到测试过程中的传输数据量以及带宽信息,关于UDP的测试以及调整测试参数,大家可以依据自身测试需求进行更改。


这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好! 很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!