热爱测试,主要研究性能测试和自动化测试方面的技术,希望与同样对测试有热情的你一同进步成长
LoadRunner内部结构(1)
上一篇 /
下一篇 2008-01-17 10:54:35
/ 个人分类:性能测试
根据http://www.wilsonmar.com/1loadrun.htm 翻译: 51Testing软件测试网@5OCn}"G
LoadRunner内部结构
f9Q2XN
{eK9y W0
:B:T j-W3q!I a7u01, 被测系统是由驱动进程mdrv.exe(多线程驱动的进程)和r3vuser.exe来产生压力的,其中r3vuser.exe仿真应用程序的客户端,如IE浏览器。它执行了三个主要的操作:51Testing软件测试网#w2La~7v*?%F
Kli> cpp (C语言pre-processor)
S*z$_/W6D;l&Y0R0 1)cci(C语言编译器),建立ci文件,然后使用被测系统的协议相关的驱动来执行。51Testing软件测试网
{m2A4X*S+~ H"U
G0^u4Y+[0^;?.O/D0通过在Windows批处理脚本中启动Mdrv.exe来默默地启动运行。51Testing软件测试网&u4d#jl:\M)\)Bzn
Mdrv能自动停止加载Vuser,因为他们与Vuser和Windows负载生成器上的CPU使用监视器之间互相通信。
@(|CK2?d4FhD*_0在Windows机器上,对于每一个基于Java的Vuser都有一个独立的JVM。
R7c\EaD3Q02, 虚拟用户通过在负载生成器客户端机器上使用agent(3900 magentproc.exe)作为服务或者进程来按照组(在指定的负载生成器上运行相同脚本的虚拟用户的集合)启动虚拟用户。51Testing软件测试网8I9y8C5\ s-nGI0z
3, 每一个拥有代理的机器维护一个在.qtp文件中的执行日志。
6j~Zb4K+d[W04, 当日志被启用后,代理同样会在结果文件中为每一个虚拟用户(由虚拟用户组分开)建立一系列日志文件。51Testing软件测试网vY+FVjD
5, 在执行过程中,这些文件可以通过在Controller机器上的view > Show Output窗口中显示。51Testing软件测试网+{*fj)L YYO-d
6, 在预先设置延时上,Controller上运行的Scheduler指导代理(通过Windows 54345端口,或者Unix上的动态端口)去初始化场景会话.Controller(wlrun.exe)在请求中发送一份场景的拷贝.51Testing软件测试网8]Exja4u%C!Kel{yQ
7, 代理是由每一个负载生成器上的Remote AgentDispatcher进程(以前叫Remote Command Launcher(RCL))启动的.51Testing软件测试网 F Vo(W(N i
8, 每一个根据场景(.lrs)定义文件中设置的代理来决定哪一个虚拟用户组和脚本需要在主机上运行.
m-U
B0h
R"~0G2v]0 ##这就是说Controller可以从DOS的批处理文件(.batch)中启动.
O"FH7Oe%O3q0 REM Start Controller:
Z| G.wl+T
^4P_7^0SET M_ROOT=C:\Program Files\Mercury Interactive\LoadRunner\bin51Testing软件测试网 u&q7VG,F)sIs
cd %M_ROOT%51Testing软件测试网ql#mnM
wlrun.exe -TestPath D:\Dev\Dev1.lrs -port 8080 -Run -DontClose
1OyT%w,w3?n4Q0l 包含的-Run参数与手动的点”开始场景”自动运行是一样的.这不是一个很好的方法,因为你可能需要决定从以前的运行中收集文件或者想改变输出文件夹.