安静的等待

茹呲綄鎂
posts - 51, comments - 9, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

LoadRunner压力测试操作步骤

Posted on 2007-07-18 10:06 ricki 阅读(8264) 评论(0)  编辑  收藏 所属分类: Loadrunner压力测试

以创建交易脚本为例,详细的解释一下使用LoadRunner进行压力测试的过程。关于如何定义测试目标及每个步骤详细的操作过程在操作手册中有解释,这里就不说了。

一、 使用VUGen录制脚本

1、根据应用程序架构选择相应的协议。一般象B/S的程序用单一的http协议就可以了。

2、开始录制。根据所选协议的不同,出现的对话框不不同的。选择http协议的话需要录入url地址,在这步录入需要测试的地址如https://www.alipay3.net

3、录制脚本:在一个脚本中,默认有三个动作:vuser_init Action vuser_end。通常把初始化操作放到vuser_init中,具体需要测试的操作放在Action中,vuser_end动作目前来说没有什么用处。在创建交易脚本中,需要测试的操作包括创建支付宝交易、买家付款、卖家发货、买家确认收货。每一个操作都必须首先登陆才能进行。

4、添加事务:为了使录制的脚本更易读,录制过程中要为每一个独立的操作添加事务。比如说登陆、买家付款都放在一个单独的事务中。特别注意,因为本次测试目标是每秒内总的交易数,所以需要分别给每一个测试脚本的Action操作都加上一个统一的事务,名称都叫做“Action”,以便衡量是否可以达到目标。

5、添加验证点:脚本录制好后,在需要的地方加上验证点,来检测脚本是否执行成功。以登陆操作来说,在提交登陆的脚本后面,右击鼠标,选择Insert—NewStep,在出现的对话框中选择Web Checks—Text Check,进行文字验证,查找退出这两个字是否出现。如果出现就说明登陆成功了。

6、根据需要对变量参数化:在登陆操作中需要参数化的值包括:URL,登陆帐号、登陆密码。点击工具栏的Param List按钮可以创建参数。当新建一个参数后,LR会在当前脚本的目录下自动创建一个文件存放参数的值。我们不要这个默认的文件名,把所有参数的文件名都修改为“D:\LrData\Email.dat”[文件路径及名称都是可以手工修改的],这样可以在多个脚本中共享相同的变量。

a)        url、登陆帐号、登陆密码:这几个参数都是手工在LR中输入,然后保存到文件中。

b)        交易号:在查询交易明细脚本中,会随机的选取100个交易查看其明细。这种情况下,交易号直接从数据库中取得比较方便。但是必须在本地安装oracle客户端。如果没有装oralce客户端,可以首先登陆到PL/SQL中,查询100个交易号,选中把查询结果,选择导出到CSV文件中。如下图:

 

导出后,在LR中打开Param List,选中交易号这个参数,点击Edit With NotePad按钮,把csv文件的内容拷贝到这个里面即可。注意拷贝前需要用支持列编辑的文本工具打开csv文件,去掉前后的引号。保存文件成功后,在LR中就可以看到导出的交易号了。

7、在Vuser中运行脚本,确认脚本可以正常运行。

二、            使用Controller设置场景进行测试

1、创建场景:由于我们这次的测试目标是以每秒N个交易,所以选择基于目标的场景。创建场景的同时,加入需要测试的脚本。

2、定义测试目标:

场景创建成功后,单击Edit Scenario Goals定义测试目标。

在这个对话框中新建一个测试目标,类型为:Transactions per Second,事务名称为我们统一定义的“Action”,事务数量根据需要设置。Vuser的数量设置从20到500。

3、设置运行时间:

也是在Edit Scenario Goals中,可以设置达到目标后再运行多少时间。

4、Run-Time Setting:(特别注意)

在VuGen中也有Run-Time Setting,但是在那里设置好的参数不会被带到Controller中,需要重新设置。对每一个脚本都需要设置。

a)        Think Time:这个选为Ignore think time,否则结果中的事务响应时间很大,包含了这个思考时间。

b)        打开验证点检查功能:在Preferences选项中,给Enable Image and text check打勾,否则脚本执行时不会去检查验证点的。

c)        设置Action的迭代次数:在Run Logic中,单独设置脚本中每个动作的执行次数。例如在查询交易明细脚本中,需要模拟一次登陆,查询10次明细的情况,就需要设置Action动作迭代10次。

5、添加需要监控的性能参数

这次我们测试的服务器是Linux,需要得到在各种压力下服务器的负载情况。Linux的性能参数在场景中没有默认被监控,所以需要手动添加。要监控Linux的资源,需要在服务器上运行一个叫做rstatd的进程,这个进程可以从网上下载。在服务器上启动这个进程后,

在测试场景中,手工将Available Graphs的UNIX Resources拖动到右边的视图中,然后右击,选择Add Measurements,添加需要监视的服务器。

 

图中,上面一个Add添加需要监视的服务器,下面的Add是用来添加需要监视的参数,包括Average Load等等。

6、运行场景,保存执行结果

运行时,需要选择运行结果保存的路径及文件。这些结果文件可以在Analysis中查看。

三、            查看运行结果

第二步场景运行结束后,通过菜单Results—Analysis Results打开运行结果。

在Analysis中,默认显示以下类型的结果分析图。

需要手工把Unix资源的图打开,单击上图中的New Graph,出现下面的对话框。

选择System Resources下的UNIX Resources,单击Open Graph,就可以看到在场景中所监视的各个性能指标的曲线图了。

点击保存可以把结果保存为*.lrr的文件,下次可以直接通过Analysis打开。

四、            比较2次或者多次场景运行的结果

测试中,为了提高系统的性能,会修改代码或者更改架构,这时候我们需要对修改前后的场景运行结果进行比较,通过一些性能指标的曲线图比较直观的了解系统的变化。

在Analysis中,通过菜单File—Cross With Result可以合并结果进行比较。

 

通过Add按钮可以添加多个*.lrr文件进行结果的比较,点OK后会出现各个结果的比较图。


只有注册用户登录后才能发表评论。


网站导航: