《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:每秒钟接收的多播数据包
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2020-07-09 Azure Redis Cache (6) Java Spring Cloud访问Azure Redis Cluster
2014-07-09 Microsoft Azure News(2) 在Microsoft Azure上运行SAP应用程序
2014-07-09 Microsoft Azure News(1) 新的数据中心Japan East, Japan West and Brazil South
2014-07-09 Windows Azure HandBook (2) Azure China提供的服务
2012-07-09 Windows Azure Affinity Groups (1) Windows Azure Affinity Groups(地缘组)的重要性