LoadRunner压力测试
使用LoadRunner进行负载压力测试

使用LoadRunner进行负载压力测试LoadRunner是MI公司的自动化client/server性能测试工具。
它施压于你的整个的应用程序,来隔离和识别潜在的客户端、网络、服务器瓶颈。
它使你能在受控的和高峰负载条件下测试你的系统。
通过运行分布在网络上的成千上万的虚拟用户(取代真实用户)来产生负载,一台机器上可以运行许多虚拟用户。
使用最小的硬件资源,这些虚拟用户提供一致的、可重复的、可度量的负载来像真实用户那样操作你的应用程序。
它的深入的报告和图表提供给你评价应用程序性能的信息。
LoadRunner模拟多用户并发环境进行负载测试,精确度量、监测和分析系统性能与功能。
它的在线监测器使你能在测试执行期间调校你的系统。
2.2录制基本的用户脚本创建用户脚本需要用到VuGen。
提示:运行VuGen 最好在1024*768 的分辨率下,否则有些工具栏会看不到。
启动Visual User Generator 后,通过菜单新建一个用户脚本,选择系统通讯的协议。
这里我们需要测试的是Web 应用,同时考虑到后台SQL 数据库所以我们需要选择Web(HTTP/HTML)协议+SQL SERVER协议,确定后,进入主窗体。
通过菜单来启动录制脚本的命令。
●在URL 中添入要测试的Web 站点地址..。
●测试http://localhost/MercuryWebTours/选择要把录制的脚本放到哪一个部分,默认情况下是“Action”。
这里简单说明一下:VuGen 中的脚本分为三部分:vuser_init、vuser_end 和Action。
其中vuser_init 和vuser_end 都只能存在一个,不能再分割,而Action 还可以分成无数多个部分(通过点击New 按钮,新建ActionXXX)。
在录制需要登陆的系统时,我们把登陆部分放到vuser_init 中,把登陆后的操作部分放到Action 中,把注销关闭登陆部分放到vuser_end 中。
信息系统LoadRunner压力测试报告

**************公司信息技术支持平台压力测试报告**************公司信息技术部**************公司**************公司信息技术支持平台压力测试报告撰写日期:2006-11-10撰写人:测试员:用户工作人员:**************公司信息技术部**************公司目录一、测试环境----------------------------------------------------------------------------------31、服务器-------------------------------------------------------------------------------------32、测试模拟客户机-------------------------------------------------------------------------33、测试方式----------------------------------------------------------------------------------3二、场景描述---------------------------------------------------------------------------------41、模拟环境---------------------------------------------------------------------------------42、测试项------------------------------------------------------------------------------------53、执行测试---------------------------------------------------------------------------------9三、场景小结-------------------------------------------------------------------------------10一、测试环境1.服务器2.客户机PC台式机:PIII 1.0G,384M内存,win20033.测试方式使用LoadRunner软件配置客户模拟机,通过客户机Web端登陆信息技术支持平台,以https://*.com地址为登陆首页URL,通过webseal登录以及单独登录的方式进行测试。
Loadrunner11简单压测接口教程

Loadrunner11简单压测接⼝教程⼀、需求使⽤Loadrunner压测⽬标接⼝,要求⽀持1000并发数。
⽬标接⼝:返回结果:结果返回中code的值为1则为保存成功,为4001则为参数异常,为0时则是保存异常。
执⾏设备:Win10(教育版),Loadrunner11破解中⽂版⼆、概述使⽤Loadrunner进⾏压⼒测试⼀般分为3步,第⼀是创建/编辑脚本,第⼆是运⾏负载测试,第三是分析测试结果。
三、创建/编辑脚本点击“创建/编辑脚本”,打开HP Virtual User Generator窗⼝。
点击“新建脚本”或者打开已有的脚本选择协议类型,这⾥选择Web(HTTP/HTML)类型,新建⼀个脚本。
点击“创建”后,会出现录制的对话框。
因我们是提交请求给接⼝,再接受返回值即可。
因此⽆需录制,我们⼿动添加脚本即可。
接下来我们在Action⾥⾯添加脚本,内容为:Action(){web_reg_save_param("return_code","LB=\"code\":","RB=,",LAST);lr_start_transaction("发送请求事务");web_submit_data("web_submit_data","Action=https:///digitaldata/api/signer/1.0/signerRegist","Method=POST","TargetFrame=","Referer=","RecContentType=application/json",ITEMDATA,"Name=signerName", "Value=xx", ENDITEM,"Name=signerType", "Value=个⼈", ENDITEM,"Name=country", "Value=cn", ENDITEM,"Name=organization", "Value=xxx", ENDITEM,"Name=organizationUnit", "Value=xxx", ENDITEM,"Name=signerIDType", "Value=⾝份证", ENDITEM,"Name=signerIDNo", "Value=xxx", ENDITEM,LAST);lr_end_transaction("发送请求事务", LR_AUTO);if (atoi(lr_eval_string("{return_code}"))==1){lr_output_message("操作成功");}else{lr_output_message(lr_eval_string("{return_code}"));}return0;}脚本的简单解释:web_reg_save_param:主要是获取返回值中某些符合规则的值。
Loadrunner进行http接口压力测试

