性能测试工具讲解.ppt_第1页
性能测试工具讲解.ppt_第2页
性能测试工具讲解.ppt_第3页
性能测试工具讲解.ppt_第4页
性能测试工具讲解.ppt_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、LoadRunner使用讲解,-上海华腾,讲解概要,1、创建脚本 2、测试脚本概述 3、参数化 4、负载生成及监控 5、数据分析,打开LR,创建脚本,点击Create/Edit Scripts创建脚本,LR自动打开Virtual User Generator; 使用Virtual User Generator生成虚拟用户,以虚拟用户的方式模拟真实用户的业务操作行为。,Virtual User Generator介绍,Virtual User Generator介绍,点击Create之后弹出录制脚本框,由于我们的脚本是手动编写的,不是录制的,这里直接点击Cancel取消。,Virtual Use

2、r Generator介绍,该脚本共分为四部分:Vuser_init、action、Vuser_end、data.ws;其中Vuser_init 和Vuser_end 部分在迭代过程中只跑一次,我们迭代的只是Action部分。在Vuser_init和Vuser_end中脚本可以不做更改,在action中编写测试脚本,我们本次针对单条链路、短链、同步的脚本做介绍,适用于不校验MAC的性能测试,如下:,#include lrs.h Action() int NumberOfBytes; char *ActualBuffer; lrs_create_socket(socket0,TCP,Remote

