LoadRunner原理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LoadRunner原理相关的知识,希望对你有一定的参考价值。

LoadRunner是如何模拟成千上万的用户操作的?
LoadRunner怎么确定所测试的网站的呢 如果我在LoadRunner设定的网站中打开其他的网站LoadRunner还会继续测试被打开的网站吗?为什么?

LoadRunner工作原理:

LoadRunner通过模拟上千万用户实施并发负载,实时性能监控的系统行为和性能方式来确认和查找问题。 

1、VuGen发生器:捕捉用户的业务流,并最终将其录制成一个脚本:

(1)选择相应的一种协议;

(2)在客户端模拟用户使用过程中的业务流程,并录制成一个脚本;

(3)编辑脚本和设置Run-Time Settings项;

(4)编译脚本生成一个没有错误的可运行的脚本。

2、控制器(Controller):

(1)设计场景,包括手动场景设计和目标场景设计两种方式;

(2)场景监控,可以实时监控脚本的运行的情况。可以通过添加计数器来监控Windows资源、应用服务器和数据库使用情况。

场景设计的目的是设计出一个最接近用户实际使用的场景,场景设计越接近用户使用的实际情况,测试出来的数据就越接近真实值。

3、负载发生器(Load Generators):模拟用户对服务器提交请求。

通常,在性能测试过程中会将控制器和负载发生器分开;当使用多台负载发生器时,一定要保证负载均衡(指在进行性能测试的过程中,保证每台负载发生器均匀地对服务器进行施压)。

4、分析器(Analysis):主要用于对测试结果进行分析。

其原理图如下:

参考技术A 我英文不好,没看过官方文档,好多东西都是自己摸索的,如果回答的不正确大家别见笑。
1、Lr的用户数量就是一个多线程
2、Lr不会智能到自己分辨要测试的网站,这个只能由测试者编辑脚本达到要求,如果在设定的网站中打开其他的网站,这个动作也会被录制下来,在脚本的回放和运行中都会按照脚本中的动作去完成,所以你要测试那个网站的那个动作,都要自己编辑脚本来确定。
3、Lr压力的时候测试那个网站,由你的action中的动作决定,在压力时,首先它加载的是init,之后就开始循环action,init只会被加载一次,所以会不会测试被打开的网站,就看你打开的动作是在Init里面还是在ACTION里面。本回答被提问者采纳
参考技术B 录制前 需要设置测试网站的 url 参考技术C LoadRunner 是一种预测系统行为和性能的工业标准级负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。
LoadRunner工作原理
LoadRunner由四大组件组成:VuGen、控制器、负载发生器和分析器。
1、 VuGen发生器:捕捉用户的业务流,并最终将其录制成一个脚本:(1)选择相应的一种协议;(2)在客户端模拟用户使用过程中的业务流程,并录制成一个 脚本;(3)编辑脚本和设置Run-Time Settings项;(4)编译脚本生成一个没有错误的可运行的脚本。
2、控制器(Controller):(1)设计场景,包括手动场景设计和目标场景设计两种方式;(2)场景监控,可以实时监控脚本的运行的情况。可以通过添加计数器来监控Windows资源、应用服务器和数据库使用情况。
场景设计的目的是设计出一个最接近用户实际使用的场景,场景设计越接近用户使用的实际情况,测试出来的数据就越接近真实值。
3、负载发生器(Load Generators):模拟用户对服务器提交请求。
通常,在性能测试过程中会将控制器和负载发生器分开;当使用多台负载发生器时,一定要保证负载均衡(指在进行性能测试的过程中,保证每台负载发生器均匀地对服务器进行施压)。
4、分析器(Analysis):主要用于对测试结果进行分析。

#工具共享# LoadRunner 负载测试工具

LoadRunner是一款适用于多种软件体系架构的负载测试工具,从用户关注的响应时间、吞吐量,并发用户数和性能计数器等方面来衡量系统的性能表现,辅助用户进行系统性能优化。


原理:LoadRunner通过模拟成千上万用户实施并发负载及实时性能监测的方式来确认和查找问题,优化性能和加速应用系统的发布周期。


组成:LoadRunner主要包括三个前台功能组件,分别为VuGen(虚拟用户脚本生成器)、Controller(测试控制器)和Analysis(结果分析器)。系统会自动调用后台功能组件LG(负载生成器)和Proxy(用户代理)来完成性能测试工作。


LoadRunner 必知术语:

1. 场景(Scenario):即测试场景,在LoadRunner的Controller部件中,可以设计与执行用例的场景,设置场景的步骤主要包括:在Controller中选择虚拟用户脚本、设置虚拟用户数量、配置虚拟用户运行时的行为、选择负载发生器(Load Generator)、设置执行时间等。

2. 负载发生器(Load Generator):用来产生压力的机器,受Controller控制,可以使用户脚本在不同的主机上执行。在性能测试工作中,通常由一个Controller控制多个Load Generator以对被测试系统进行加压。

3. 虚拟用户(Virtual User/Vuser):性能测试模拟多个用户操作可以理解为这些虚拟用户在跑脚本,以模拟多个真正用户的行为。

4. 虚拟用户脚本(Vuser script):通过Vuser Generator录制或开发的脚本,这些脚本用来模拟用户的行为。

5. 事务(Transaction):测试人员可以将一个或多个操作步骤定义为一个事务,可以通俗的理解事务为“人为定义的一系列请求(请求可以是一个或者多个)”。在程序上,事务表现为被开始标记和结束标记圈定的一段代码区块。Loadrunner根据事务的开头和结尾标记,计算事务响应时间、成功/失败的事务数。

6. 思考时间(Think Time):即请求间的停顿时间。实际中,用户在进行一个操作后往往会停顿然后再进行下一个操作,为了更真实的模拟这种用户行为而引进该概念。在虚拟用户脚本中用函数lr_think_time()来模拟用户处理过程,执行该函数时用户线程会按照相应的time值进行等待。

7. 集合点(Rendezvous):设集合点是为了更好模拟并发操作。设了集合点后,运行过程中用户可以在集合点等待到一定条件后再一起发后续的请求。集合点在虚拟用户脚本中对应函数lr_rendezvous() 。

8. 事务响应时间:事务响应时间是一个统计量,是评价系统性能的重要参数。定义好事务后,在场景执行过程和测试结果分析中即可以看到对应事务的响应时间。通过对关键或核心事务的执行情况进行分析,以定位是否存在性能问题。


接下来就是小编无私分享的时候了,快快拿走不谢~~~

链接: https://pan.baidu.com/s/1AWRV3hlukF-kxfBhRy8IhA

密码: hywr




以上是关于LoadRunner原理的主要内容,如果未能解决你的问题,请参考以下文章

loadrunner11+12 app性能测试

loadrunner 怎样做接口测试

loadrunner中场景怎么理解?

我的loadrunner为啥添加不了度量,添加度量的菜单是灰色的

Loadrunner关联

loadrunner性能测试的基本步骤都有哪些?