loadrunner 测试 html5,Loadrunner压力测试工具使用教程

loadrunner 测试 html5,Loadrunner压力测试工具使用教程loadrunner是一款基于项目的简化版性能负载测试基金方案,帮助用户快速识别程序的异常行为。loadrunner的兼容性很强大,支持Web/移动、Web服务、MQTT、HTML5等等,有效减少了脚本编制的时间。由于这款软件功能强大、可操作范围极广,所有今天小编特地带来了loadrunner的部分使用教程。1.1loadrunner压力测试原理本质就是在loadrunner上模拟多个用户同时按固…

大家好,又见面了,我是你们的朋友全栈君。

loadrunner是一款基于项目的简化版性能负载测试基金方案,帮助用户快速识别程序的异常行为。loadrunner的兼容性很强大,支持Web/移动、Web服务、MQTT、HTML5等等,有效减少了脚本编制的时间。由于这款软件功能强大、可操作范围极广,所有今天小编特地带来了loadrunner的部分使用教程。

6e4c0f3ef2b95b6331138b52f9c41a46.png

1.1loadrunner压力测试原理

本质就是在loadrunner上模拟多个用户同时按固定行为访问web站点。其中固定行为在loadrunner中是通过录制脚本定义的,多个用户同时访问的策略是在loadrunner的场景中定义的。

1.2压测思路

通过loadrunner进行压力测试web应用的主要思路分两步:

第一步 录制脚本

先录制用户请求访问的行为,如用户访问首页,或用户先登陆,后浏览页面,后搜索;录制完后会生成用户请求行为的脚本;然后我们按需要修改脚本,使脚本更符合实际请求情况;

第二步 运行场景

在第一步中录制了单个用户请求流程的脚本,第二步主要是设置用户按照脚本同时访问的并发数以及并发访问的时间和策略,使其更接近真实高并发访问的场景;在模拟并发访问后,会形成测试报告,包括服务器数据流吞吐量、每秒请求次数、事务响应时间等。

1.3压测步骤简介

以测试A应用首页为例,主要分为以下5个步骤

1、设置录制选项

2、录制脚本

3、脚本优化

4、设置场景

5、运行场景及查看报告

具体配置如下图所示,其中有些配置步骤可以用loadrunner默认的,不是必须项。

43f1a7c86e454307775bd1c46e2970de.png

2压力测试步骤详细说明

2.1设置录制选项

2.1.1选择首页中的创建/编辑脚本

71f303a10516e9f54d78d411d84037bb.png

2.1.2选择协议

对web站点进行压力测试,选择web(HTTP/HTML)

e2e45d9e9311599c5c6748d5ebb6ab74.png

2.1.3输入系统url,设置录制选项

b5956174240e04aaee7e2c63ba26942b.png

【要录制的程序】:这个是打开url的浏览器,默认为IE,不过loadrunner11支持到IE8,可以自定义浏览器。

【URL地址】:需要进行测试的链接

2.2录制脚本

2.2.1录制脚本

在上一步点击“确定”后,会自动打开浏览器并定位到配置的url地址中。然后需要在浏览器中模拟用户的行为,我们执行一个搜索功能。

68789b659b6f81d6d324f163ac21d8d6.png

在模拟用户行为完后,点击蓝色按钮停止录制,会生成脚本,如下一步所示

2.2.2验证回放脚本

76aa78c9ae4ac9305af6d68344f79530.png

在生成脚本后,可以点击验证回放,会根据生成的脚本在浏览器中回放用户的行为,来验证用户的行为是否符合要求。

2.3脚本优化

回放验证成功后,可以进行事务、参数、并发用户的设置、脚本运行时设置。此操作为可选项,可以不用配置,系统采用默认配置。

事务:根据项目需要,除了衡量整个脚本的性能外,还想获取到脚本中的某一段或几段操作,例如:想知道从单击“确定”按钮到显示首页这一登录过程的性能数据,以便更详细的知道具体是用户的哪些动作对系统性能的影响比较大。这时候,可以将登录的运行脚本标记在一个事务内。

在脚本中没有事务时,可以在脚本开始和结束的地方分别加上

lr_start_transaction(“xxx”);

lr_end_transaction(“xxx”, LR_AUTO);

表示整个脚本为一个事务。否则,可能监控不到事务响应时间

参数化:所谓参数化,针对的是脚本中的某些常量。让不同的虚拟用户在执行相同的脚本时,分别使用单数数据源中的不同数据代替这些常量,从而达到模拟多用户真实使用系统的目的。例如在‘用户搜索’的事务脚本中,搜索的关键字是‘AAA’。但实际情况中,每个并发访问的用户搜索的关键字是不一样的。所以要使每个用户执行脚本时的关键字都不一样,这个过程就需要对关键字参数化。

脚本运行时设置:设置每个action的执行次数、设定思考时间、步等

76c761c6691bd73af5c4323e2d69634d.png

【步】:每个用户请求事务的时间间隔,一般选第一个,上一个事务一结束就开始下一个

