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

    Vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化. 过滤器可以用在两个地方:双花括号插值和 v-bind 表达式 (后者从 2.1.0+ 开始支持). 过滤器应该被添加在 JavaScr ...

  2. 不插字段,直接利用OracleSpatial计算

    select to_char(regexp_replace(sdo_util.to_gmlgeometry(sdo_geom.sdo_difference( SDO_GEOMETRY ( 2003, ...

  3. 第三次脱发——Scurm学(ctrl)习(C)心得

    Scrum 学习心得: 首先,敏捷并不是一门具体的技术,而是一种理念或者说是一种思想.它可以指导我们更加高效的开发. 其次,敏捷开发都具有以下共同的特征: 迭代式开发 增量交付 开发团队和用户反馈推动 ...

  4. 深入Java线程管理(二):线程的生命周期

    Java线程的生命周期 一个线程的产生是从我们调用了start方法开始进入Runnable状态,即可以被调度运行状态,并没有真正开始运行,调度器可以将CPU分配给它,使线程进入Running状态,真正 ...

  5. Java反射机制(一):认识Class类

    一. 认识Class类 1.1 正常我们再使用一个类时,大多情况是先获取类的对象,然后通过对象去操作类中的属性或方法. 那,大家有没有想过,如果我们已经有了一个类的对象,我能否通过该对象去获取到类的信 ...

  6. css技巧 1200px居中容器中某个div增加横屏背景

    <div class='container' style='width:1200px;margin:0 auto;'> <div style='width:200px;margin: ...

  7. Spring Cloud探路(三)REST 客户端Feign

    Declarative REST Client: Feign Feign is a declarative web service client. It makes writing web servi ...

  8. vue组件中data是个函数

    当我们const vm = new Vue({ el : '#app',   data : { msg:‘hello World’ } })用习惯了,data是一个对象,可到了vue组件 Vue.co ...

  9. Promise的封装

    要封装Promise,首先要了解Promise的使用. Promise有以下几个特点:1.Promise是一个构造函数 2.实例化Promise时有两个回调函数,resolve,reject ,成功执 ...

  10. dotnet core 使用 CoreRT 将程序编译为 Native 程序

    现在微软有一个开源项目 CoreRT 能通过将托管的 .NET Core 编译为单个无依赖的 Native 程序 这个项目现在还没发布,但是能尝试使用,可以带来很多的性能提升 使用 CoreRT 发布 ...