jmeter性能测试各个⽅法介绍
参数说明:
a) 引⽤名称:下⼀个请求要引⽤的参数名称,如填写token,则可⽤${token}引⽤它。
b) 正则表达式:
():括起来的部分就是要提取的
.:匹配任何字符串
+:⼀次或多次
?:在到第⼀个匹配项后停⽌
c) 模板:⽤$$引⽤起来,如果在正则表达式中有多个正则表达式,则可以是$2$$3$等等,表⽰解析到的第⼏个值给token。如:$1$表⽰解析到的第1个值
d) 匹配数字:0代表随机取值,1代表全部取值,通常情况下填0
缺省值:如果参数没有取得到值,那默认给⼀个值让它取。
四、插件管理
Jmeter插件管理plugins-manager.jar 它管理插件包括 上⾯常⽤的插件和各种第三⽅插件甚⾄核⼼JMeter插件
安装:下载后⽂件为plugins-manager.jar格式,将其放⼊jmeter安装⽬录下的lib/ext⽬录,然后重启jmeter
jmeter插件
【Jmeter】 性能监控(插件)
1、3 Basic Graphs ---基本图表
包含:
⑴ jp@gc - Transactions per Second
每秒处理事物数即TPS(x轴是测试执⾏持续时间,y轴是当前时刻事务数)
⑵ jp@gc - Response Times Over Time
事务响应时间(响应时间过程图,x轴是测试执⾏持续时间,y轴是事务响应时间)
⑶ jp@gc - Active Threads Over Time
随时间变化的活动线程
2、5 Additional Graphs ---附加图表
包含:
⑴ jp@gc - Bytes Throughput Over Time
不同时间吞吐量展⽰(字节Bytes)
聚合报告⾥,Throughput是按请求个数来展⽰的,⽐如说1.9/sec,就是每秒发送1.9个请求;⽽这⾥的展⽰是按字节
Bytes来展⽰的图表,表⽰每秒发送多少字节
⑵jp@gc - Connect Times Over Time
随着时间推移的连接时间
⑶ jp@gc - Hits per Second
每秒点击量
每秒web服务器接收到的请求数
⑷ jp@gc - Response Codes per Second
测试期间返回的每秒响应代码
⑸ jp@gc - Response Latencies Over Time
记录客户端发送请求完成后,服务器端返回请求之前这段时间
3、 PerfMon(Servers Performance Monitoring )---服务器性能监控
(安装后在Jmeter-中显⽰为"jp@gc - PerfMon Metrics Collector";可添加CPU、Memory、TCP、Disks I/O、network I/O) (注意:jmeter只能监控tomcat的主机;需要在服务器上启动StartAgent,即把插件解压到服务器上,运⾏StartAgent。)
4、 Custom Threads Groups --- ⾃定义线程组
包含:
(1).jp@gc - Stepping Thread Group(在Threads(users)) -步进线程组(以下类似LR中的场景设置)逐步加压
a)This group will star 100 threads -本次设置线程组启动的线程总数为 *个
b) First,wait for N seconds -启动第⼀个线程之前,需要等待N秒。设置为0s说明不等待,直接启线程
c) Then start N thread -设置最开始时启动 N个线程。可以默认为0
d) Next,add 10 threads every 30 seconds,using ramp-up 5 seconds -每隔30秒,启动10个线程,10个线程在5秒内启动完成
e)Then hold load for 30 seconds -启动的线程总数达到最⼤值之后,再持续运⾏30秒
f) Finally,stop 10 threads every 1 seconds -最后停⽌线程,每1秒停⽌10个线程;
(2).jp@gc - Ultimate Thread Group(在Threads(users)) -终极线程组
该插件跟Stepping Thread Group线程组有些类似,不过这个是多个线程组设置的结合。执⾏的时候,每个线程组是同时按照⾃⼰的规则开始执⾏的,每⼀时刻,得到的结果都是两个线程组的叠加
a) Start Threads Count:当前⾏启动的线程总数
b) Initial Delay/sec:延时启动当前⾏的线程,单位秒
c) Startup Time/sec:启动当前⾏所有线程达峰值所需时间,单位秒mysql的jar包下载
d) Hold Load For/sec:当前⾏线程达到峰值后的稳定加载时间,单位秒
e) Shutdown Time:停⽌当前⾏所有线程所需时间,单位秒
(3).bzm - Arrivals Thread Group(在Threads(users)) -到达线程组
a)Target Rate(arrivals/sec):每分钟到达的数量
b) Ramp Up Time:加速时间
c) Ramp-Up Steps Count:加速步骤计数
d) Hold Target Rate Time:保持⽬标速率时间
e) Time Unit:时间单位(分钟或者秒)
f) Thread Iterations Limit:线程迭代次数限制(循环次数)
g)Log Threads Status into File:将线程状态记录到⽂件中(将线程启动和线程停⽌事件保存为⽇志⽂件)
h) Concurrency Limit:虚拟⽤户的最⼤数量
(4). bzm - Concurrency Thread Group(在Threads(users)) -并发线程组
a)Target Concurrency:⽬标并发(线程数)
b) Ramp Up Time:加速时间
c) Ramp-Up Steps Count:加速步骤计数
d)Hold Target Rate Time:保持⽬标速率时间
e) Time Unit:时间单位(分钟或者秒)
f) Thread Iterations Limit:线程迭代次数限制(循环次数)
g) Log Threads Status into File:将线程状态记录到⽂件中(将 线程启动和线程停⽌事件保存为⽇志⽂件)
场景举例:
100个线程、3分钟的加速时间、5个加速步骤、持有⽬标速率6分钟;
解释场景举例:
3分钟除以5步,每步0.6分钟;100个⽤户除以5步,每步20个⽤户;每0.6分钟将添加20个⽤户,直到达到100个⽤户;达到100个线程后,所有这些线程将继续运⾏,并⼀起打到服务器6分钟;
(5). bzm - Free-Form Arrivals Thread Group
(在Threads(users)) -⾃由形式到达线程组与 Arrivals Thread Group.相同,它只是提供了⾃由格式的时间表功能)
5、监控内存及CPU等(jconsole)
⽅法:⽐较好的监控内存CPU等的⼩⼯具
如果已配置Jmeter则不需要配置其他即可打开此⼩⼯具;开始——>运⾏——>输⼊cmd——> 进⼊命令界⾯直接输⼊:jconsole ——>回车,即可弹出java监视和管理控制台
选择本地进程,并点击⼀下ls.jconsole.JConsole,就可以查看本地内存、CPU的使⽤情况(如果该项不能连接,则选择"ApachJMeter.jar",多链接⼏次可连接成功)
选择远程进程,需要输⼊被测服务器的IP、端⼝->输⼊⽤户名、密码点击连接即可查看服务器内存、CPU等使⽤情况
6、⽣成html测试报告
jmeter -n -t <test JMX file> -l <test log file> -e -o <Path to output folder>
命令参数解析:
-n :以⾮GUI形式运⾏Jmeter
-t :source.jmx 脚本路径
-l :运⾏结果保存路径,此⽂件必须不存在
-e :在脚本运⾏结束后⽣成html报告
-o :⽤于存放html报告的⽬录
例如:D:\BaiduNetdiskDownload\apache-jmeter-4.0\bin
Jmeter -n -t D:\Jmeter-script\招聘登录+查询.jmx -l D:\JmeterTest\resport\result.csv -e -0 D:\JmeterTest\resport\html
五、Jmeter之参数化
1. 前置处理器-⽤户参数
1. 配置元件-CSV数据⽂件设置
⽂件名:保存信息的⽂件⽬录,可以相对或者绝对路径
⽂件编码:默认为ANSI
变量名称:给csv⽂件中各列起个名字(有多列时,⽤英⽂逗号隔开列名)便于后⾯引⽤
分隔符:与csv⽂件的分隔符保持⼀致。如⽂件中使⽤的是逗号分隔,则填写逗号;如使⽤的是TAB,则填写\t
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论