loadrunner 原理
上一篇 /
下一篇 2008-11-25 13:03:34
/ 个人分类:loadrunner
一直都是用一台机器来学习
loadrunner,说实话,还没有好好理解过loadrunner的原理,
前几天从网上搜索了一下,放在这里,以免自己忘记:
loadrunner通过模拟上千万用户实施并发负载,实时性能监控的系统行为和性能方式来确认和查找问题。
一、LoadRunner工具组成
1、虚拟用户脚本生成器:捕获最终用户业务流程和创建自动性能测试脚本,即我们在以后说的产生测试脚本;
2、压力产生器:通过运行虚拟用户产生实际的负载;
3、用户代理:协调不同负载机上虚拟用户,产生步调一致的虚拟用户;
4、压力调度:根据用户对场景的设置,设置不同脚本的虚拟用户数量;
5、监视系统:监控主要的性能计数器;
6、压力结果分析工具:本身不能代替分析人员,但是可以辅助测试结果的分析。
二、LoadRunner工具原理
代理(Proxy)是客户端和服务器端之间的中介人,LoadRunner就是通过代理方式截获客户端和服务器之间交互的数据流。
1)虚拟用户脚本生成器通过代理方式接收客户端发送的数据包,记录并将其转发给服务器端;接收到从服务器端返回的数据流,记录并返回给客户端。这样服务器端和客户端都以为在一个真实运行环境中,虚拟脚本生成器能通过这种方式截获数据流;虚拟用户脚本生成器在截获数据流后对其进行了协议层上的处理,最终用脚本函数将数据流交互过程体现为我们容易看懂的脚本语句。
2)压力生成器则是根据脚本内容,产生实际的负载,扮演产生负载的角色。
3)用户代理是运行在负载机上的进程,该进程与产生负载压力的进程或是线程协作,接受调度系统的命令,调度产生负载压力的进程或线程。
4)压力调度是根据用户的场景要求,设置各种不同脚本的虚拟用户数量,设置同步点等。
5)监控系统则可以对数据库 、应用服务器、服务器的主要性能计数器进行监控。
6)压力结果分析工具是辅助测试结果分析。
那么我现在假如有多台机器,该如何部署呢?例:假如我现在有测试机a、测试机b、测试机c、服务器d。我的做法如下:
我将a、b当作负载机器,将Controller安装在了c机,用c机来控制a机和b机,a、b上都安装了Vuser和loadrunner generator,不知我这样做对不对。如果正确的话,
(1)不知道loadrunner的监控系统是如何监控到服务器d的各种性能计数器的,哪位大侠能给指导一下?
(2)有关c机的系统配置,如内存、处理器应该达到怎样的要求,要跟服务器d机相近吗?
(3)负载的数量是在Controller端输入的,那么a、b端如何读取c机的负载数量?
哪位大侠指导一下,谢谢。
收藏
举报
TAG:
LoadRunner
loadrunner