使用Loadrunner进行http接口压力测试业务描述:在业务系统里进行查询操作,查询的结果是通过请求http接口,从系统中处理并将结果以json字符串返回。
使用Loadrunner对此类接口进行压力测试并记录相关的性能指标数据:一.安装Loadrunner本次测试过程使用Loadrunner 11.0版本。
二.部署环境1.接口服务器一台;2.用于运行Loadrunner的压力测试机1台或N台,在条件允许下,尽可能提供高配置的CPU 和内存。
3.接口服务器和压力测试机建议应部署于同一个局域网内,否则测试过程和结果将受到网络带宽因素的影响无法顺利进行。
三.编写测试脚本方法一. 通过java编写测试类,以jar包的方式引入Loadrunner进行测试。
优点:便于解析接口响应结果,同时避免由于LR脚本编写不规范或配置问题,导致测试过程引发的未知错误。
条件:运行loadrunner的机器需要安装jdk1.6的版本。
1.编写java测试类: CTLPTest.java,如下代码1package com;23import java.io.InputStream;4import .HttpURLConnection;5import .URL;6import java.util.Random;78public class CTLPTest9 {10public static void main(String[] args)11 {12 CTLPTest lbs = new CTLPTest();13 String ltpUrl = lbs.ltpRequestUrl();14 System.out.println(ltpUrl);15 System.out.println(lbs.ltpRequest(ltpUrl));16 }1718public int ltpRequest(String ltpRequestUrl) 19 {20int returnCount = -1;21try22 {23 URL url = new URL(ltpRequestUrl);24//http连接25 HttpURLConnection http = (HttpURLConnection)url.openConnection();26 http.setUseCaches(false);27 http.connect();28//获取http响应流29 InputStream in = http.getInputStream();30//解析响应流31byte[] b = new byte[in.available()];32 in.read(b);33//将响应流转换成字符串34 String res = new String(b);35//根据实际情况,判断响应结果,并设置返回值36int of = res.indexOf("sucess");37if (of < 0) {38 returnCount = -1;39 } else {40 returnCount = 1;41 }42 } catch (Exception e) {43 returnCount = -1;44 }45return returnCount;46 }4748public String ltpRequestUrl() {49 StringBuilder param = newStringBuilder("http://192.168.100.205:8055/CTLP/LtpRequest.json?Imsi= ");50 param.append("userid-1");51param.append("&appName=LBS&Apikey=D39hr1FgplZSjV2eNVW71wvbYbl8Mip4"); 52return param.toString();53 }54 }View Code2.将测试类导出为jar包 : LTPRequest.jar 过程略.3.Loadrunner创建java测试类图1:图2:创建java协议脚本1图3:创建java协议脚本2图4:创建java协议脚本3图5:设置环境变量图6:设置安装的jdk位置目录图7:导入jar包图8:编写脚本内容1package com;23import java.io.InputStream;4import .HttpURLConnection;5import .URL;67public class CTLPTest8 {9public static void main(String[] args)10 {11 CTLPTest lbs = new CTLPTest();12 String ltpUrl = lbs.ltpRequestUrl();13 System.out.println(ltpUrl);14 System.out.println(lbs.ltpRequest(ltpUrl));15 }1617public int ltpRequest(String ltpRequestUrl) 18 {19int returnCount = -1;20try21 {22 URL url = new URL(ltpRequestUrl);23//http连接24 HttpURLConnection http = (HttpURLConnection)url.openConnection();25 http.setUseCaches(false);26 http.connect();27//获取http响应流28 InputStream in = http.getInputStream(); 29//解析响应流30byte[] b = new byte[in.available()];31 in.read(b);32//将响应流转换成字符串33 String res = new String(b);34//根据实际情况,判断响应结果,并设置返回值35boolean of = res.contains("\"state\":1"); 36if (of) {37 returnCount = 1;38 } else {39 returnCount = 0;40 }41 } catch (Exception e) {42 returnCount = -1;43 }44return returnCount;45 }4647public String ltpRequestUrl() {48 StringBuilder param = newStringBuilder("http://192.168.100.205:8055/CTLP/LtpRequest.json?Imsi= ");49 param.append("userid-1");50param.append("&appName=LBS&Apikey=D39hr1FgplZSjV2eNVW71wvbYbl8Mip4"); 51return param.toString();52 }53 }View Code图9:试运行,查看结果说明:至此,完成了java脚本的编写和基本测试,接下来我们就可以使用loadrunner的进行压力测试了。
LoadRunner压力测试实例步骤

LoadRunner压力测试实例摘要:本文通过实例讲解介绍了LoadRunner 工具的使用,介于公司的实际情况,文中主要是对工具的基本使用做了详细描述,高级运用方面除性能计数器与参数设置外其它均未涉及,待以后补充。
目的是使公司人员根据该手册便可以独立运用Loadrunner进行压力测试主题词:Loadrunner 工具压力测试1 LoadRunner 概要介绍LoadRunner 是一种预测系统行为和性能的工业标准级负载测试工具。
通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。
通过使用LoadRunner ,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。
目前企业的网络应用环境都必须支持大量用户,网络体系架构中含各类应用环境且由不同供应商提供软件和硬件产品。
难以预知的用户负载和愈来愈复杂的应用环境使公司时时担心会发生用户响应速度过慢,系统崩溃等问题。
这些都不可避免地导致公司收益的损失。
Mercury Interactive 的LoadRunner 能让企业保护自己的收入来源,无需购置额外硬件而最大限度地利用现有的IT 资源,并确保终端用户在应用系统的各个环节中对其测试应用的质量,可靠性和可扩展性都有良好的评价。
LoadRunner 是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。
LoadRunner 的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。
此外,LoadRunner 能支持广范的协议和技术,为您的特殊环境提供特殊的解决方案。
1.1 基本步骤使用LoadRunner 完成测试一般分为四个步骤:1)Vvitrual User Generator 创建脚本创建脚本,选择协议✧录制脚本✧编辑脚本✧检查修改脚本是否有误2)中央控制器(Controller)来调度虚拟用户✧创建Scenario,选择脚本✧设置机器虚拟用户数✧设置Schedule✧如果模拟多机测试,设置Ip Spoofer3)运行脚本✧分析scenario4)分析测试结果2 安装LoadRunner 中文版LoadRunner 分为Windows 版本和Unix 版本。
loadrunner或jmeter进行手机app的压力测试

