JMeter 压测

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jcsyl_mshot/article/details/81072758

0.解决Dynamic Web Module 3.1 requires Java 1.7 or newer

概述:使用maven构建web项目时,经常会遇见这个问题,问题原因报错讲述的很清晰明了,就是web模块需要使用java1.7及以后的版本,目前的版本不符合。因而只需要修改java版本到1.7及以上即可。

解决方法:
1. 在eclipse 构建 web中关于java版本有三处需要修改统一。
(1)在 Java Build Path的libraries中修改
(2)在Java Compiler 中修改
(3)在Project Facet中修改
https://blog.csdn.net/gnail_oug/article/details/53610768

2.大部分按上上述修改就应该可以了,但总是有意外,还是报错。因为使用了 maven构建项目,因而最好在pom.xml文件中的build标签中加入以下代码:

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source> //如果是1.8,修改为1.8
<target>1.7</target> //如果是1.8,修改为1.8
</configuration>
</plugin>
</plugins>
</build>

1.接口压测

每秒钟的并发量,每秒钟可疑的请求量
1.测试计划 右键添加线程组(设置线程数(并发数),循环次数)
2.线程组 右键 添加配置元件 ,http 请求默认值(协议,服务器名称,端口号)
3.线程组 右键 sample http 请求 【压测接口,请求方法,路径】
4.线程组 右键 监听器 聚合报告。

2.Jmeter 自定义变量

第3步:测试获取用户信息的接口,只访问redis 缓存
parameters: 添加 名称:tokens 值 :用户对应的tokens值(第一次登录时候将tokens 和用户信息 作为键值对保存在redis 中)

5.线程组 添加 配置元件 CSV data set config. #模拟多用户的压测
filename :Browser 本地配置文件
variable names:userId, userToken#配置文件中列名
delimiter:, #配置文件中分割符

parameter:添加 名称:tokens 值 :$(userToken)

3. 命令行压测

STEP ONE: 在Windows 上录好jmx,完成如下配置(细节如上)
1.线程组
2.http 请求
3.聚合报告

STEP TWO:命令行 sh jmeter.sh -n -t XXX.jmx -l result.jtl
1.将录制好的good_list.jmx.和jmeter 上传到服务器端
2.执行 apache-jmeter-3.3 /bin/jemter.sh -n -t good_list.jmx -l result.jtl

STEP THREE:把result.jtl 导入到jmeter
1.在服务器端生成的result.jtl 传送会Windows
2.打开jmeter 测试计划:聚合报告-浏览,选择生成的result.jtl

模拟多用户登陆测试秒杀功能:

1.主要通过编写util,在数据库中生成5000用户,同时模拟5000用户登陆,生成不同用户的tokens,记录tokens文件到本地磁盘 tokens.txt。
2.在录制jmx 文件时候,添加 配置元件 CSV data set config,将生成的tokens.txt 配置其中。
3.Http 请求中添加参数,goodId = 固定商品id; tokens = ${tokens}

5000并发跑了十次,1306 pqs

猜你喜欢

转载自blog.csdn.net/jcsyl_mshot/article/details/81072758