Loadrunner教程–常用操做流程

Loadrunner教程–常用操做流程Loadrunner教程–常用操做流程作者博客:vps精选网1loadrunner压力测试一般使用流程1.1loadrunner压力测试原理本质就是在loadrunner上模拟多个用户同时按固定行为访问web站点。其中固定行为在loadrunner中是通过录制脚本定义的,多个用户同时访问的策略是在loadrunner的场景中定义的。1.2压测思路…

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

Loadrunner教程–常用操做流程

1loadrunner压力测试一般使用流程

1.1loadrunner压力测试原理

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

1.2压测思路

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

第一步 录制脚本

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

第二步 运行场景

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

1.3压测步骤简介

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

1设置录制选项

2录制脚本

3脚本优化

4设置场景

5运行场景及查看报告

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

Loadrunner教程–常用操做流程

2压力测试步骤详细说明

2.1设置录制选项

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

Loadrunner教程–常用操做流程

2.1.2选择协议

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

Loadrunner教程–常用操做流程

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

Loadrunner教程–常用操做流程

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

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

2.2录制脚本

2.2.1录制脚本

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

Loadrunner教程–常用操做流程

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

2.2.2验证回放脚本

Loadrunner教程–常用操做流程

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

2.3脚本优化

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

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

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

lr_start_transaction(“xxx”);

lr_end_transaction(“xxx”, LR_AUTO);

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

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

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

Loadrunner教程–常用操做流程

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

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

2.4创建场景及运行场景

2.4.1创建场景

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

Loadrunner教程–常用操做流程

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

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

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

Loadrunner教程–常用操做流程

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

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

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

3设置 Vuser 初始化。

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

Loadrunner教程–常用操做流程

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

Loadrunner教程–常用操做流程

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

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

 

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

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

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

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

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

Loadrunner教程–常用操做流程

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

Loadrunner教程–常用操做流程

2.4.2创建及运行场景

场景设计完后点击运行->运行场景,运行场景主页面如下图所示

Loadrunner教程–常用操做流程

1″场景组”窗格。位于左上角的窗格,可以在其中查看场景组内 Vuser 的状态。使用该窗格右侧的按钮可以启动、停止和重置场景,查看各个 Vuser 的状态,通过手动添加更多 Vuser 增加场景运行期间应用程序的负载。

2″场景状态”窗格。位于右上角的窗格,可以在其中查看负载测试的概要信息,包括正在运行的 Vuser 数量和每个 Vuser 操作的状态。

3可用图树。位于中间偏左位置的窗格,您可以在其中看到一列 LoadRunner 图。在树中选择一个图,会在图查看区域中显示。如下是常用的图

Loadrunner教程–常用操做流程

 

4图查看区域。位于中间偏右位置的窗格,用来显示可用图数中的图表。

5图例。位于底部的窗格,可以在其中查看所选图的数据。

2.5查看报告

在场景运行完后,可以在当前页面看到部分测试结果,如网络吞吐量,每秒请求数,事务平均响应时间,也可以在results->analyze results中查看详细的结果报告和图表,如下所示。

Loadrunner教程–常用操做流程

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/142540.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • dz搬家 win linux,Discuz论坛完美搬家 详细分享我的DZ搬家步骤[通俗易懂]

    dz搬家 win linux,Discuz论坛完美搬家 详细分享我的DZ搬家步骤[通俗易懂]Discuz论坛完美搬家详细分享我的DZ搬家步骤由于论坛的迅速发展,普通的虚拟主机已经承受不住了,想要换成云服务器,却又不懂得如果搬家。通过网络以及网站客服的查询帮助,亲手实现了Discuz完美搬家。我在搬家时截了每个步骤的图,今天写下这篇文章,为大家详细解说一下。其实网站要搬家有好几种方法,但是要求完美搬家的话,就不没那么多了。很多人都在用帝国备份王进行数据库的备份,自我感觉帝国备份王确实要比…

  • SDK开发工具_软件开发工具下载

    SDK开发工具_软件开发工具下载sdk(软件开发工具包)软件开发工具包一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。软件开发工具包括广义上指辅助开发某一类软件的相关文档、范例和工具的集合。软件开发工具包是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合,一般而言SDK即开发Windows平台下的应用程序所使用…

    2022年10月27日
  • 基于流水线的CPU的设计「建议收藏」

    基于流水线的CPU的设计「建议收藏」1.我们知道,CPU是电脑的中央处理单元,CPU到底是怎么连续的执行指令的。我们以MIPS为例,探究一下。2.基础的知识我们需要知道,CPU执行一条指令时分为五个阶段的:(1)在内存取指令(2)根据指令读寄存器(3)利用寄存器中的数据ALU(4)访问内存(5)写寄存器。一般是这五个阶段,但是很多指令并不是说这五个阶段全部都在做事情。比如add,它只有四个阶段,其中不涉及到内存的访问。但是,又有…

  • java json序列化日期类型[通俗易懂]

    java json序列化日期类型[通俗易懂]做接口开发时经常需要给前端返回日期数据,比如生日、创建时间、更新时间等。我们一般是建一个bean,将定义所需要的字段,并和数据库的字段相对应。虽然数据库的字段是日期类型的,但bean的字段定义在String就行了,看下面的测试代码:packagecom.bs.test;importjava.text.SimpleDateFormat;importjava.util.Date;importc

  • 用python提取字符串的中英文——建议收藏反复观看

    用python提取字符串的中英文——建议收藏反复观看python中提取字符串的中文或英文re中的sub函数提取中文提取英文提取数字re中的findall函数提取中文提取英文提取数字re中的compile函数同时匹配中英文数字去除其他字符前言:提取中英文是我们在做数据处理时候经常使用的,最高效的做法就是通过正则判断了,下面是我写的笔记,希望对你有用re中的sub函数使用Python的re模块,re模块提供了re.sub用于替换字符串中的匹配项。re.sub(pattern,repl,string,count=0)参数说明:

  • 细粒度图像分类(FGVC)—综述[通俗易懂]

    细粒度图像分类(FGVC)—综述[通俗易懂]一、概述什么是细粒度图像分类细粒度图像分类问题是对大类下的子类进行识别。细粒度图像分析任务相对通用图像(General/GenericImages)任务的区别和难点在于其图像所属类别的粒度更为精细。以图1为例,通用图像分类其任务诉求是将“袋鼠”和“狗”这两个物体大类(蓝色框和红色框中物体)分开,可见无论从样貌、形态等方面,二者还是很容易被区分的;而细粒度图像的分类任务则要求对“狗”该类类别……

发表回复

您的电子邮箱地址不会被公开。

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