我的地盘我做主! 博客:http://tester2test.cnblogs.com/   msn:win_soft@163.com

LoadRunner内部结构(转)

上一篇 / 下一篇  2008-12-23 22:45:26 / 个人分类:性能测试

 

1,             被测系统是由驱动进程mdrv.exe(多线程驱动的进程)r3vuser.exe来产生压力的,其中r3vuser.exe仿真应用程序的客户端,如IE浏览器。它执行了三个主要的操作:

+b`-icN;]K0

       Kli> cpp (C 语言pre-processor)

5R\3_#P&IB0

       1cci C语言编译器),建立ci文件,然后使用被测系统的协议相关的驱动来执行。

%t0y*?EGBI*oq0

 

:s.v `i%B:X!g0

通过在Windows批处理脚本中启动Mdrv.exe来默默地启动运行。51Testing软件测试网j|t} V(PbNl_

Mdrv能自动停止加载Vuser,因为他们与VuserWindows负载生成器上的CPU使用监视器之间互相通信。51Testing软件测试网k)tDt j e

Windows机器上,对于每一个基于JavaVuser都有一个独立的JVM

0c,?0Z:a)~4i8j%i9r0

2,             虚拟用户通过在负载生成器客户端机器上使用agent3900 magentproc.exe)作为服务或者进程来按照组(在指定的负载生成器上运行相同脚本的虚拟用户的集合)启动虚拟用户。51Testing软件测试网"|-R1^.g:m-L#WO'c

3,             每一个拥有代理的机器维护一个在.qtp文件中的执行日志

G1u1kg@#p2`6f h0

4,             当日志被启用后,代理同样会在结果文件中为每一个虚拟用户(由虚拟用户组分开)建立一系列日志文件。51Testing软件测试网|%PqZ{!HR

5,             在执行过程中, 这些文件可以通过在Controller机器上的view > Show Output窗口中显示。51Testing软件测试网qyg|V:le_#K

6,             在预先设置延时上,Controller上运行的Scheduler指导代理(通过Windows 54345端口,或者Unix上的动态端口)去初始化场景会话.Controller(wlrun.exe)在请求中发送一份场景的拷贝.

S IfnZB0

7,             代理是由每一个负载生成器上的Remote Agent Dispatcher进程(以前叫Remote Command Launcher(RCL))启动的.51Testing软件测试网%PVT,zB?(@'s[e

8,             每一个根据场景(.lrs)定义文件中设置的代理来决定哪一个虚拟用户组和脚本需要在主机上运行.51Testing软件测试网fK/cx_

      ## 这就是说Controller可以从DOS的批处理文件(.batch)中启动.

%m/QFV1E tS3dk7j.a0

  REM Start Controller:
H P wnEq%v~i h0
SET M_ROOT=C:\Program Files\Mercury Interactive\LoadRunner\bin
-w%Qh A v)R0
cd %M_ROOT%
H!w%U*p6zk?R0_0
wlrun.exe -TestPath D:\Dev\Dev1.lrs -port 8080 -Run -DontClose

8X ]0F0vd;q0

l       包含的-Run 参数与手动的点开始场景自动运行是一样的. 这不是一个很好的方法,因为你可能需要决定从以前的运行中收集文件或者想改变输出文件夹.51Testing软件测试网*aZ})o'k@ o

l       这是假设系统环境变量PATH已经被更新了,包括LoadRunner的安装.51Testing软件测试网%x Y(D1x5cSVW

9, Controller通过使用   Windows 操作系统文件夹里的参数值来启动.因为LoadRunner被设计成在一个机器上一次只能运行一个Controller实例,所以需要使用Windows文件夹.51Testing软件测试网&P tu;UqDob-Y)K

 ## 为了在几个应用之间快速的切换, Controller工作之后保存LoadRunnerini文件, 然后使用记事本来制作一个批处理文件. 在执行wlrun之前拷贝应用程序的指定版本的ini文件. 下面是一个应用程序文件拷贝的例子:51Testing软件测试网:CYc4_t a?l(l!o

copy %WinDir%/wlrun7-XXX.ini   %WinDir%/wlrun7.ini 51Testing软件测试网 H;l&W X7l;Fv@&_
copy %WinDir%/wlrun7-XXX.dft   %WinDir%/wlrun7.dft

/N,Fv5}wNv0

需要修改一些默认值:

M,TzB&XU!K9``0

l       wlrun7.ini文件的output区域, MaxNumberOfOutputMessages= from 10000 to 100000, 这就限制了存储在数据库中的输出信息的数目.51Testing软件测试网:X3i$k$\6]c

