基于滴滴云之 Netperf 网络性能测试工具的搭建及使用

本文详细介绍如何使用Netperf工具进行网络性能测试,包括安装、配置及多队列功能的开启,通过实操演示如何测试收发方向的网络性能。

1. 介绍 Netperf

网络性能是云服务器的重要指标,对网络性能进行准确的测试非常重要。Netperf 是一种可以用来衡量不同类型网络性能的工具,它可以用来测试 PPS(即每秒钟发送数据包的数目)、单向吞吐量和端到端延迟。本文给大家简述如何采用 Netperf 对网络性能进行测试。

2. 安装 Netperf

2.1 环境准备
  • 测试机

    • 被压力测试网络 PPS 的 DC2 实例,可以用来作为 Netperf 测试中的 Client 端或者 Server 端

    • 虚拟机名称:test_netperf1; 虚拟机 IP:116.85.255.6。(虚拟机可以在 滴滴云 上申请)

  • 陪练机

    • DC2 实例,可以用来作为 Netperf 测试中的 Client 端或者 Server 端,与测试机建立控制连接,传递测试配置相关的信息以及测试结果

    • 虚拟机名称:test_netperf2; 虚拟机 IP:116.85.255.5

2.2 安装 Netperf
  • 运行下面命令下载 Netperf

  wget   - c   "https://codeload.github.com/HewlettPackard/netperf/tar.gz/netperf-2.5.0"   - O   netperf - 2.5.0.tar.gz

  • 解压 Netperf

   tar   - zxvf  netperf - 2.5.0.tar.gz

  • 进入 Netperf目录

   cd  netperf - 2.5.0.tar.gz

  • 执行以下命令配置文件,编译并且安装

  • 运行以下命令验证 Netperf 是否安装成功。如果安装成功会生成2个工具:NetServer 和 Netperf。

   netperf   - h

  netserver   - h

2.3 开启多队列功能

在测试机内开启多队列功能(假设需要开启的网卡是 eth0),用来提高测试机接收数据包的性能。

  • 执行以下命令开启多队列,开启 3 个队列

  ethtool   - L   eth0  combined   3

  • 执行以下命令修改每个队列的参数

3. 使用 Netperf 和 NetServer 测试网络性能

3.1 测试收方向
  • 测试机

    • 测试机内启动 NetServer 进程,-p 参数用来指定接收数据包的端口号

  netserver   - p   6000

  • 陪练机

    • 陪练机内启动 Netperf 进程,分别制定到测试机不同的 NetServer 端口

    • netperf -H 参数指定测试机的 IP 地址

    • netperf -p 参数指定测试机的端口号

    • netperf -l 参数指定陪练机向测试发送数据包的时间

    • netperf -t 参数指定发送数据包的协议类型为 TCP_STREAM 还是 UDP_STREAM

    • netperf -m 参数指定数据包的字节大小

  netperf   - H   116.85.255.6   - p   6000   - t   UDP_STREAM   - l   300   --   - m   64

3.2 测试发方向
  • 陪练机

    • 在所有陪练机内各启动一个 NetServer 进程,-p 指定端口号

   netserver   - p   7000

  • 测试机

    • 测试机内启动 Netperf 进程,-H 指定为陪练机的 IP 地址

    • 有多少个陪练机,需要在测试机内启动多少个 Netperf 进程

  netperf   - H   116.85.255.5   - p   6000   - t   UDP_STREAM   - l   300   --   - m   64

3.3 测试结果分析
  • 最终发送端的每个 Netperf 进程输出如下结果,以下结果不能代表以上申请测试机的性能,具体性能根据实际测试结果而定

输出结果各个字段的含义如下:

字段名 含义 备注
Socket size(bytes) 缓冲区的大小
Message size(bytes) 数据包的大小
Elapsed Time(secs) 测试时间
Messages Okay(个) 发送成功的数据包数目
Messages Errors(个) 发送失败的数据包数目
Throughtput(10^6bits/sec) 吞吐量
  • PPS

    • PPS 为每秒钟发送成功的数据包个数

    • 具体计算方法:PPS = 数据包发送成功的数目/测试时间

    • 可以在 Server 端用 sar 命令来统计实际收到的数据包,具体命令如下所示,其表示每隔 1 秒统计一次,统计 300 次,sar 命令最后会对 300 次的统计结果求平均

  sar   - n   DEV   1   300

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31559758/viewspace-2284261/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31559758/viewspace-2284261/

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值