




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1关于LoadRunnerLoadRunner是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。通过使用LoadRunner,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。LoadRunner是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。LoadRunner的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。此外,LoadRunner能支持广泛的协议和技术,为您的特殊环境提供特殊的解决方案。脚本规范有时我们为了衡量某个action的性能,需要在action的开始和结束位置插入这样一个范围,这就定义了一个transaction,LoadRunner 运行到该事务的开始点时,LoadRunner 就会开始计时,直到运行到该事务的结束点,计时结束。这个事务的运行时间在结果中会有反映。插入事务操作可以在录制过程中进行,也可以在录制结束后进行。LoadRunner 可以在脚本中插入不限数量的事务。脚本函数如下:脚本详细参数化首先选择待参数化的内容,点击右键,选择”Replace with parameter”。在弹出的对话框中,填写参数名称、选择Parameter Type,再点击Propeties,进行参数属性设置。现选择最常用的一种参数类型,如下图所示:点击properties后,可对该参数进行个性化设置“Select next row ”有以下几种选择:多个VU如何取值 Sequential:按照顺序一行行的读取。每一个虚拟用户都会按照相同的顺序读取. Random:在每次循环里随机的读取一个,但是在循环中一直保持不变 Unique :每个VU取唯一的值。注意:使用该类型必须注意数据表有足够多的数。比如Controller 中设定20 个虚拟用户进行5 次循环,那么编号为1 的虚拟用户取前5个数,编号为2 的虚拟用户取6-10 的数,依次类推,这样数据表中至少要有100个数据,否则Controller 运行过程中会返回一个错误。Same Line As 某个参数(比如username):和前面定义的参数username 取同行的记录。通常用在有关联性的数据上面。这个也是很有用的,比如有时候我们要求指定VU取读取指定数据,就可以这样定义:创建参数文件,共两列,假设username、passwd,username设定取数方式是unique,passwd则设成 same line as icpcode,如果参数文件第一行数据为992201,200001,则当icpcode=992201时,icpservid会取200001。“Update value on”有如下几种选择:多次迭代如何取值 once在所有的反复中都使用同一个值, each iteration则每次反复都要取新值,并且在每次循环中读到的该参数的值都相同 each occurrence则只要发现该参数就要重新取值,即如果一个action中有多个该参数,每遇到一个就要重新取一个值。脚本验证调试脚本,可以在【Vuser】【Run-Time settings】中设置循环次数及log输出,然后运行2创建运行场景(Controller)当脚本创建好后,需要创建测试场景Scenario,一个运行场景包括一个运行虚拟用户的机器列表,一个测试脚本的列表,及大量的虚拟用户,然后利用LoadRunner的Controller来组织测试方案。2.1虚拟用户数虚拟用户数目会直接影响到压力的大小。在一般情况下,采用递增虚拟用户的方式来寻找系统能够承受的合理压力。比如,预估总虚拟用户数为20个,可以设置初始为2个,每5分钟增加1或2个用户。设置好后,接下来就要对Run-Time Setting进行设置了。2.3 Run-Time SettingVU中也有一个run-time setting,但作用有所不同,此处的设置主要用来对整个场景运行时进行约束,此时脚本的运行时设置就会失效;若在此没有对运行时设置,则按照脚本的设置来运行。一般情况下,会按照以下方式进行设置Run Logic:设置成1;比如设置这里为3,有2个并发用户,相当于执行了6次脚本Log: 将Enable logging前面勾去掉;即不打印输出日志,避免造成loadrunner压测机器磁盘撑爆Think Time:一般情况,为了增大对服务器的压力而选择Ignore think time;Browser Emulation:一般情况下,不选择Smulate brower cache和 Down non-HTML resousces;不选择Smulate brower cache 是为了最大程度模拟一个新用户打开链接时请求的都是服务器的资源而不是本地的一些浏览器中缓存的内容;不选择Down non-HTML resousces是因为在压测时,更关注后端应用本身的性能,而不去下载存放在其他机器上的静态资源Preferences:可以将Advanced下的File and line in automatic transaction name取消掉;目的也是为减少压测机本身资源的消耗。其它设置项:使用默认设置即可。2.4Result设置场景设置好后,即将要开始运行。此时一定要记得的一件事情就是在【Result】【Result Settings】下将 directory指定到硬盘空间大一点的目录下。因为我们在压测过程中会产生大量的临时文件,如果放在默认目录C:Documents and SettingshanshanLocal SettingsTemp下的话,一般C盘空间都不会太大,会导致压测机器本身磁盘爆掉,进而影响压测结果。关于测试结果利用loadrunner的Analysis组件可以实现对整个测试场景的结果分析,场景结束后,在controller中可以点击【Resuluts】【Analyze Results】,即可实现。关于对测试并发用户压力测试脚本示例:调用localhost本地服务,进行并发用户压力测试:Action()web_set_sockets_option(OVERLAPPED_SEND,0);/关闭overlappedweb_reg_save_param(content,LB=,RB=,Search=Body,LAST);web_reg_find(Fail=NotFound,Search=Body,SaveCount=times,Text=group_field,LAST);/lr_convert_string_encoding(lr_eval_string(met_2),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,UnicodeString);/此时skey是一个汉字列表的参数,把它转换为utf-8,存入UnicodeString参数中/lr_save_string(lr_eval_string(UnicodeString),met_2);/把UnicodeString参数的值又覆盖回skey参数,前2步相当于完成了skey参数的汉字到utf-8的转换/web_convert_param(skey,SourceEncoding=PLAIN,TargetEncoding=URL,LAST);/这一步把skey参数从utf-8又转换到url编码/lr_output_message(Url编码=%s,lr_eval_string(skey);/lr_convert_string_encoding(lr_eval_string(key2),LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,UnicodeString);/此时skey是一个汉字列表的参数,把它转换为utf-8,存入UnicodeString参数中/lr_save_string(lr_eval_string(UnicodeString),key2);/把UnicodeString参数的值又覆盖回skey参数,前2步相当于完成了skey参数的汉字到utf-8的转换/web_convert_param(key2,SourceEncoding=PLAIN,TargetEncoding=URL,LAST);/这一步把skey参数从utf-8又转换到url编码/lr_output_message(Url编码=%s,lr_eval_string(key2);lr_rendezvous(同步访问web页面);/集合点lr_start_transaction(url);web_url(ropapi.ashx,URL=http:/localhost:8080/bas-bi/ropapi?method=mmm&format=json&app_key=B3B6FEAB-4296-4190-9783-894FE11E630B&APP_SECRET=64ED1D47-C5F7-4840-9B3F-17D4C427CC57&bas_event=,Resource=0,RecContentType=text/xml,Referer=,Snapshot=t1.inf,Mode=HTML,LAST);if(atoi(lr_eval_string(times)=1)lr_end_transaction(url,LR_PASS);elselr_end_transaction(url,LR_FAIL);/lr_convert_string_encoding(lr_eval_string(content),utf-8,gb2312,str);/lr_log_message(lr_eval_string(str);return0;场景设置:由于需要设置不同的访问用户请求参数设置,这里通过在场景中3个不同输入参数的脚本实现:关于loadrunner 多组脚本分别设置用户数直接设置百分比:secnario -covert the secnario to the percentage mode1. run-mode 设置为 basic schedule 2. 设置各组脚本的用户数,此处假设有3组脚本a 分配2用户,b脚本分配3用户,c脚本分配7用户。1. run-mode 设置为 basic schedule2. 设置各组脚本的用户数,此处假设有3组脚本a 分配2用户,b脚本分配3用户,c脚本分配7用户。3. secnario -covert the secnario to
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 路面大修工程交通组织与管理实施方案
- 虚拟化服务器架构方案设计
- 道路施工现场文明施工管理规范
- 口袋妖怪游戏全关卡攻略大全
- 实验课显微镜操作标准教学设计方案
- 纺织厂环境保护与废料处理方案
- 班级家长沟通策略及实施方案
- 2025年运动损伤理疗治疗方案模拟测试卷答案及解析
- 2025年全科医学综合治疗方案制定考试卷答案及解析
- 企业项目执行力提升方案与案例分享
- 2025项目管理考试题及答案
- 医院手术室质控体系构建与管理
- 喷涂基础知识培训课件
- 2025年驻外内聘考试题库
- 中铁四局工作汇报与战略规划
- 矿山测量基础知识课件
- 【《上市公司财务造假分析的国内外文献综述》5100字】
- 企业融资培训课件
- 2025年抗菌药物合理使用培训
- 杜仲种植深加工项目可行性研究报告-备案立项
- 2025年乡村文化旅游发展报告:文旅融合下的乡村旅游生态旅游规划与实施研究
评论
0/150
提交评论