元件:多个类似功能组件的容器(类似于类)
组件:实现独立的某个功能(类似与方法,在元件里)
文件 必需 和 jmeter脚本文件 在同一个目录下
把测试数据组织起来,用不同的测试数据调用相同的测试方法
让程序自动判断预期结果和实际结果是否一致
对请求的任意格式的响应结果进行断言
字符串 匹配 的是响应文本
请求的响应结果为json格式时,可以使用json断言
测试请求的响应时间是否满足要求时,可以使用断言持续时间
请求之间有依赖关系,一个请求的响应数据作为另一个的请求参数来传递
任意格式的响应数据,都可以使用正则表达式提取器进行提取
正则测试
json测试
实现跨线程关联
使用jmeter自带录制脚本
步骤:
需 前后加 .* 号
1.下载MYSQL驱动jar包
地址:
1.在 测试计划 里 引用
2.或 将驱动包放入到 lib 目录下
阻塞线程(积累一定的请求),当在规定的时间内达到一定的线程数量,这些线程辉在同一个时间点一起释放,瞬间产生很大的压力
二八原则
监听单位时间内活动的线程数。其中横坐标是单位时间(单位是毫秒),纵坐标是活动线程数(也就是并发数)
动态监听单位时间的点击率(不是鼠标),也就是触发的请求数。其中横坐标是运行时间,纵坐标是HPS值。
主要展示的是在负载测试期间,每秒接收和发送的字节数。
·脚本运行期间,吞吐率变化趋势图
·在容量规划、可用性测试和大文件上传下载场景中,吞吐量是很重要的一个监控和分析指标
监听整个事务运行期间的响应时间。其中横坐标是运行时间,纵坐标是响应时间(单位是毫秒)
该图表展示的主要是每个样本的平均响应时间,单位为ms;
·脚本运行期间,不同事务(请求)的响应时间变化趋势图
·包括事务控制器样本结果
·重点:可以根据响应时间和变化和TPS以及模拟的并发数变化,判断性能拐点的范围
·一条线代表一个事务(请求)
监听动态TPS,用来分析吞吐量。其中横坐标是运行时间,纵坐标是TPS值。红色表示通过的TPS,绿色表示失败的。
记录客户端发送请求完成后,服务器端返回请求之前这段时间
混合图表
在它的Graphs里面可以设置多少个图表一起展示,它可以同时展示多个图表
这里可以将一些图表结合在一起查看性能趋势和走向,有利于对比和结合查看性能
创建线性负载:
如下图,我这里创建的就是一个线性负载,我的测试场景是60s内启动100个线程,持续运行60s,花10s的时间结束:
这个场景就比如说,高考成绩公布,这个时候系统60s内涌入了100个用户并发,他们访问系统持续时间60s,10s钟都退出了系统
目的:
这里的持续时间,就是要看看系统达到这些负载后,能不能稳定运行,性能会不会恶化?但是这样的话,我们不确定这个负载量是多少,我们不确定服务器能处理的负载量是多少,哪些负载不能处理?
所以,我们要按步骤增加负载,慢慢加上去,这就是我们的步进负载
创建步进负载:
场景:
想看系统的负载量是多少,最大负载多少,是否可以平稳运行
这里我们就要用到多个线程组,在线性基础上增加多个线程组。比如我想每分钟增加25个线程,这25个线程启动耗时话费15s,设置如下:
创建波浪形测试负载:浪涌测试场景
场景:
比如12306抢票的时候,每次开放抢票时,有大量用户涌入,等到下次开放时,又有大量用户涌入,这个时候,就像波浪一样,不断敲击服务器,考验服务器的性能
配置说明:
第一个阶段,花20s的时间,启动25个线程,持续运行60s,用5s的时间停止掉
第二个阶段,第一阶段的线程都停止后,再开始启动第二个阶段的线程,花20s的时间再启动25个线程,再持续60s,用5s停掉
第三个阶段,等第二个线程都结束后,再花20s的时间启动25个线程,持续60s,再停掉
这样像波浪一样拍打服务器,观察服务器的性能,看系统是否能平稳运行。
意思解读:
– This group will start 10 threads:设置单台负载机,线程组启动的线程总数为10个
–First,wait for 0 seconds:启动第一个线程之前,需要等待0秒
–Then start 10 threads:设置最开始时启动10个线程
–Next,add 10 threads every 1 seconds,using ramp-up 5 seconds:每隔1秒,在5秒内启动10个线程
–Then hold load for 60 seconds:单台负载机启动的线程总数达到最大值之后,再持续运行60秒
–Finally,stop 5 threads every 1 seconds:每隔1秒,停止5个线程
jmeter非界面运行
在 cmd 命令窗口执行 :jmeter 命令行参数
命令行参数:
-n -t -n:非界面方式运行,-t:指定 jmx 文件的位置
-l -l :指定生成的 jtl 格式的结果(在jmeter的 查看结果树 里可以查看)
-e -o -e:生成 html 报告,-o :指定html报告的文件夹(这个文件夹必须是 空目录)