loadrunner或jmeter进⾏⼿机app的压⼒测试⼀、通过代理录制脚本 随着⼿机APP的⼴泛应⽤,应⽤的使⽤已占据了⼤量的市场份额,尤其是优秀的⼿机APP,动辄⽤户过千万过亿,对于如此庞⼤的⽤户量,我们在开发APP时,也需要对APP进⾏⼤并发⽤户量的。
1、启动CCProxy,进⼊设置页⾯。
如下图,修改端⼝号为7777(其他未被占⽤的端⼝号均可),确定。
2、查询安装了loadrunner和CCProxy的电脑IP地址,进⼊dos页⾯,输⼊ipconfig查询本机IP地址 3、启动Virtual User Generator,创建新脚本,点击录制时,设置如下图⽰,监听端⼝填写之前配置的端⼝号即可。
完成以上配置,即可进⾏⼿机APP的脚本录制。
⼆、loadrunner录制App脚本 因⽬前⽹上最新只有loadrunner11破解,但11⼜不⽀持⼿机代理录制app脚本,所以牵涉到如何⽤loadrunner11来录制⼿机app脚本问题,⽹上找了很多⽅法,都不同程度出现各种问题,最终问题解决,如下: 原料: 1. Loadrunner11,下载地址:/s/1i4NHwTv 2. loadrunner11补丁包,下载地址:/s/1ciUtYI 3. loadrunner11破解包,下载地址:/s/1boYcVT1 步骤: 要使⽤Loadrunner11录制⼿机脚本,需要先搭建好测试环境: · 能够正常使⽤的LoadRunner11; · 安装⼀个LR11的补丁包,⽤于⼿机录制; · pc端和⼿机端的⽹络在同⼀个⽹段。
这⾥特别说明⼀下,电脑需要可以提供热点(⽤于⼿机连接),如果是台式电脑不能提供热点,那么可以使⽤随⾝WIFI。
笔记本电脑可以通过安装免费WiFi等来达到提供热点的⽬的。
【测试环境准备】 第⼀步:安装LR11 第⼆步:安装LR11录制⼿机脚本补丁包,qfelr11patch4.msp,下载好之后,直接点击安装,没有特别的要求。
LoadRunner11BS压力测试新手必看PPT课件