l       MaxOutputUIRowsToShow限制了在Controller的输出窗口中显示的信息/错误行总数.51Testing软件测试网2s+dC0X U0ye:HZ

l       LoadRunner程序文件的 dat\protocols       文件夹下的QTWeb.lrp文件的[Vugen]部分, 添加一个MaxThreadPerProcess=5来限制由每个负载生成器mdrv.exe进程管理的线程数.51Testing软件测试网~zXg _pP,s(`

l       存储在wlrun5.ini wlrun7.dft文件中的DefaultScenarioDir, DefaultscrīptDir, DefaultResultDir, [Recent File List]几个数据的值会在每次Controller改变的时候更新。

B!J @b-|a0

10,             Vu scrīpts中定义的每个虚拟用户进行的操作是用LoadRunnerVuGen.exe生成的. 当这个程序启动后, 它在windows文件夹下存储了comparamui.INI文件来保存[LastTablesUsed]下面文件的历史,并且保存由Insert > New Parameter > Dates 菜单指定的[ParamDialogDates].

!ne#_0~!Z`d#\v0

VuGenWindows文件夹下存储和检索vugen.ini文件.当使用JAVA的时候,需要添加一些其他的调试选项:51Testing软件测试网,y;in/c%i2h

[DynaDlg]
Qaz"?+@N dm9z1F0
JavaLevel=3

!]n9u"a)v1iz0

当在VuGen 8.1中使用8.0的脚本, Vugen.ini中加入信息:

S6m4i dW8e0

[Editor] 51Testing软件测试网GX%P1g%R#v A+[
OLDEDITOR = 151Testing软件测试网*_ |*^"Cfc3?

VuGenLR文件夹template/qtweb default.cfg和脚本文件里打开.

ut-nd7c&l d!D0

Vu scrīpts可以使用脚本外部的参数文件来获得的变量值进行编码.51Testing软件测试网cSXgG%?!w7kS)M

更多关于VuGen的信息请看脚本编写的章节.

5FOKM'h"S9RnFw$b0

11. 运行过程中,执行结果存储到一个结果文件夹中.51Testing软件测试网o$? IO$F0jXB8q

    我喜欢在场景执行中把结果设置成自动产生结果.这样,LoadRunner会在每次启动一个场景之后自动产生一个子增的结果名. 例如,结果名称Res1会自动增长到Res12或有时候是R   es11-1.51Testing软件测试网 s x)GaD8Jok,S

错误被写到output.mdb微软Access数据库中。51Testing软件测试网_ i%I&Dad"Q:?!u

12. 在每一个结果文件夹中, 程序自动创建Log文件夹来包含每个组的日志文件. 运行之后,Controller中查看日志文件, , .然后在组中点右键,选择 Show Vuser Log

2\/bq)L4J\^,}.v0

13. 场景运行的时候, 监视器在本地维护每个主机的计数器.

Y#G0wpV+ss0

14. 运行完成之后, "collate"进程处理.eve.lrr结果文件, 并且在结果文件夹下创建一个临时的.mdb数据库.51Testing软件测试网5x`8s#Q?a

在处理大数据量的结果时, 为了防止错误发生,使用MSDE. ……51Testing软件测试网%eYY g*pGU

15.分析模块(8,320K analysisu.exe)使用mdb数据库中的数据来产生分析图表和报告.

s7xX7D:}4t-en0

16. 每一次场景运行后的结果文件results_name.lrr,也叫分析文档文件,由分析程序来读取并且显示百分位图表.51Testing软件测试网dT'W/Gz


r4rF|'T{0n B#S0
/r ?Ui ]+t1C0--------------------------
9`Y'fw6h1zDS?0推荐图书:走出软件作坊
e$DF ms0推荐图书:编译原理第2版
"|v8d d'e-k_0推荐图书:悟透JavaScript51Testing软件测试网&D O*_Y5Sx1`F
推荐图书:大话设计模式
U%`tCWV F0计算机图书专题51Testing软件测试网B1Lnls:F+{
新闻:谷歌Gmail功能键的五大“烦人”之处51Testing软件测试网A'q't7A^"n,U B a3I
导航:博客园首页  知识库  新闻  招聘  社区  小组  博问  网摘  找找看51Testing软件测试网${Z@y G m,v
51Testing软件测试网|7Iug0f
Link URL: http://www.cnblogs.com/tester2test/archive/2008/11/16/1334694.html

TAG:

突破totop 引用 删除 wycmjrg   /   2009-09-25 09:28:04
3
kagrrahang's Net Home 引用 删除 kagrrahang   /   2009-07-15 14:53:18
5
 

评分:0

我来说两句

Open Toolbar