Jmeter--压测学习一

目的:使用一个用户登录,模拟新增接口的压测,这里使用同一个用户模拟五次同时操作新增接口,相当与五倍压力做新增接口的测试
方法:
(1)使用两个线程组,第一个线程组登录操作,第二个线程组依赖第一个线程组去请求新增接口(依赖第一个线程组),
(2)那么遇到问题:局部变量只在当前线程组内实用,不能跨线程使用,新增接口取不到登录参数值,(3)解决办法:使用函数_setProperty将userid和token设置成全局变量,然后放到Bellshell Sample元件参数名和参数值(_setProperty实现跨进程传参)

1、概念
线程组页面的相关概念:
(1)线程数:虚拟用户数,设置多少用户就是设置多少线程数
(2)Ramp-Up Period(in seconds)准备时长:全部启动虚拟用户数需要的时间;如果线程数5,准备时长1S,那么1s 启动5个线程,也就是5个/s
(3)循环次数:每个线程发送请求的次数。如果线程数为10,循环次数是10,那么每个线程发送10次请求,总请求数=10*10=100,如果勾选了“永远”,则所有线程会一直发送请求,直到选择停止运行
(4)Delay Thread creation until needed:直到需要时延迟线程的创建
(5)Scheduler勾选计划,可以设置持续时间,如设置5s则请求持续5s停止请求
在这里插入图片描述
2、模拟一次登录的操作:
使用setup thread group可以实现!
说明:类似Unittest的setUP,测试开始时进行初始化的操作。特殊类型的ThreadGroup,可用于执行预测试操作。该线程像一个正常的线程组元件,不同的是,这种类型的线程执行测试前进行定期线程组的执行;
3、_setProperty实现跨进程传参
${__setProperty(变量名,值} 全局变量赋值
Property Name:设置的属性名,必要属性
Property Value:设置的属性的值,必要属性
原值是否要返回,非必要属性;当设置为“true”,将返回原始值
作用域:跨线程组调用,可在任意地方调用,相当于参数全局化
在这里插入图片描述
4、给线程组设置采样器
可以写脚本操作变量

在这里插入图片描述
在这里插入图片描述
5、新增接口参数
使用__P()可获取其属性值
在这里插入图片描述
6、设置持续5s,可以在界面右上角查看到时间
在这里插入图片描述
7、设置退出–设置聚合报告
Label:每个JMeter的element的Name值。例如HTTP Request的Name,可以自定义
#Samples:发出请求数量。如下模拟5个用户持续新增5s,294次新增
Average:平均响应时间(单位:毫秒)。默认是单个Request的平均响应时间,当使用了Transaction Controller时,也可以以Transaction为单位显示平均响应时间
Median:中位数,也就是50%用户的响应时间
90%Line:90%用户的响应时间
95%Line:95%用户的响应时间
99%Line:99%用户的响应时间

Min:最小响应时间
Max:最大响应时间
Error%:本次测试中出现错误的请求的数量/请求的总数
Throughput:吞吐量。单位时间内发送的请求数(每秒完成的请求数,与TPS概念差不多)
Received KB/src:每秒从服务器端接收到的数据量;
Sent KB/src:每秒从客户端发送的请求的数量。
TPS:Transaction per second每秒执行的事务数(包括请求、请求服务器、等待服务器返回等等,比如一个TPS事务,可能触发3个QPS请求)越大越好;越大说明每秒处理的事务数越多
QPS:Query per second 每秒查询率,是一个特定的查询服务器在规定时间内所处理流量多少的衡量标准(系统服务器的机器的性能经常用每秒查询率来衡量)

在这里插入图片描述
在这里插入图片描述
修改线程组执行方式,然后查看对应的聚合报告
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值