知识背景 事务:
在loadrunner中,把用户一系列的操作集 合成为事务。 作用:
利用事务可以监听指定操作的一些性能问题。
36
解 决 方 案
37
解 决 方 案
38
解 决 方 案
39
提问与解答环节
Questions and answers
40
结束语 CONCLUSION
感谢参与本课程,也感激大家对我们工作的支持与积极的参与。课程 后会发放课程满意度评估表,如果对我们课程或者工作有什么建议和 意见,也请写在上边,来自于您的声音是对我们最大的鼓励和帮助, 大家在填写评估表的同时,也预祝各位步步高升,真心期待着再次相 会!
25
知识背景 集合点:
集合点是使模拟用户到达集合点后全部等待, 等到达一定数量的vuer就绪后同时执行。 作用:
能有效、准确地模拟最大并发的环境
26
解 决 方 案
27
解 决 方 案
28
问题来了4
很多时候我们进行压力测试,输入的值都需 要发生变化,而上述的方式已经很难满足我们的 需求了。
loadrunner提供了动态修改某些值的方式 来满足我们的需求。
21
原因 因为第一次迭代后,等待60秒后会再执行 一次,即使是持续时间已经“使用完了”
22
解 决 方 案
23
实操时间3 规则:
启动vuer:同时,2000个 持续时间:5分钟 停止vuer:同时 固定间隔:发生在上次迭代后,30秒
24
问题来了3 vuer是陆陆续续执行的,而不是同时执行。 这与我们实际期望有所出入。
29
知识背景
参数: 在loadrunner进行重复测试中,一些需要
(情绪管理)LR压力测试结果分析探讨最全版