3、Host=10.160.3.104:6011,LrsLastArg); lr_start_transaction(“事物名称”); lrs_send(socket0,buf0,LrsLastArg); lrs_receive(socket0,buf1,LrsLastArg); lrs_get_last_received_buffer(socket0, ,lrs_create_socket函数意义:创建socket连接,连接到服务器 lr_start_transaction函数意义:开始事物 【事务(Transaction)是为了方便查看结果图设置的,LoadRunner 运行到该事务的开始点时

4、,LoadRunner 就会开始计时,直到运行到该事务的结束点,计时结束。】 lrs_send(“socket0”,“buf0”,LrsLastArg):发送测试报文buf0(在data.ws中定义) lrs_receive(socket0,buf1,LrsLastArg):接受服务器返回报文buf1 根据返回的报文buf1,如果buf1的字节数大于100.,事务Pass,否则 事务Fail。 (注:该脚本只对buf1的长度进行了判断,只要服务器返回信息的字节长度大于100, LR就认为该事务就是通过的,不同情况的交易可以根据返回的buf1中的是否 存在某些数据来判断事务是否通过) lrs_c

5、lose_socket(“socket0”):关闭socket连接,在Data_ws中存放交易发送报文,如下: ;WSRData 2 1 send buf0 480 x30 x34x37x36x2Ex01x30 x34x37x36x30 x30 x30 x31x30 x30 x30 x30 x20 x20 x20 x30 x34x30 x33x31x30 x30 x30 x20 x20 x20 x30 x30 x30 x30 x30 x30 x30 x30 x30 x30 x30 x30 x30 x30 x30 x30 x30 x30 x30 x32x30 x30 xFAx38x06x01xA

6、8xA0 x9Ax10 x00 x00 x00 x00 x00 x00 x00 x41x31x36x36x30 x30 x30 x30 x30 x30 x30 x30 x30 x30 x30 x30 x30 x30 x31x30 x30 x30 x30 x30 x30 x30 x30 x30 x30 x31x30 x30 x30 x30 x39x35x39x32x36x30 x38x32x39x30 x35x31x30 x30 x30 x31x31x30 x34x30 x33x31x30 x30 x30 x20 x20 x20 x31x31x30 x34x30 x33x31x30 x30 x3

7、0 x20 x20 x20 x33x32x36x32x31x34x32x30 x30 x30 x30 x30 x30 x30 x30 x30 x32x31x3Dx32x31x31x32x36x32x30 x30 x31x34x30 x32x38x37x32x30 x30 x30 x30 x30 x30 x36x36x30 x36x33x38x31x30 x30 x30 x30 x30 x32x31x31x30 x32x31xB1xB1xBExA9xCAxD0 xB6xABxB3xC7xC7xF8xBAxCDxC6xBDxC0 xEFxB6xABx20 x20 x20 x20 x20 x20 x

8、20 x20 x20 x20 x20 x20 x20 x20 x20 x20 x31x35x36x32x36x30 x30 x30 x30 x30 x30 x30 x30 x30 x30 x30 x30 x30 x30 x30 x33x30 x30 x30 x30 x30 x30 x30 x30 x30 x30 x31x30 x30 x30 x30 x32x30 x31x31x30 x38x32x35x30 x38x35x35x31x30 x30 x30 x30 x31x33x20 x20 x41x30 x36x42x46x30 x35x44 recv buf1 500 -1,测试前首先需要截

9、取相应交易的报文; 注:截取的报文为十六进制格式,要在每两个字节前添“x”, LR只能识别“x30”格式的数据。 Send buf0为发送报文,buf0后边接报文长度;双引号中报文的前四位代表的是报文长度。 Recv buf1为接收报文。 根据实际情况对buf0进行参数化设置:上述报文中对卡号、交易时间、流水号、密码、55域、机构、操作员进行了参数化。 参数化目的: 使用不同的数据执行脚本,能够更加真实的模拟实际环境。,单机运行脚本,点击运行测试脚本,或按F5按钮。,或者在Vuser下运行脚本。,执行“运行”命令后,VuGen 先编译脚本,检查是否有语法等错误。如果有错误,VuGen 将会提示

10、错误。双击错误提示,VuGen 能够定位到出现错误的那一行。,选中报文中卡号的位置,右击,选择Replace with a parameter,出现以下窗口:,针对卡号做参数化,卡号重复出现时,当卡号重复出现时,后面的卡号我们可以直接用之前的参数Card_no。,常用参数的类型介绍,1、DateTime:在需要输入日期/时间的地方,可以用DateTime 类型来替代。其属性设置也很简单,选择一种格式即可。当然也可以定制格式。 2、Iteration Number:在实际运行中,LoadRunner 使用该测试脚本当前循环的次数来代替。 3、Random Number:随机数。在属性设置中可以设

11、置产生随机数的范围。 4、Unique Number:唯一的数。在属性设置中可以设置第一个数以及递增的数的大小。 5、File:需要在属性设置中编辑文件,添加内容,也可以从现成的数据库中取数据。,参数化设置,提醒:在参数数据显示区,最多只能看到100 行,如果数据超过100 行,只能点“Edit”按钮,进入记事本看。或者在安装路径HPLoadRunnerconfig下修改vugen.ini文件的MaxVisibleLines值。,“Select next row ”有以下几种选择:,Sequential:按照顺序一行行的读取。每一个虚拟用户都会按照相同的顺序读取。 Random:在每次循环里随

12、机的读取一个。 Unique :唯一的数。 Same Line As 某个参数(比如Card_no):和前面定义的参数Card_no取同行的记录。通常用在有关联性的数据上面。例如密码与卡号是一一对应的,每次都取同一行的卡号和密码。,Update Value on 有以下几个选项:,Each iteration:运行时,在每一次循环中都取相同的值。 Each Occurrence:在运行时,每遇到一次该参数,便会取一个新的值。 Once:运行时,只在第一次迭代时取一次值,在以后的迭代中值不变。,为避免多用户同时使用同一张卡做交易导致锁卡,建议使用unique/once。,使用数据库中的数据来参数

13、化,使用数据库中的数据来参数化,选择创建的ODBC数据源,点击确定后弹出下框:,使用数据库中的数据来参数化,输入user name和password之后,点击OK,弹出下框:,点击finish完成。结果如下图所示:,使用数据库中的数据来参数化,初始值,最大值,字段长度,LoadRunner把1-1000的数值分配给第一个用户,把1001-2000的值分配给第2个用户。在压力测试过程中,user1第一次取值是000001,第二次取值是000002,依次取值。User2第一次取值是001001,第二次取值是001001,依次取值。,Unique Number类型,Date/Time类型,Run-t

14、ime setting,设置迭代次数,Run-time setting,选择打印扩展日志,LR会打印出参数值和服务器返回的数据,方便脚本调适过程中做分析。如下图。,将参数赋值操作作为日志输出,将服务器返回的请求作为日志输出,高级跟踪日志,Run-time setting,忽略think time,按照录制回放think time,按照录制的倍数回放think time,指定按照录制的最大和最小百分比,在两者之间随机选择一个值回放。,设置think time的最大值,lr_think_time(10); LR中使用该函数设置思考时间,单位是秒。,创建Controller场景,创建Controll

15、er场景,可以在开始菜单创建,也可以在Vugen中选择Tools-Create Controller Scenario创建。LR通过Controller场景实现多虚拟用户的负载测试。,创建场景后弹出Create Scenario框,可选择使用目标场景或手动场景。 Manual Scenario:该项要完全手动的设置场景。 GoalOriented Scenario: 通过Controller的Auto Load功能进行自动化负载。如果结果达到目标,说明系统与期望相符,否则就提示无法达到目标。,目标场景,设置目标场景,点击Edit Scenario Goal按钮,打开目标场景编辑对话框:,设置目

16、标场景,设置目标场景负载生成方式Ramp Up:,手工场景,初始化用户: 双击Initialize Action,弹出Edit Action窗口,如图。系统提供3种初始化用户的方式,一般选择3即在每个虚拟用户开始运行前进行初始化。,可以反复添加Start VusersDurationStop Vusers可以生成一个波浪形场景,更加真实模拟真实场景。,Scenario模式:,设置负载增加Start Vusers: 双击Start Vusers可以打开负载用户增加的策略设置窗口,如图。可以设置产生负载的用户数,一般使用每隔一段时间增加一定的用户负载,也可以设置为一次性加载用户。,设置负载持续时间

17、。可以设置持续时间长度,也可以只执行一次脚本。,设置负载释放过程。这里提供了两种释放策略,可以设置用户直接停止,也可以通过设置负载逐渐下降,分析系统的回收资源能力。,多脚本共同运行:,在手工场景中,用户脚本都被称为Group,每个用户组都代表一种操作。,修改各个Group的Quantity用户数: 首先可以在Start Vusers内修改开始的用户总数,然后需要将场景的用户修改为百分比模式:,设置各个脚本占总用户数的百分比,然后再在Scenario下取消选择,则用户数已按照百分比分配。通过场景运行图可以发现两个脚本是使用同样的负载方式进行的,只是根据用户的比例分配负载增加的趋势。这就是Scen

18、ario模式。,Group模式: 在Group模式下除了可以独立设置脚本开始原则外,还可以通过Start Group策略为脚本之间设置前后运行关系。,Start Group Action:,第一种:场景一开始就立即运行 第二种:场景运行多少时间后再 运行。 第三种:当某一个group执行结束后再运行。,脚本之间的场景设计使用不同的颜色。这里设置clx脚本在cjiaobenmoban.1执行完成后再执行,负载生成器Load Generators:,Load Generators是运行脚本的负载引擎,在默认情况下使用本地的负载生成器来运行脚本,但是模拟用户行为也需要消耗一定的系统资源,所以在一台电

19、脑上无法模拟大量的虚拟用户,这个时候可以通过调用多个Load Generators来完成大规模的性能负载。,添加后可以connect一下,如果状态为Ready则说明正确连接,该负载生成服务器就可以正常使用。Load Generator加载后name左侧的图标显示该负载生成器的资源使用情况。绿色说明有空余资源,红色表示负载服务器忙碌。,系统监控,Scenario Groups场景用户状态:,列出了所有运行脚本的虚拟用户状态,通过这个表格可以清晰地了解当前负载中各个虚拟用户的状态,也可以通过单击鼠标右键中的功能对用户进行简单的监控和设置,如下图:,在菜单中可以手工设置脚本运行,或者使用Show V

20、user打开小的浏览器查看每个用户的运行情况。Show Vuser Log用于直接查看每个用户的运行日志。,Scenario Status场景运行状态:,列出当前场景的状态,通过它可以了解当前负载的用户数、消耗时间、每秒点击量、事务通过/失败的个数,以及系统错误的个数,如下图:,单击Errors后面的数字,打开Output窗口。双击报错信息或单击Details按钮,会显示错误详细信息。,计数器:,点击Add Measurement打开Windows Resourses管理窗口,如下图所示,默认监控的计数器名,单击Add按钮添加更多计数器。,LR11相对于之前的版本来说,添加了计数器的模板概念,

21、通过单击Save as Template按钮将当前配置的Resource Measurements on列表保存为模板,就可以让以后添加的任意服务器都自动使用这个模板规定的计数器列表。如果想恢复默认的计数器列表可以单击Restore Defaults按钮。 如果添加的计数器不是本机的,点击Resource Measurements on添加计数器下的Add按钮,会出现远程服务器的登录对话框,输入该服务器的用户名和密码。登录成功后会弹出一个窗口,列出远程计数器列表,选择需要的计数器,单击Add按钮后该计数器会被添加至场景监控。,在Avaliable Graphs计数器列表中列出了所有能够监控的计

22、数器名称,根据需要,我们也可以对Oracle等进行监控。当场景运行时,脚本会首先被发送到各个Load Generator上开始执行,获得数据的计数器变为蓝色,生产相关数据。当场景结束时,各个Load Generator上的日志会被下载回Controller。,场景实行完成后,场景中所产生的计数器数据相关信息都会保存在Res目录下,可以通过设置来修改每次场景运行后的结果目录。,打开Results菜单下Results Setting功能,如图:,这里可以设置场景运行后的数据存放目录,在结果目录中存放着一个output.mdb文件,该文件中记录了所有计数器数据。,数据收集分析Analysis,场景运行结束后在场景直接运行Results菜单下的Analysis打开结果分析。,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论