loadrunner操作简介(doc15页).doc_第1页
loadrunner操作简介(doc15页).doc_第2页
loadrunner操作简介(doc15页).doc_第3页
loadrunner操作简介(doc15页).doc_第4页
loadrunner操作简介(doc15页).doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

前言Loadrunner是一门测试软件系统性能的工具,所谓软件系统的性能,是指软件处理事务的时间,消耗的系统资源,它和软件的实现算法,服务器的性能、设置有关。使用loadrunner,通过大用户量的并发操作,监测系统的响应时间,IO、内存、CPU使用情况来评定软件系统的性能指标。使用loadrunner,前期的准备和后期的分析是重点。前期的准备包括基础数据的准备和脚本的编制。基础数据的准备是指制造和导入大批量数据(上千万,甚至过亿条记录),用以增加数据库的压力和测试的真实性。脚本是指用户的操作定义,通过执行脚本,来模拟用户对系统的操作。后期的分析是指通过分析测试数据,分析系统的瓶颈所在,这需要扎实的操作系统的知识和有价值的分析经验,在这里省去不表。基础数据的生成,需要借助专门的软件,提供每张表的模版数据(也就是一条真实的记录),生成相似的批量数据(也就是一个循环的事),保存到.unl文件中,再用shell的批处理命令导入数据库就行了。在这里,我以一个web应用程序的压力测试为例,简单介绍loadrunner的基础知识。第一部分:virtual user generator的使用virtual user generator的主要作用是编制脚本,它可以自动生成脚本,我们要做的主要工作是对脚本的调试与修改。启动virtual user generator,进入如下界面。点击file菜单的new选项或者工具栏第一个按钮,进入如下界面:在这里,选择应用程序可能使用到的协议。“new single protocol script”选择单一协议,“new multiple protocol script”可以选择多个协议,中间的列表是能够选择的协议,右边的列表是选中的协议,“new script recent propocols”是近期内使用过的协议。在不确定的你程序只使用到一个协议的情况下,请选择“new multiple propocol script”来选择你将要使用到的协议。我们测试的是web应用程序,将要使用到的是“Web(HTTP/HTML)协议”,点击确定,进入如下界面。在这里,指定要录制脚本的程序的相关信息。Application type 指定应用程序的类型。(internet applications:web应用程序,win32 applications:windows应用程序)program to record:指定应用程序的启动程序,web应用一般为IE或其他浏览器,windows应用即要测试的程序的路径。Working directory:测试活动的工作目录。Web应用为loadrunner的bin文件目录,windows应用为程序所在的目录。URL address:web应用特有,应用程序的路径。Program arguments:windows特有,指定使用应用程序打开的文件的路径。(如测试tc.2.0,打开E:hello.c)record the application startup复选框指定录制脚本的开始,选中在启动时就开始生成脚本,不选中则弹出如下信息框,在想开始录制脚本的地方,点击record,以前的操作将不生成脚本,以后的操作将生成脚本。Options按钮将弹出一个对话框,进行脚本录制的高级设置,这一块涉及的内容多,范围广,不做说明,一般应用,适用默认设置即可。设置以上信息以后,点击OK按钮,loadrunner自动启动指定程序,你对指定程序的操作将全部生成脚本,包括你输入的各种数据,脚本以c语言语法录制。在录制过程中,将有如下的工具栏悬浮在应用程序上,你可以将它拖回loadrunner工具栏,也可以让它一直悬浮在应用程序上。工具栏的各个按钮,从左到右,分别是:开始录制,暂停录制,停止录制,运行,编译,操作名列表,添加操作,添加检查点,添加事务,结束事务,添加聚集点,添加注释,编辑录制设置。其中,点击停止录制按钮,停止对应用程序的录制工作,生成之前操作的脚本;运行,编译按钮在录制过程中不可用,只有录制完成以后才可用。操作其实就是一个函数,操作名就是函数名,记录你的一个操作过程,它初始有三个Vuser_init ,vuser_end和action,前两个是唯一的,一个脚本中只有一个,一般vuser_init存放加载和登陆操作,vuser_end存放退出操作,(一般情况如此,也可以将登陆和退出放在其他函数中。)action可以通过添加操作按钮添加,可以随意命名(符合c的标识符命名规则就行),在脚本运行过程中,vuser_init和vuser_end,每个虚拟用户只运行一次,所有的action可以反复执行。检查点,事务,聚集点,注释是脚本包含的单位.检查点是指一个文本图片,在录制过程中,你可以指定特殊的文本或图片为检查点,loadrunner将生成相应的关联数据,在运行过程中,将检查是否加载了指定的文本或图片.事务是一个完整的活动,插入事务是为了检查某一个活动的响应时间,比如查询客户信息,比如计算保费. 聚集点是为了让所有用户同时执行某一操作,以产生对服务器的压力,比如保存,登陆.注释是一些情况说明文字.编辑录制设置是配置录制信息,和界面三的option按钮功能一样,在这不做过多说明.如上操作,就完成了脚本录制工作,它是脚本的基础.录制的脚本有两种视图方式,脚本视图和树视图,如下: 脚本视图左边列出脚本中的操作名,这里的操作,是脚本录制过程中通过添加操作按钮添加的各种操作,对应到右边的代码,就是一个个函数的函数名,你可以右键单击,删除选中的操作,添加新操作,重命名操作等。脚本视图右边以c语言代码的方式记录了你对页面的操作,可以通过调用的函数名和函数参数查看你的操作和操作的页面。树视图直观清晰,左边列出你操作的页面名,右边列出页面内容。如果协议选择的时候选择的是多协议,脚本视图将生成相应的.h文件,将相应的函数包含进来,如果是单一协议,将在相应的操作函数定义之前包含。脚本录制是脚本生成的基础,要想脚本是有价值的,还要对脚本进行优化和调试。脚本优化主要有三点:调整Think-time,调整事务,参数化。Think-time是你录制脚本的时候,在一个操作之前的停留时间,系统会纪录你的Think-time如果超过三秒,就会纪录下来,think-time对系统的结果分析影响很大,所以一般设置的很小,能去掉的尽量去掉,但是有些是必须的,去掉系统会走不过去。事务是一个完整的活动,在可能会影响系统执行时间的地方设置事务(如登陆,查询数据库或其他复杂的算法),通过检测事务响应时间判断系统性能。事务里不要有think-time,否则会影响数据的真实性,也就影响性能分析结果。插入事务的方法很简单,在录制脚本过程中或在将光标停在想插入事务的脚本位置,点击工具栏中insert start transaction和 insert end transaction按钮,给事务命名,即可插入事务。参数化是指将脚本中那些在每次运行是需要改变的值变量化的过程。脚本录制过程中,你输入的数据会带到脚本中,如果不参数化,每次运行写入读出的都是同一数据,不能保证真实性,也影响测试结果。 比如有以下脚本: web_submit_data(logonin.do, Action=:7601/claim/logonin.do, Method=POST, RecContentType=text/html, Referer=:7601/claim/index.jsp, Snapshot=t2.inf, Mode=HTML, ITEMDATA, Name=loginMessage, Value=, ENDITEM, Name=prpDuserUserCode, Value=1100003103, ENDITEM, Name=prpDuserPassword, Value=0000, ENDITEM, Name=prpDuserComCode, Value=11000031, ENDITEM, Name=imageField.x, Value=0, ENDITEM, Name=imageField.y, Value=0, ENDITEM, EXTRARES, Url=images/BgVisaTop.gif, Referer=:7601/claim/common/pub/Title.jsp, ENDITEM, Url=images/bgTitle2.gif, Referer=:7601/claim/common/pub/Title.jsp, ENDITEM, LAST);要对用户名1100003103,密码0000,登陆机构11000031参数化,分别选中这三个值,右键弹出菜单,选replace with a parameter,弹出如下对话框Parameter name 中输入参数名,parameter type中选择参数类型,original value中保存原始值。参数类型有: Datetime:时间型参数,可以选择输出格式Random Number:随机数,可以指定随机数的范围,选择输出格式Unique Number:一个唯一数,可以指定起始值和块的大小。这里的唯一,是指每个虚拟用户取唯一值,所以要指定块的大小。Iteration Number:当前反复数Vuser ID:当前虚拟用户的ID,在vuser generator中为-1。 Group Name:用脚本负载生成器的名称替换参数,负载生成器是虚拟用户在运行的计算机。 Load generator Name:用虚拟用户组名称替换参数,在vuser generator中为None。 File:将参数值保存到一个.dat文件中,运行时按指定的方式替换。User Define Function:调用外部dll函数生成的数据。 这九类参数也可以用一句话总结: 某日(date/time)发现一个用户自定义的dll(user define function)文件(file),里面有一个序号(vuser id)、两个名字(group name和load generator name),还有三个数字:迭代数(iteration number)、随机数(random number)和唯一数(unique number)。除vuser id 、group name、load generator name 由运行时自动生成唯一值以外,其他的数据类型都可能有多个值选择,就需要配置选择参数,点击properties,进入配置对话框,不同的参数类型需要配置不同的参数设置,对话框也不一样,比较复杂的是file,以file为例,如下图:File path 输入文件路径;Create 创建文件;add col在文件里添加一列;data wizard 配置数据库链接属性,可以选择microsoft querry 和sql 链接。Microsoft querry没用过,sql链接通过ODBC 的 dsn链接数据库。指定链接属性和sql语句。点击creat创建链接属性。伺服器填数据库名,数据库路径由oracle指定。在parameter properties对话框中,select column 设置使用哪一列替换参数,可以用列名,也可以用列序号,对于多个参数的脚本文件,可以把参数值全部放在一个.dat文件中,不同参数指定相应的列;file format指定开始的行数和两列间的分隔符,可以从第一行开始,也可以从任意行开始,分隔符可以用逗号(comma)、空格(space)、tab键(tab),这由你的文件中列与列分隔符决定,一般用逗号。Select next row指定如何查询下一个值,可以是顺序的(sequential)、随机的(random)、唯一的(unique)。如果是唯一的话,就有可能会超出现有的值的个数,在When out of values中可以设置超出时的处理方式。 可以中断(abort vuser)重新循环(continue in a cyclic manner)以最后一个值运行(continue with last value)Update value on 指定何时替代参数。可以是每一次反复(each iteration)、每一次出现(each occurrence)、只在第一次替代(once)。第一次替代指每个用户第一次遇到参数时替代,以后一直用同一个值,不管有没有反复执行;每一次反复是指同一个用户每反复执行一次替代一次;每一次出现指每次碰到参数都替代。参数化很复杂,也很有用,是脚本调制的重点,生成的参数有一个参数列表,可以在param list工具栏中对参数进行维护,要在同一脚本的另外的地方使用已定义的脚本,可以右键选择use existing parameters。在generator中运行,是一个一个用户一个用户的运行,要多个用户同时运行,需要进controller,可以设置运行时参数,主要修改超时时间,是否反复执行,是否忽略think-time。反复和反复次数设置,反复执行时只重复run下的函数,也就是action和用户自定义函数,init和end不反复执行。可以把不想反复执行的action delete。Think-time设置:现在选中的是忽略think-time。可以保持脚本时间,可以倍数于脚本记录时间,可以在脚本时间的一个百分比范围内随机取值,可以限制在一个时间以内。超时设置,主要是HTTP request connect timeout(默认120,最大1000) , HTTP request receive timeout(默认120,最大1

温馨提示

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

评论

0/150

提交评论