(情绪管理)LR压力测试结果分析探讨LoadRunner压力测试结果分析探讨分析原则:1.具体问题具体分析(这是由于不同的应用系统,不同的测试目的,不同的性能关注点)2.查找瓶颈时按以下顺序,由易到难。
服务器硬件瓶颈网络瓶颈(对局域网,能够不考虑)服务器操作系统瓶颈(参数配置)中间件瓶颈(参数配置,数据库,web服务器等)应用瓶颈(SQL语句、数据库设计、业务逻辑、算法等)分析的信息来源:1.根据场景运行过程中的错误提示信息2.根据测试结果收集到的监控指标数据壹.错误提示分析分析实例:1.Error:Failedtoconnecttoserver“172.17.7.230″:[10060]Connection Error:timedoutError:Server“172.17.7.230″hasshutdowntheconnectionpre maturely分析:A、应用服务死掉。
(小用户时:程序上的问题。
程序上处理数据库的问题,实际测试中多半是服务器链接的配置问题)B、应用服务没有死(应用服务参数设置问题)对应的Apache和tomcat的最大链接数需要修改,如果连接时收到connectionrefused消息,说明应提高相应的服务器最大连接的设置,增加幅度要根据实际情况和服务器硬件的情况来定,建议每次增加25%!C、数据库的连接(数据库启动的最大连接数(跟硬件的内存有关))D、我们的应用程序spring控制的最大链接数太低2.Error:Pagedownloadtimeout(120seconds)hasexpired分析:A、应用服务参数设置太大导致服务器的瓶颈B、页面中图片太多C、在程序处理表的时候检查字段太大多D、实际测试时有些资源需要请求外网,而我们的测试环境是局域网环境3.Error“http://172.17.7.230/Home.do....”分析:A、脚本设计错误,造成页面异常。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
LoadRunner压力测试
一、环境准备
优化操作系统(centOS)
1、执行命令
sudo modprobe -r xt_NOTRACK nf_conntrack_netbios_ns nf_conntrack_ipv4 xt_state sudo modprobe -r nf_conntrack
2、使用文本编辑器打开 /etc/sysctl.conf 修改net.ipv4.tcp_max_tw_buckets的值
net.ipv4.tcp_max_tw_buckets= 16000
修改nginx配置
(只在压力测试使用,测试完毕后恢复)
1、找到以下条目,修改值
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
2、修改 upstream 中的值
server 192.168.0.254:8003 max_fails=15 fail_timeout=160s weight=1 srun_id=03;
jvm_route $cookie_JSESSIONID reverse;
修改 LEAP.xml
(只在压力测试使用,测试完毕后恢复)
在RPCServices 节点中添加disablesid="true"
例:<RPCServices disablesid="true">
修改项目登录页面
去除登录页面的图片验证码
二、Loadrunner安装之前
安装要求
1、Loadrunner(主控机和压力机)必须安装在windows2003 server 版本下
2、必须安装IE浏览器,建议为IE6版本,其他版本在脚本录制过程中会出现打不开IE的情况
安装虚拟光驱
双击任务栏图标打开DTlite管理界面,点击添加图标加载iso文件
安装 .NET Framework3.5 SP1
LoadRunner11需要 .NET Framework3.5 SP1的支持,如果在loadrunner安装过程出现异常,请预先安装 .NET Framework3.5 SP1
三、LoadRunner安装
Loadrunner安装包括两部分:主控机安装和压力机安装。
主控机提供脚本录制、脚本调试、脚本运行、报告生成等功能。
压力机负责运行脚本,压力机只能通过加入到主控机中工作。
一般在一次测试过程中,只安装一台主控机,根据测试需要,可安装多台压力机,且主控机和压力机分别安装在独立的机器上。
安装多台压力机的作用是将客户端的压力(cpu、网络等)分布到多台机器上。
请点击“LoadRunner完整安装程序”,然后按照提示信息一步步操作,过程略
请点击“Load Generator”,然后按照提示信息一步步操作,过程略破解过程
成功安装主控机和压力机后,需要完成以下破解过程(非正版)
1、将lm70.dll mlr5lprg.dll 覆盖到安装目录下,例如:
2、运行 lr删除注册表目录下的exe文件,将默认的lic 消除
3、运行 loadrunner ,为其加载lic
4、Loadrunner的序列号见安装目录下
通常使用:AEABEXFR-YTIEKEKJJMFKEKEKWBRAUNQJU-KBYGB
四、录制脚本(Virtual User Generator)启动 Virtual User Generator
创建web脚本录制器
Program to record :设置录制对象的程序,选择IE浏览器URL Adrress:项目的URL地址,输入项目的登录地址
点击 Options 设置如下选项:
1、脚本录制方式
2、选择 UTF-8 编码
开始录制脚本
脚本录制过程从点击 Start Recording 窗口中的 ok 按钮开始,此时loadrunner会打开IE浏览器并打开 url address中的路径。
一般情况下,此路径为项目的登录路径,输入登录用户名和密码进行登录,此时loadrunner会自动记录你的操作过程,你只需点击项目中需要测试的功能模块,直到登出系统为止。
完成测试页面操作后,点击loadrunner停止按钮
退出录制过程,之后loadrunner将自动生成测试脚本。
脚本录制工具栏说明:
:录制按钮,如果当前录制状态处于暂停时,点击此按钮后进入录制状态。
:停止按钮,当完成脚本录制过程时,点击此按钮退出录制
:暂停按钮,点击此按钮后将挂起(暂停)录制,直到点击录制按钮后,进入录制状态。
:动作(Action),点击此按钮新增加一个动作,将不同的功能的代码分别放入各自的动作中,不常使用。
:开始事务按钮
:结束事务按钮
调试测试脚本
1、点击运行按钮执行刚录制的脚本,并从日志窗口中查看是否有错误输入
2、查看日志窗口
3、保存脚本数据
创建事务
事务是loadrunner中重要的功能项,loadrunner通过对事务进行统计,从而计算出每个事务的用时情况,事务分为开始事务和结束事务,必须成对出现,事务的开始和结束之间,必须包含一次或多次请求。
例如,我们将项目的登录过程作为一次事务,将某个查询作为一次事务。
事务的创建可以脚本录制过程中创建,也可以在完成脚本录制之后,采用插入事务方式创建事务。
以下示例将创建 trans_init trans_login trans_main trans_logout 四个事务。
1、创建 trans_init 事务,将登录之前的脚本归纳为 init 事务
2、创建 trans_login事务,创建方法同上,以下展示脚本的位置
3、创建 trans_main事务
4、创建trans_logout事务
保存脚本
将当前脚本保存,之后可在执行测试过程中提供给controller使用。
保存成功后,可以点击 Tool 菜单下的 Create Controller.....进入压力测试场景控制器
五、执行测试(Controller)执行环境介绍
第一步:加载压力机
压力机是安装在其他机器上的,需要在当前的主控机中加载进来,并设置压力机使用的脚本文件,压力机最大用户数。
第二步:验证压力机的状态
第三步:设置压力机运行参数针对每个压力机设置运行参数:
第四步:设置运行场景
运行场景用于设置加载用户的速度控制、持续加压时间控制、用户退出控制
第五步:运行测试
第六步:生成测试结果
在测试过程中,请自行通过其他工具抓取应用服务器、数据库服务器的资源使用视图当测试结束后,通过Loadruner Controller生成测试结果。
六、测试结果(Analysis)
1、总览
2、测试用户的数据
3、每秒点击数
4、其他测试数据
5、生成html报告。