先记录一下在进行华安基金压力测试的过程中遇到的几个问题。
1、 问题:多次录制登录脚本(vuser_init)的时候报错,所以直接略过init录制action了,脚本录制完成以后,回放脚本成功。但是在进行压测的时候接口一直没有压力,也就是没有调接口数据。
解决办法:考虑是因为没有录制init脚本的原因,找了另外一台机器,重新录制了init脚本,复制粘贴过来,再次执行的时候问题就解决了。
Ps:这个错误可能比较低级,呵呵。
2、 在录制脚本的过程中如果遇到多个动作的连续执行,为了方便给每个动作命名,可以在录制脚本之前建立多个action,例如jingzhiquery,jijinquery…在录制的时候把每个动作分别录制到对应的action之中,那么就可以更清晰地在对应action之中命名各动作了。
3、 问题:压力测试结果分析报告中某个事务的响应时间长
如果排除系统性能的问题,还有就是执行压力测试的时间过短,因为运行的结果得到的大部分是平均值,因此测的时间越长这个数据便越精确,如果运行的时间太短,就会导致没有取到平均值,可能只是某个执行过程的时间。
下面是做了中融系统的一个简单的呼入电话查询的压力测试,熟悉了一下压力测试的流程,希望各位MM给我指导哦。
一、制定压力测试计划
制定测试方案:呼入电话查询方案
设置场景:
测试序号 | 1 | 脚本名称 | 呼入电话查询 | |
方案概述 | 查询呼入电话记录 | |||
脚本描述 | 操作步骤 | 操作 1. 用户登录系统 2. 进入呼入电话页面 3. 用户输入查询条件 4. 进行呼入电话查询 | ||
参数配置 | 数据库连接数:50 | |||
测试记录数据 | 每分钟执行操作数 出现错误时需要记录:出错时间、所执行的操作 | |||
测试时间30分钟,座席数50
二、录制脚本
启动LoadRunner中的Virtual User Generator,开始录制呼入电话查询的脚本。
在录制脚本的时候有几点需要注意:
1、 登录的脚本会录在init里,呼入电话查询的动作要录在action里;
2、 脚本录制完成后,为了将压力测试的时间都放在事务上,去掉lr_think_time;
3、 在脚本中找到要执行压测的呼入电话查询的动作,重新命名,例如“callin-query”;然后对该动作插入事务(lr_start_transaction;lr_end_transaction);
4、如果想要对该查询动作并发执行,可以插入集合点(lr_rendezvous);
5、回放脚本,如果成功,说明脚本录制没有问题。
三、执行脚本
根据客户对系统的需求进行压力测试,例如客户有30个坐席,需要满足30个坐席同时在线进行查询,那么我们就可以模拟50个用户同时在线查询的场景,然后进行参数设置:
首先在ramp标签页下设置每15秒增加5个用户;最终达到50个用户同时在线
在duration标签页下设置持续30分钟;
在ramp down标签页下设置每15秒减少5个用户,或者load all Vusers simultaneously;
四、结果分析
主要是各事务的响应时间,另外还可以监控应用服务器和数据库。
——春丽