性能数据的准备-Jmeter

Posted rachelxiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了性能数据的准备-Jmeter相关的知识,希望对你有一定的参考价值。

性能测试的一般流程:
收集性能需求——>编写性能脚本——>执行性能测试——>分析测试报告——>系统性能调优
在收集性能需求后,我们会思考:
负载测试时并发时需要多少数据?例:登录
DB数据是否和线上接近?
所以——我们需要在测试前批量造一批数据进行性能测试
性能数据有个重要的点:数据必须带有特殊标记,方便与其他正常数据隔离并且在测试完成后销毁。
 
不同公司的性能数据不一样,这里我讲一下最常见的两种制造方式:
1、数据库直接插入性能测试数据
 
首先下载一个mysql的jar包放到jmeter安装目录的lib下或者直接在测试计划处引用

技术图片

 

然后新建一个jdbc connection configration,连接目标数据库,需要填写数据库ip+端口号,用户名和密码(改用户需有修改的权限)
技术图片
 
创建一个jdbc request,把需要插入的数据库语句附上,并且把需要动态修改的参数(类似用户名)参数化
技术图片
 
新增一个用户自定义变量,将参数化的变量写入,并且通过函数助手生成随机数,变量我以rac为标记,性能测试完成便于删除这些脏数据。
 
技术图片
技术图片
 
最后在线程组输入你需要创建的数据个数就可以啦~
我比较喜欢用循环控制器,看起来比较简洁~
 
通过数据库插入的方式造数据的方式,sql厉害的童鞋也可以写存储过程
 
2、批量轮询跑接口造数据
最简洁的版本,只跑一个接口造数据:
将自己需要创建的用户名+密码放在一个csv文件里面,通过csv data config参数化获取uname,pass
技术图片
 
创建一个http请求,在注册用户的接口data处参数化用户名和密码:
技术图片
最后一步,线程组设置csv文件里的用户数,跑一遍后就创建了一批性能测试用户啦!
 
当然,这只是最基础版本的。通常的测试数据都关联多张表,所以我们需要给每个用户跑多个接口,那么这个时候,我们就需要参数关联这个秘诀了——
 
首先同上,添加一个csv data config,将创建的性能测试数据的用户名,密码的csv文件添加进去
新建一个http请求,放登录接口,参数化登录名和密码,从性能测试用户的csv文件中动态获取
技术图片
登录成功后,需要获取到token作为其他接口造数据的关键!常用postman调接口的开发大哥都知道token的重要性,通行证呀!
通过正则表达提取器获取到token后放到公共信息头管理器中。
技术图片
最后添加几个http请求,将造数据需要的接口写入即可
这次先介绍这两种方式,后续持续更新。
其实有写python版本的,后续放在对应的分类里面做链接~
技术图片

以上是关于性能数据的准备-Jmeter的主要内容,如果未能解决你的问题,请参考以下文章

JMeterJMeter的工作原理

jmeterjmeter 常用组件 介绍

JMeterJMeter在linux下运行

一个使用Jmeter做接口性能测试的实战案例

jmeterjmeter的安装和基本使用

Jmeter 简要介绍与安装