如何确定性能测试的并发用户数
- 参考其他同类产品
- 分析历史数据
- 试上线运行
recording options 选项
- internet protocol下的recording可以设置不同的录制方式,html-base和url-base
- 基于浏览器应用用html,不是就用url;如果基于浏览器的应用包括了较多的js,并且该脚本向服务器发送了请求,如datagrid分页,ajax,用url-base
- 如果浏览器的应用是基于https,请用url-base录制,如果html-base录制后无法回放请用url-base录制
- internet protocol下的Correlation选项卡对脚本的关联属性进行设置。
Run-time Setting选项
- Run logic 选项卡。设置运行时脚本的迭代次数,一般是对脚本中的run中的代码,而很少对init,end中的代码进行迭代设置
- Pacing选项卡。设置脚本迭代过程中脚本之间的时间间隔,可以设置固定迭代时间和随机迭代时间
- Tinhking Time 选项卡。用来设置用户操作的思考时间,可以设置为忽略,设置脚本的回放思考时间,按录制时的思考时间来回放
- log选项卡。 lr分为回放日子,录制日志,关联结果,生成日志。而log是回放日志设置。可以设置是否在场景运行时收集日志,是否只收集错误日志,是否只是收集所有日志。
- 关于收集日志可以设置是标准日志(默认值)和扩展日志(Parameter substitution,一般都是设置这个,表示客户提交给服务器的所有参数日志被记录)
插入事务
- 在脚本录制中可以插入;在编辑脚本时也阔以插入
- 事务有auto,pass,fail,三种状态
插入集合点
- 选择insert-rendezvous
检查点
常用函数
- '''web_find'''。用于在页面查找相应的内容;只能用于html模式的录制的脚本进行查找;该函数必须在页面内容显示之后才能进行查找,所以必须写在查找内容后面;必须启用内容检查项,在run-time setting-preferences下的Enable Images and text check复选框选中,否则不执行该查找函数
- 此函数执行效率低;不返回查找结果情况,如要查看有多少虚拟用户成功登录情况
- web_reg_find。该函数是在缓存中查找相应内容,是一个注册函数,可以使用SaveCount参数来记录缓存中被查找到的次数;改函数必须写在查找内容之前,一般写在这6个函数之前(web_custom_request,web_image,web_link,web_submit_data,web_submit_form,web_url);此函数没有web_find的缺点,一般用此函数,下面是此函数的例子
block(块)
对不同事务进行不同次数循环用块技术可以解决;如想实现注册执行3次,登录执行1次,查询执行2次
- 选择vuser-run time settings-general-run logic-insert block 插入块后,选择insert action,可以设置块的属性:按次序(可以设置迭代次数)和随机(设置action执行的百分比)
参数化
- 选择需要参数化的值右击-replace with a parameter。有日期,组名,迭代编号,负载发生器名,随机数,唯一数,Vuser ID参数,File,这几种参数类型
- 设置参数化属性中,要注意惟一数参数的block size:指分配给每个vuser的编号块的大小
- 新建好了参数的行列值后,就可以打开参数化设置
- select next row,这里是对虚拟用户来设置的,也是对控制器设置生效,可以选择:顺序,随机,唯一。唯一参数设置需要注意下面的设置:
- when out of values 表示当参数不够时如何处理。有3种处理方式:abort vuser(忽略剩下所有虚拟用户不再运行);将参数继续循环以此为,虚拟用户按顺序参数进行迭代,这种情况与选择顺序的策略方法一致;一直使用最后一个数据进行后面的迭代
- allocate vuser values in controller 指在控制器运行时,如何分配这些参数,有两种方式:由lr自动分配每个虚拟用户使用的参数情况;为每个虚拟用户分析设置指定的虚拟用户,若设置为20,那么第一个虚拟用户参数为1~20,第二个为21~40
- update value on 设置。设置脚本迭代过程中取值策略,结果可以在代码调试中体现:Each iteration(在同一次迭代中,不管一个参数出现多少次都只使用这一个参数的值,如用户名和昵称用同一个参数,那么取的值是相等);Each occurence(每次迭代过程中,参数会更新,即使在同一次迭代中);Once(在同一个Vuser中只取同一个参数,其他数据不参与迭代
关联技术
常用的关联包括:录制中关联,录制后关联,手动关联
录制中关联
- 内建关联规则。是lr自带的一些规则,在tools-recoding options - http properties-Correlation
- 用户自定义规则。可以单击new application 然后单new rule。设置相应的属性,如左右边界,在body,form中查找,区分大小写等
- 规则使用。tool-recoding options选中enable correlation during recording复选框,启动自动关联,自动关联成功后出现一个web_reg_save_param关联函数
录制后关联
- 表示自定义和内建关联不能满足需要时用它,录制后关联是当录制脚本完成后,脚本至少执行一次,关联才会产生效果,录制后会尝试找到录制和执行时服务响应的差异部分,建立关联
- 当脚本回放错误时,选择vuser-scan script for correlations或按ctrl+f8组合,自动扫描的结果,选择需要关联的数据,单击Correlate,再次单击create rule,点击是,完成关联,在recoding option-correlation 下可以看到刚刚创建的规则
手动关联
录制前和录制后都属于自动关联
- 手动关联需要准备两份脚本,使用windiff工具比较找到差异的地方。tools-compare with vuser,差异地方以黄色表示
网友评论