LoadRunner内部结构(1)

LoadRunner内部结构(1)

 

 根据http://www.wilsonmar.com/1loadrun.htm  翻译: php

LoadRunner内部结构html

 

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

      Kli> cpp (C语言pre-processor)数据库

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

 

经过在Windows批处理脚本中启动Mdrv.exe来默默地启动运行。浏览器

Mdrv能自动中止加载Vuser,由于他们与Vuser和Windows负载生成器上的CPU使用监视器之间互相通讯。多线程

在Windows机器上,对于每个基于Java的Vuser都有一个独立的JVM。大数据

2,            虚拟用户经过在负载生成器客户端机器上使用agent(3900 magentproc.exe)做为服务或者进程来按照组(在指定的负载生成器上运行相同脚本的虚拟用户的集合)启动虚拟用户。ui

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

4,            当日志被启用后,代理一样会在结果文件中为每个虚拟用户(由虚拟用户组分开)创建一系列日志文件。

5,            在执行过程当中,这些文件能够经过在Controller机器上的view > Show Output窗口中显示。

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

7,            代理是由每个负载生成器上的Remote AgentDispatcher进程(之前叫Remote Command Launcher(RCL))启动的.

8,            每个根据场景(.lrs)定义文件中设置的代理来决定哪个虚拟用户组和脚本须要在主机上运行.

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

 REM Start Controller:
SET M_ROOT=C:\Program Files\Mercury Interactive\LoadRunner\bin
cd %M_ROOT%
wlrun.exe -TestPath D:\Dev\Dev1.lrs -port 8080 -Run -DontClose

l      包含的-Run参数与手动的点开始场景自动运行是同样的.这不是一个很好的方法,由于你可能须要决定从之前的运行中收集文件或者想改变输出文件夹.

l      这是假设系统环境变量PATH已经被更新了,包括LoadRunner的安装.

9, Controller经过使用  Windows操做系统文件夹里的参数值来启动.由于LoadRunner被设计成在一个机器上一次只能运行一个Controller实例,因此须要使用Windows文件夹.

 ##为了在几个应用之间快速的切换,在Controller工做以后保存LoadRunner的ini文件,而后使用记事原本制做一个批处理文件.在执行wlrun以前拷贝应用程序的指定版本的ini文件.下面是一个应用程序文件拷贝的例子:

copy %WinDir%/wlrun7-XXX.ini   %WinDir%/wlrun7.ini
copy %WinDir%/wlrun7-XXX.dft   %WinDir%/wlrun7.dft

须要修改一些默认值:

l      wlrun7.ini文件的output区域, MaxNumberOfOutputMessages=from 10000 to 100000,这就限制了存储在数据库中的输出信息的数目.

l      MaxOutputUIRowsToShow限制了在Controller的输出窗口中显示的信息/错误行总数.

l      LoadRunner程序文件的dat\protocols     文件夹下的QTWeb.lrp文件的[Vugen]部分,添加一个MaxThreadPerProcess=5来限制由每一个负载生成器mdrv.exe进程管理的线程数.

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

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

VuGen在Windows文件夹下存储和检索vugen.ini文件.当使用JAVA的时候,须要添加一些其余的调试选项:

[DynaDlg]
JavaLevel=3

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

[Editor]
OLDEDITOR = 1

VuGen在LR文件夹template/qtwebdefault.cfg和脚本文件里打开.

Vu scrīpts可使用脚本外部的参数文件来得到的变量值进行编码.

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

11.运行过程当中,执行结果存储到一个结果文件夹中.

   我喜欢在场景执行中把结果设置成自动产生结果.这样,LoadRunner会在每次启动一个场景以后自动产生一个子增的结果名.例如,结果名称Res1会自动增加到Res12或有时候是R  es11-1.

错误被写到output.mdb微软Access数据库中。

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

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

14.运行完成以后,"collate"进程处理.eve和.lrr结果文件,而且在结果文件夹下建立一个临时的.mdb数据库.

在处理大数据量的结果时,为了防止错误发生,使用MSDE. ……

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

16.每一次场景运行后的结果文件results_name.lrr,也叫分析文档文件,由分析程序来读取而且显示百分位图表.

 

转自:http://www.51testing.com/html/66/34866-72811.html
相关文章
相关标签/搜索