做者博客:vps精选网web
1loadrunner压力测试通常使用流程浏览器
本质就是在loadrunner上模拟多个用户同时按固定行为访问web站点。其中固定行为在loadrunner中是经过录制脚本定义的,多个用户同时访问的策略是在loadrunner的场景中定义的。服务器
经过loadrunner进行压力测试web应用的主要思路分两步:网络
第一步 录制脚本并发
先录制用户请求访问的行为,如用户访问首页,或用户先登录,后浏览页面,后搜索;录制完后会生成用户请求行为的脚本;而后咱们按须要修改脚本,使脚本更符合实际请求状况;分布式
第二步 运行场景函数
在第一步中录制了单个用户请求流程的脚本,第二步主要是设置用户按照脚本同时访问的并发数以及并发访问的时间和策略,使其更接近真实高并发访问的场景;在模拟并发访问后,会造成测试报告,包括服务器数据流吞吐量、每秒请求次数、事务响应时间等。高并发
以测试A应用首页为例,主要分为如下5个步骤性能
1设置录制选项测试
2录制脚本
3脚本优化
4设置场景
5运行场景及查看报告
具体配置以下图所示,其中有些配置步骤能够用loadrunner默认的,不是必须项。
对web站点进行压力测试,选择web(HTTP/HTML)
【要录制的程序】:这个是打开url的浏览器,默认为IE,不过loadrunner11支持到IE8,能够自定义浏览器。
【URL地址】:须要进行测试的连接
在上一步点击"肯定"后,会自动打开浏览器并定位到配置的url地址中。而后须要在浏览器中模拟用户的行为,咱们执行一个搜索功能。
在模拟用户行为完后,点击蓝色按钮中止录制,会生成脚本,以下一步所示
在生成脚本后,能够点击验证回放,会根据生成的脚本在浏览器中回放用户的行为,来验证用户的行为是否符合要求。
回放验证成功后,能够进行事务、参数、并发用户的设置、脚本运行时设置。此操做为可选项,能够不用配置,系统采用默认配置。
事务:根据项目须要,除了衡量整个脚本的性能外,还想获取到脚本中的某一段或几段操做,例如:想知道从单击"肯定"按钮到显示首页这一登陆过程的性能数据,以便更详细的知道具体是用户的哪些动做对系统性能的影响比较大。这时候,能够将登陆的运行脚本标记在一个事务内。
在脚本中没有事务时,能够在脚本开始和结束的地方分别加上
lr_start_transaction("xxx");
lr_end_transaction("xxx", LR_AUTO);
表示整个脚本为一个事务。不然,可能监控不到事务响应时间
参数化:所谓参数化,针对的是脚本中的某些常量。让不一样的虚拟用户在执行相同的脚本时,分别使用单数数据源中的不一样数据代替这些常量,从而达到模拟多用户真实使用系统的目的。例如在'用户搜索'的事务脚本中,搜索的关键字是'AAA'。但实际状况中,每一个并发访问的用户搜索的关键字是不同的。因此要使每一个用户执行脚本时的关键字都不同,这个过程就须要对关键字参数化。
脚本运行时设置:设置每一个action的执行次数、设定思考时间、步等
【步】:每一个用户请求事务的时间间隔,通常选第一个,上一个事务一结束就开始下一个
【思考时间】:思考时间是为了模拟时更加接近用户的真实行为。实际中,用户进行一系列的操做之间会有停顿,即思考时间,例如:加载出数据后,用户会阅读数据,而浏览数据的过程对服务器是没有压力的。所以,在脚本中用函数lr_think_time(double time)来模拟用户停顿过程(未执行任何操做的过程),执行该函数时,用户线程会按照相应的time值进行等待。若是选择忽略思考时间,会对服务器形成更大的压力。
在录制完脚本页面中点击tools->create controller scenario,会弹出如下窗口
number of vusers:共要建立的虚拟用户100个;
Load gennrator:建立虚拟用户的机器,localhost本地;
点击ok后,跳转到建立场景的主页面
1"场景组"窗格。在"场景组"窗格中配置虚拟用户组及用户组来源,能够用来作分布式压力测试。咱们知道一台测试机能够产生的虚拟用户是有限的(一般普通配置的主机能产生200个),当须要更大的压力即更多虚拟用户时,我就须要从别的测试机产生虚拟用户,并在此处配置,指定运行的 Vuser 数目以及运行时使用的计算机。
2"场景计划"窗格。在"场景计划"窗格中,设置加压方式以准确模拟真实用户
行为。能够设置初始化用户策略、逐步增长并发用户的速度、并发用户持续请求时间、逐步减小并发用户的速度。
3设置 Vuser 初始化。
初始化是指经过运行脚本中的vuser_init 操做,为负载测试准备虚拟用户。在Vuser 开始运行以前对其进行初始化能够减小CPU 占用量,并有利于提供更加真实的结果。
4 设置启动vusers,能够设置逐步增长并发用户的速度,下图表示表示每30 秒启动 2 个Vuser。
经过按照必定的间隔启动Vuser,可让Vuser 对应用程序施加的负载在测试
过程当中逐渐增长,帮助准确找出系统响应时间开始变长的转折点。
5设置用户并发访问持续时间。设置用户并发持续访问10分中。
中的时间显示为00:11:30。设置Vuser 运行10 分钟。
6安排逐渐减小用户访问。
建议逐渐中止Vuser,以帮助在应用程序到达阈值后,检查系统恢复状况。
以下图所示,表示每隔30 秒中止 2 个 Vuser。
7用户并发访问策略,能够在下图中表现出来。
2.4.2建立及运行场景
场景设计完后点击运行->运行场景,运行场景主页面以下图所示
1"场景组"窗格。位于左上角的窗格,能够在其中查看场景组内 Vuser 的状态。使用该窗格右侧的按钮能够启动、中止和重置场景,查看各个 Vuser 的状态,经过手动添加更多 Vuser 增长场景运行期间应用程序的负载。
2"场景状态"窗格。位于右上角的窗格,能够在其中查看负载测试的概要信息,包括正在运行的 Vuser 数量和每一个 Vuser 操做的状态。
3可用图树。位于中间偏左位置的窗格,您能够在其中看到一列 LoadRunner 图。在树中选择一个图,会在图查看区域中显示。以下是经常使用的图
4图查看区域。位于中间偏右位置的窗格,用来显示可用图数中的图表。
5图例。位于底部的窗格,能够在其中查看所选图的数据。
在场景运行完后,能够在当前页面看到部分测试结果,如网络吞吐量,每秒请求数,事务平均响应时间,也能够在results->analyze results中查看详细的结果报告和图表,以下所示。
做者博客:vps精选网