参数化的目的:
1、数据库或应用程序对提交请求里的参数值进行唯一性校验
2、为了避免查询缓存导致的性能测试结果失真
(语法检查-语意检查-检查缓存(有直接从数据库给)没有就生成执行计划-按照执行计划去查询,如果在内存就直接返回(CPU操作内存)不在内存就从磁盘找,找到后放到内存返回给应用程序 )
参数化真正的原因:概念上是为了模拟用户真实操作,我们需要把脚本里面固定写死的一个值把他从数组里面动态的去取值,但是更深层次的原因是上面两点
知道为什么要使用参数化,那么就知道如何的避免使用参数化:
1、把数据库唯一性校验属性unique去掉(测试环境)改代码去掉应用程序唯一性校验判断
2、把数据库查询缓存关闭
回放脚本:
tools-general option-display(勾选show run-tine...打开回放视图的)F5回放
Ctrl+H-replace all批量修改脚本内的内容
打开扩展日志:调试脚本需要打开
runtime settings(F4)-log-always send messagas-extended log-勾选parameler subslilution
做参数化:
选中脚本中要参数化的值右键选择replace with a parameter-
自己输入的值才会使用到参数化,不是自己输入的值有可能考虑到 需要做关联
参数化取值策略(九种)
顺序——每次迭代 随机+每次迭代 唯一+每次迭代(并发时才会体现唯一性)
顺序——每次出现 随机+每次出现 唯一+每次出现
顺序——once 随机+once 唯一+once
例子: 压测银行流水号 参数化策略唯一+每次迭代或者唯一+每次出现都可以
100vu 10分钟 基准测试1个vu--tps=1 服务器最大tps=100
1*1*100=100*600====60000 理论上手动分配每个用户600(实际设置700)准备70000条数据
检查点:insert-new step (find function里面输入web_reg_find) 检查点属于预注册函数