Azure Lei Zhang的博客

weibo: LeiZhang的微博/QQ: 185165016/QQ群:319036205/邮箱:leizhang1984@outlook.com/TeL:139-161-22926

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

  《Windows Azure Platform 系列文章目录

 

  本文介绍如何使用netperf进行PPS (packets per second)压力测试

 

  主要步骤分为一下几点:

  1.创建Azure Server VM和Azure Client VM,其中Server VM作为服务器,Client VM对Server发起请求

  2.分别在Server VM和Client VM上,都安装netperf

  3.在Server VM上启动netserver服务

  4.在Client VM上创建压测脚本,并进行压力测试

  5.在Server VM上收集日志

 

 

  具体步骤如下:

  1.创建Azure虚拟网络,创建Azure虚拟机,步骤略。

  2.选择Azure VM类型为DV5系列,如D4s v5,注意VM的网络设置里,要选择加速网卡

  3.分别在Server VM和Client VM上,都安装netperf

yum install gcc make  -y
yum install sysstat -y

mkdir /data
cd data

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

cd netperf-netperf-2.5.0

./configure 
make && make install

  执行netperf -h和netserver -h命令,确认安装成功

 

  4.在Server VM上启动netserver服务

netserver

 

  5.在Client VM上准备测试脚本,我们生成一个shell文件,叫multi_thread.sh

vi multi_thread.sh

  输入下面的内容中,通过使用UDP发起并发请求。

#!/bin/bash
host_ip=$1
time_elapsed=$2
thread_count=$3

for i in $(seq 1 $thread_count)
{
     netperf -H $host_ip  -t UDP_STREAM -l $time_elapsed -- -m 1 -R 1 &
}

 

TCP_STREAM:client端向server端发送批量TCP数据
UDP_STREAM:client端向server端发送批量UDP数据
TCP_RR和TCP_CRR:前者是在同一个连接中进行多次request和response请求(并发),后者(新建)是每次请求新建一个连接(HTTP)
UDP_RR:使用UDP进行request和response请求

 

 

  6.在Client VM上执行脚本

./multi-thread [ServerVM的内网IP地址] [测试持续时间秒] [测试线程数]

 

  7.在Server VM上执行脚本

  下面的脚本中,DEV显示网络接口信息,每1秒钟取1次值,一共执行1100秒。把结果输出到txt文件里

sar -n DEV 1 -t 1100 > 4core_1thread_20minutes.txt

 

  输出结果类似以下信息:

11:02:57 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil
11:02:58 AM eth1 15.00 20.00 3.61 5.86 0.00 0.00 0.00 0.00
11:02:58 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:02:58 AM eth0 14.00 19.00 3.35 5.80 0.00 0.00 0.00 0.00

Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil
Average: eth1 5091163.97 5.36 298311.54 1.53 0.00 0.00 0.00 2.44
Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: eth0 5091163.58 5.05 228705.77 1.51 0.00 0.00 0.00 1.87

  

  其中:

IFACE:网络接口
rxpck/s:每秒钟接收的数据包
txpck/s:每秒钟发送的数据包
rxbyt/s:每秒钟接收的字节数
txbyt/s:每秒钟发送的字节数
rxcmp/s:每秒钟接收的压缩数据包
txcmp/s:每秒钟发送的压缩数据包
rxmcst/s:每秒钟接收的多播数据包

 

posted on 2022-07-09 22:21  Lei Zhang的博客  阅读(654)  评论(0编辑  收藏  举报