【思考时间】:思考时间是为了模拟时更加接近用户的真实行为。实际中,用户进行一系列的操作之间会有停顿,即思考时间,例如:加载出数据后,用户会阅读数据,而浏览数据的过程对服务器是没有压力的。因此,在脚本中用函数lr_think_time(double time)来模拟用户停顿过程(未执行任何操作的过程),执行该函数时,用户线程会按照相应的time值进行等待。如果选择忽略思考时间,会对服务器造成更大的压力。

2.4创建场景及运行场景

2.4.1创建场景

在录制完脚本页面中点击tools-》create controller scenario,会弹出以下窗口

9d4e205b7e33615e5d3fd2acdb78c9d2.png

number of vusers:共要创建的虚拟用户100个;

Load gennrator:创建虚拟用户的机器,localhost本地;

点击ok后,跳转到创建场景的主页面

8d6ad30a739d7aea67d2593fa0e60b7e.png

1、“场景组”窗格。在“场景组”窗格中配置虚拟用户组及用户组来源,可以用来做分布式压力测试。我们知道一台测试机可以产生的虚拟用户是有限的(通常普通配置的主机能产生200个),当需要更大的压力即更多虚拟用户时,我就需要从别的测试机产生虚拟用户,并在此处配置,指定运行的 Vuser 数目以及运行时使用的计算机。

2、“场景计划”窗格。在“场景计划”窗格中,设置加压方式以准确模拟真实用户

行为。可以设置初始化用户策略、逐步增加并发用户的速度、并发用户持续请求时间、逐步减少并发用户的速度。

3、设置 Vuser 初始化。

初始化是指通过运行脚本中的vuser_init 操作,为负载测试准备虚拟用户。在Vuser 开始运行之前对其进行初始化可以减少CPU 占用量,并有利于提供更加真实的结果。

9a5d4d3d1aaef9dd7ff3aff8991c62b9.png

4、设置启动vusers,可以设置逐步增加并发用户的速度,下图表示表示每30 秒启动 2 个Vuser。

7301d78aa66eb23bacd835998ea0ef62.png

通过按照一定的间隔启动Vuser,可以让Vuser 对应用程序施加的负载在测试

过程中逐渐增加,帮助准确找出系统响应时间开始变长的转折点。

5、设置用户并发访问持续时间。设置用户并发持续访问10分中。

中的时间显示为00:11:30。设置Vuser 运行10 分钟。

6、安排逐渐减少用户访问。

建议逐渐停止Vuser,以帮助在应用程序到达阈值后,检查系统恢复情况。

如下图所示,表示每隔30 秒停止 2 个 Vuser。

80222ce1694db5d51425c8186d68e9d3.png

7、用户并发访问策略,可以在下图中表现出来。

ea176e771cca208d87efae9684143cb8.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/161023.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MINA 框架简介「建议收藏」

    ApacheMinaServer是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP协议栈的通信框架(然,也可以提供JAVA对象的序列化服务、虚拟机管道通信服务等),Mina可以帮助我们快速开发高性能、高扩展性的网络通信应用,Mina提供了事件驱动、异步(Mina的异步IO默认使用的是JAVANIO作为底层支持)操作的编程模型。Mina主要有1.x

    2022年4月6日
    73
  • linux lvm挂载新的硬盘并且扩容

    linux lvm挂载新的硬盘并且扩容

    2021年11月22日
    47
  • navicate 15.0.23 激活码(最新序列号破解)[通俗易懂]

    navicate 15.0.23 激活码(最新序列号破解),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    143
  • 谈谈5G的信道编码方法

    谈谈5G的信道编码方法最近因为联想的投票引发了轩然大波,让我们不得不审视一下投票的对象:5G的信道编码方式。信道编码是通信技术中非常关键的技术,用于对抗信道上的噪声以及干扰,提高传输的效率。我在通信技术的四大金刚一文中,按重要性将编码技术归为第二位,其中就包含了信道编码。不过,信道编码的效果是有极限的,这就是香农定理所指出的编码极限。在GSM系统中,采用了卷积以及交织等信道编码方式,离编码极限还有一段距…

    2022年5月31日
    159
  • Java截取字符串的常见方法「建议收藏」

    Java截取字符串的常见方法「建议收藏」转自:https://blog.csdn.net/zjx2016/article/details/74557301在项目中经常会遇到截取字符串的需求,这里重点介绍两种常见的截取字符串方法。方法一:通过split()将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时。Stringstr="53285964@qq.co…

    2022年5月24日
    56
  • java卸载 安装错误_Java卸载后无法重新安装 提示已安装过[通俗易懂]

    java卸载 安装错误_Java卸载后无法重新安装 提示已安装过[通俗易懂]龙歌这款游戏需要在玩之前安装一个java的插件,有时候由于错误的安装或卸载java会造成虽然已经删除了java插件,但是重新安装java时系统提示已经安装了一个版本,而无法重新安装。在Windows中,如果本地安装过Java,但存在问题无法使用,需要重新安装同版本的Java时,会出现下面的提示:原因是原有Java安装目录已经被删除或损坏了,不过在注册表还残留了安装信息,如果用360和优化大师清除注…

    2022年5月19日
    41

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号