性能测试的一般流程:
收集性能需求——>编写性能脚本——>执行性能测试——>分析测试报告——>系统性能调优
在收集性能需求后,我们会思考:
负载测试时并发时需要多少数据?例:登录
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的更多相关文章

  1. 性能测试 CentOS下结合InfluxDB及Grafana图表实时展示JMeter相关性能数据

    CentOS下结合InfluxDB及Grafana图表实时展示JMeter相关性能数据   by:授客 QQ:1033553122 实现功能 1 测试环境 1 环境搭建 2 1.安装influxdb ...

  2. 性能测试 基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据

    基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据   by:授客 QQ:1033553122 实现功能 测试环境 环境搭建 使用前提 使用方法 运行程序 效果展 ...

  3. 性能测试 基于Python结合InfluxDB及Grafana图表实时采集Linux多主机或Docker容器性能数据

    基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据   by:授客 QQ:1033553122 实现功能 1 测试环境 1 环境搭建 3 使用前提 3 使用方法 ...

  4. .Net最佳实践3:使用性能计数器收集性能数据

    本文值得阅读吗? 本文讨论我们如何使用性能计数器从应用程序收集数据.我们将先了解的基本知识,然后我们将看到一个简单的示例,我们将从中收集一些性能数据. 介绍: - 我的应用程序的性能是最好的,像火箭 ...

  5. 通过ngx-lua来统计Nginx上的虚拟主机性能数据

    Web server调研分析 Filed under: Web Server — cmpan @ 2012-10-29 20:38:34 摘要 简单可依赖的架构首先需要有一个简单可依赖的前端WebSe ...

  6. Performance Monitor采集性能数据

    Performance Monitor采集性能数据 Windows本身为我们提供了很多好用的性能分析工具,大家日常都使用过资源管理器,在里面能即时直观的看到CPU占用率.物理内存使用量等信息.此外新系 ...

  7. Redis各种数据结构性能数据对比和性能优化实践

    很对不起大家,又是一篇乱序的文章,但是满满的干货,来源于实践,相信大家会有所收获.里面穿插一些感悟和生活故事,可以忽略不看.不过听大家普遍的反馈说这是其中最喜欢看的部分,好吧,就当学习之后轻松一下. ...

  8. .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)——转载

    原文链接:https://blog.walterlv.com/post/dotnet-high-performance-reflection-suggestions.html ***** 大家都说反射 ...

  9. 使用Jyhon脚本和PMI模块监控WAS性能数据

    使用Jyhon脚本和PMI模块监控WAS性能数据的优点有: 1.可以使用非交互的方式远程获取数据 2.不需要图形化模块支持 3.对各种was版本的兼容性较高 4.使用方便,官方自带 缺点也有很多: 1 ...

随机推荐

  1. JVM问题诊断

    https://gitbook.cn/books/5d2d822f175a450263e945f9/index.html

  2. Websocket 简单对话:静态网页与pycharm对话

    WebSocket websocket 是一种在单个Tcp连接上进行双全工通信的协议.websocket通信协议于2011年被IETF定为标准RFC6455,并 由RFc7936补充规范.WebSoc ...

  3. oracle用UNION替换OR (适用于索引列)

    通常情况下, 用UNION替换WHERE子句中的OR将会起到较好的效果. 对索引列使用OR将造成全表扫描. 注意, 以上规则只针对多个索引列有效. 如果有column没有被索引, 查询效率可能会因为你 ...

  4. px em rem %作为单位使用

    博客地址 :https://www.cnblogs.com/sandraryan/ px 我们都很熟悉啦,但是固定大小无法适配各种屏幕. rem是CSS3新增的一个相对单位(root em,根em), ...

  5. Project Euler Problem 8-Largest product in a series

    直接暴力 写完才想到,代码写矬了,扫一遍就出结果了,哪还用我写的这么麻烦 ss = '''73167176531330624919225119674426574742355349194934 9698 ...

  6. Logback设置SQL参数打印

    一.hibernate中设置SQL参数打印: (主要是第一句) <logger name="org.hibernate.type.descriptor.sql.BasicBinder& ...

  7. jq常用事件

    https://www.cnblogs.com/sandraryan/ click(); 点击事件 dblclick(); 双击事件 $('.box').dblclick(function(){ al ...

  8. Java如何计算hashcode值

    在设计一个类的时候,很可能需要重写类的hashCode()方法,此外,在集合HashSet的使用上,我们也需要重写hashCode方法来判断集合元素是否相等. 下面给出重写hashCode()方法的基 ...

  9. java面向接口编程之制定标准和简单工厂模式

    制定一个标准,让别人去实现或者说满足它! Eg: interface USB{//定义USB标准 void useUSB();//USB有使用USB的行为 } 简单工厂模式 构建一个工厂出来,在里面进 ...

  10. UVA 11107 Life Forms——(多字符串的最长公共子序列,后缀数组+LCP)

    题意: 输入n个序列,求出一个最大长度的字符串,使得它在超过一半的DNA序列中连续出现.如果有多解,按照字典序从小到大输出所有解. 分析:这道题的关键是将多个字符串连接成一个串,方法是用不同的分隔符把 ...