赞
踩
当前版本:
简介
JMeter 通过 bzm - Concurrency Thread Group 来实现阶梯式压测,它并不是JMeter的官方插件,而是一种由Blazemeter提供的高级线程组插件。可以在不同的时间内并发执行不同数量的线程,模拟不同的负载场景。
文章目录如下
地址如下(下载2个包,一个用于阶梯式压测,一个用于增加性能监听器)
https://jmeter-plugins.org/downloads/old/
(注意:JMeter版本3.2以上)
将下载的两个zip包解压后,找到 JMeterPlugins-Standard.jar 和 JMeterPlugins-Extras.jar,放到 jmeter\lib\ext\ 下,重启 jmeter 生效。
添加阶梯式压测线程组
界面说明
jmeter 通过如下组件来构造高并发:
- bzm - Concurrency Thread Group # 模拟阶梯式压测
- JDBC Connection Configuration # 配置数据库连接信息
- JDBC Request # 构造业务
通过如下监听器来查看性能指标
- 聚合报告 # 查看整体性能指标
- jp@gc - Response Times Over Time # 查看响应时间走势图表
- jp@gc - Transactions per Second # 查看吞吐量走势图表
- jp@gc - Active Threads Over Time # 查看线程数走势
需求:初始线程数64,按2倍持续叠加,分别压测 64、128、256、512、1024并发数,共测试10分钟。配置如下:
- """MySQL"""
- URL:jdbc:mysql://[IP]:[端口]/[数库名] # jdbc:mysql://localhost:3306/mysql
- Driver:com.mysql.jdbc.Driver
- """Oracle"""
- URL:jdbc:oracle:thin:@[IP]:[端口]:[数库名] #jdbc:oracle:thin:@localhost:1521:orcl
- Driver:oracle.jdbc.OracleDriver
- """PostgreSQL"""
- URL:jdbc:postgresql://[IP]:[端口]/[数库名] # jdbc:postgresql://localhost:5432/postgres
- Driver:org.postgresql.Driver
简单读语句(仅举例)
简单写语句(仅举例)
所有基础配置如下:
配置完成后运行即可(我笔记本支撑不了1024并发,这里就不执行了)
线程组配置如下:
总共20个线程,分5次加压,运行时间3分钟。
线程数走势如下:
吞吐量走势如下:
从线程数和吞吐量对比来看,8个线程最为稳定。
线程组配置如下:
总共20个线程,不指定阶梯,总运行时间3分钟。
线程数走势如下:
吞吐量走势如下:
从线程数和吞吐量对比来看,也是6~8个线程最为稳定。
线程组配置如下:
总共8个线程,持续加压时间1分钟,加压完成后继续测试2分钟。
为什么这么设定?
从前面的测试结果来看,8个线程基本达到拐点,那么继续测试持续1分钟加压到8个线程后,持续测试2分钟(检测是否稳定)。
线程数走势如下:
吞吐量走势如下:
从线程数和吞吐量对比来看,8个线程波动太大,应该6个线程更稳定。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。