美文网首页
性能测试操作

性能测试操作

作者: HZ_King | 来源:发表于2021-04-28 10:42 被阅读0次

Jmeter****使用mock测试性能

一、****背景

使用jmeter测试接口性能,接口调用逻辑如下:

Ø app—调用—>后台接口—调用—>第三方接口,准备压测的接口为后台接口。由于第三方接口暂未符合要求,不能被调用,但是调用后台接口的时候依赖第三方接口的返回值。这时候需要屏蔽第三方接口,给后台接口设置挡板,然后进行压测。

Ø 后台接口调用需要先获取access_token,由登录接口返回。

二、****工具

jmeter , fiddler , aliyun(资源监控)

三、脚本设计思路

image.png

i. 登录接口只需登录一次,使用正则表达式提取登录接口返回的access_token,然后把access_token设置成全局变量,后台接口拿到access_token后,循环调用。

ii. 使用fiddler给后台接口设置挡板,配置完成后,在jmeter的后台接口配置代理服务器地址。

四、****详细操作步骤

Jmeter****设置

1、设置http请求默认值:http协议和ServerName

image.png

2、新建线程组,命名为【login】,右键点击【login】线程新建http request请求,命名为【获取token】,新建【察看结果树】,执行后可以看到返回的access_token。

image.png

3、右键点击【获取token】请求,分别添加Regular Expression Extractor、Bean Shell Post Processor、JSON Extractor,详细设置参数如下,变量名需要根据自己实际设置的填写:

image.png

access_token 、”access_token”:”(.*?)” 、 1

image.png

String access_token=bsh.args[0];

print(access_token);

{__setProperty(request_access_token,{access_token},)}

image.png

access_token 、 $.request_access_token

4、新建一个线程组,命名为【后台接口】,请求头的Authorzation值为接口返回的access_token


image.png image.png

5、(重要)在测试计划中勾选第一项

中文解析:独立运行每个线程组(在一个组运行结束后启动下一个),否则会出现后台接口拿不到token而导致报错。

image.png

6、运行脚本,返回成功

image.png

Fiddler****挡板设置

1、选择AutoResponder,点击Add Rule

image.png

2、输入【获取缴费信息】接口地址,选择返回的报文信息test.txt,点击save。勾选Enable rules

image.png

Test.txt内容如下,可以手动任意设置

image.png

3、fiddler设置代理端口: Tools - > Options - > Connections。

默认为8888,我本机的已被占用,所以设置为8880。(任意设置)

image.png

4、jmeter设置代理

127.0.0.1为本机地址,即常用的localhost,端口设置为8880

image.png

5、目前为止,所有设置已完成,调试执行结果如下


image.png

性能设置

1、 标题为mock性能,这时,我们只需要设置后台线程组的循环执行时间既可

设置5个虚拟用户,并发1800s(30分钟)

image.png

2、添加以下监控:Aggregate Report 、jp@gc - Active Threads Over Time、jp@gc - Transactions per Second、

注意:性能执行过程中需要把View Results Tree关闭,因为回显返回值会占用压测机的资源。

image.png

性能结果分析

1、按照以上步骤执行完成后,点击Aggregate Report查看结果,主要关注3个参数:95%Line、Error%、Throughput(tps)

image.png

95%Line:95%line的响应时间,单位为ms,上面为95%的请求响应时间为0.27s

Error%:错误率,如果是支付类型的接口,涉及到钱的,基本是不允许有错误率。如果是一些简单的业务,可允许小错误率,例如1%。得看具体场景来定。

Throughput:吞吐量,即每秒钟处理的请求事务数,TPS值根据它来确定。

(本接口业务方提供的tps为50,测试实际结果为89.9/sec,所以符合要求)

2、资源消耗:根据下面的图表分析,CPU和MEM都低于80%的使用率,服务器正常

应用服务器

image.png

数据库服务器

image.png

结果:性能结果满足业务方提供的需求

相关文章

网友评论

      本文标题:性能测试操作

      本文链接:https://www.haomeiwen.com/subject/rdebhltx.html