Loadrunner系列学习--Loadrunner架构(1)
Loadrunner系列学习--Loadrunner架构(1)
最近在学习Loadrunner,发现一个英文网站http://www.wilsonmar.com/1loadrun.htm里面介绍的比较全面,这里把英文内容简单翻译下,一是加深自己的理解,另外也帮助不喜欢看英文的朋友学习下这些文章.因为是边看就直接翻译了,可能有不通顺或者翻译不准确的地方,希望大家能提出,谢谢.
一:Loadrunner结构概述
Loadrunner通过使用虚拟用户代替真实用户操作客户端软件来工作的,例如使用IE对IIS或者Apache Web服务器发送HTTP请求.
多个虚拟用户客户端的请求是有负载生成器(Load Generator)产生的,目的是对不同类型的被测服务器产生负载.
这些负载生成器代理(load generator agent )是由Mercury's的控制器(Controller)来控制启动或停止的.
控制器根据由编译的脚本引起的场景(Scenarios)和相关的运行时设置(Run-time Settings)来控制负载测试的运行.
这些脚本是由虚拟用户脚本生成器(Virtual user scrīpt Generator)也叫VUGen生成的.它是通过截获网络应用程序的客户端和服务器之间的网络通信包而产生的C语言脚本,这些脚本可以被虚拟用户执行.
对于Java客户端,VuGen通过客户端的JVM的钩子技术来捕获请求.
在运行时,每个机器的状态由控制器监控.
运行结束后,控制器把监视日志和右负载生成器产生的日志结合起来给分析器(Analysis)使用.分析器能够把这些日志生成结果报表和Microsoft Word格式的图表,水晶报表或HTML格式页.
每一个由分析器生成的HTML报表页包括一个到结果的超链接,这些结果文件可以用Microsoft Excel打开来进行其他的分析.
运行时产生的错误都被存储在一个数据库中,该数据库可以用Microsoft Access打开.
虚拟用户:
不象WINRUNNER那样只能模拟一个客户端用户,LOADRUNNER能够模拟成千上万的虚拟用户.
负载生成器由VnGen脚本控制.这些脚本是使用跟被测客户端一样的协议产生的非GUI的API函数.但是WINRUNNER是使用GUI用户来模拟被测客户端的键盘输入,鼠标点击和其他用户接口的操作,而且只能运行一个GUI用户.而LOADRUNNER终端服务管理器(LoadRunner Terminal Services Manager)管理使用终端服务代理来管理远程机器并且能登陆到客户端终端服务的会话.
运行的时候,线程类型的虚拟用户共享一个公用的内存池.所以线程方式可以使每个负载生成器支持更多的虚拟用户.
所有负载生成器上的虚拟用户的状态是从"Running"开始的,然后在运行完脚本的init部分后变为"Ready".虚拟用户的"Finished"有通过或者失败的结束状态.当负载生成器负载过重时虚拟用户自动的"Stopped".
监控标准的Web(HTTP)服务器(Apache, IIS, and Netscape)不需要额外的license.
为了能够监控使用SOAP和XML的Web Services,需要一个独立的 license,并且虚拟用户需要Web Services插件.该插件被Feature Pack(FP1)安装.
产品版本:略
应用程序组件需求
| 应用程序 | 程序进程名称 | V9 | V8.0 Img KB |
File Size |
|
|---|---|---|---|---|---|
| - | LRLauncherApp.exe | 15,840 | 16,288 | n/a | |
Virtual User Generator![]() |
VuGen.exe | 23,980 | 12,436 | 2,334,769 | |
Controller with On-Line Monitors |
wlrun.exe | 61,312 | 13,076 | 5,681,215 | |
Load Generator Agent![]() |
magentproc.exe | 3,336 | 3,236 | ||
| magentservice.exe | 3,496 | 65,536 | |||
| mdrv.exe | - | ||||
Analysis![]() |
Analysisui.exe | 64,460 | 13,132 | 6,058,496 | |
Tuning Console![]() |
protune.exe | - | 3,403,833 | ||
控制台程序:
| perl5.8.0.exe | Interpreter | 20,535 |
| regtlb.exe | registers the batch automation type library | 30,720 |
| sed.exe | GNU sed (gsed) version 2.05 | 55,296 |
| wdiff.exe | Compares text files | 197,632 |
使用WINDOWS远程桌面连接
为了使WINDOWS远程桌面连接会话在测试时不会超时,每个机器的终端服务应该如下配置:
1.开始-->程序(或者控制面板),管理工具下选择终端服务配置.
2.打开树型的连接文件夹
3.右击RDP-Tcp,选择属性.
4,点会话标签页.
5,确保选中"Override user settings"
6.设置空闲会话限制为最大2天来代替默认的2个小时.
7,点应用.
8.OK
注意:确保上面的做法没有影响到公司的安全策略.
注意:终端用户只能允许两个活动的连接.断开会话的时候使用开始-->退出,而不要点远程桌面的"X"关闭.
LR的安装和配置:略
应用程序文件的位置:(省略部分介绍)
可以使用环境变量来快速获得LR的安装路径,如环境变量为"LR81",你可以使用
cd %lr81%
WINDOWS文件夹下的文件:
1.路径存储在wlrun.ini文件中的[ProductEnv]下作为M_ROOT.该文件在C:\WINNT (或 C:\Windows)
2.C:\WINNT (或 C:\Windows)下同样存有安装时的Maintenance Number (MPN),存在mercury.ini文件中.
其他省略.
好了,今天先翻译到这里了,该吃中午饭了,哈哈,下期会翻译LOADRUNNER的内部结构.
Loadrunner系列学习--Loadrunner架构(1)的更多相关文章
- ODI 系列学习--整体架构概念
ODI 系列学习--整体架构概念 ODI整体架构没有Oracle Database复杂,因为它属于程序功能的使用,更多是程序开发和配置的工作,当然ODI的优化涉及到很多数据库优化的工作,从整体架构入手 ...
- 【LoadRunner】loadrunner常见问题汇总
LoadRunner常见问题1.LR 脚本为空的解决方法: 1.去掉ie设置中的第三方支持取消掉 2.在系统属性-高级-性能-数据执行保护中,添加loadrunner安装目录中的vugen.exe文件 ...
- LoadRunner性能测试-loadrunner工具破解
Loadrunner11破解 破解工具下载:http://pan.baidu.com/disk/home?errno=0&errmsg=Auth%20Login%20Sucess&&a ...
- LoadRunner性能测试-LoadRunner工具安装
Loadrunner11安装 1,在网上下载loadrunner11安装包 (百度可以下载安装包) 2,打开安装文件,点击setup.exe进行安装: 3,win10系统可能会出现如下问题: 提示管理 ...
- 【Loadrunner】Loadrunner 手动关联技术
Loadrunner 手动关联技术 录制成功,回放失败,怀疑和动态数据有关: 1 重新录制一份脚本,两次录制的脚本进行比对,确定动态数据,复制动态数据: 2 找到第一次产生该动态数据的响应对应的相应 ...
- 【Loadrunner】Loadrunner Vuser 两种运行方式【error:not enough memory解决方案】
Loadrunner Vuser 两种运行方式 报错如下解决方案: 报错原因:都消息内存,之前用户是按线程跑,一个进程开了多个线程,其中有部分内存是这些线程共享的,出错应该是内存出现冲突了不够用了.现 ...
- LoadRunner性能测试-loadrunner事务
事务(Transaction): 简单来说就是用来模拟用户的一个相对完整的业务过程.添加事务,是用来衡量响应时间的重要方法.我们可以通过事务计时来对不同压力负载下的性能指标进行对比. 插入事务的方法: ...
- 转:loadrunner经典面试题
在LoadRunner中为什么要设置思考时间和pacing 答: 录制时记录的是客户端和服务端的交互,如果要精确模拟 用户的行为,那么客户操作客户端时花费了很多时间要怎么模拟呢?录入 填写提交的内容, ...
- LoadRunner面试题
在LoadRunner中为什么要设置思考时间和pacing 答: 录制时记录的是客户端和服务端的交互,如果要精确模拟 用户的行为,那么客户操作客户端时花费了很多时间要怎么模拟呢?录入 填写提交的内容, ...
随机推荐
- (转)JAVA国际化
转:http://www.cnblogs.com/jjtech/archive/2011/02/14/1954291.html 国际化英文单词为:Internationalization,又称I18N ...
- Python 爬虫-抓取小说《盗墓笔记-怒海潜沙》
最近想看盗墓笔记,看了一下网页代码,竟然不是js防爬虫,那就用简单的代码爬下了一节: """ 爬取盗墓笔记小说-七星鲁王宫 """ from ...
- jquery scrollTop() 方法
原文地址:http://www.w3school.com.cn/jquery/css_scrolltop.asp 实例 设置 元素中滚动条的垂直偏移: $(".btn1").cli ...
- class13and14and15_登录窗口
最终的运行效果图(程序见序号6.2): #!/usr/bin/env python# -*- coding:utf-8 -*-# ----------------------------------- ...
- (转)python基础之迭代器协议和生成器(一)
一 递归和迭代 二 什么是迭代器协议 1.迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代 (只能往后走不能往前 ...
- PyTorch中,关于model.eval()和torch.no_grad()
一直对于model.eval()和torch.no_grad()有些疑惑 之前看博客说,只用torch.no_grad()即可 但是今天查资料,发现不是这样,而是两者都用,因为两者有着不同的作用 引用 ...
- 13-MySQL-Ubuntu-数据表的查询-条件查询(二)
条件查询 1,比较查询(>,<,>=,<=,=)注:SQL查询语句的等于号(=) (1)查询学生表中年龄大于18岁的学生姓名和性别信息 select name,gender f ...
- Swaks伪造邮件
一.搭建邮件服务器 首先需要自己搭建邮件服务器采用的是EwoMail搭建参考链接: http://doc.ewomail.com/docs/ewomail/install 二.邮件伪造发送 swaks ...
- 在Linux(centos)下,安装Apache和PHP环境
1001 ll /opt/lampp/modules/ 1002 history | grep httpd 1003 vim /etc/httpd/conf/httpd.conf 1004 v ...
- JQuery,JS图片操作(上一张,下一张,旋转,放大,缩小)
1.html代码:我是从数据库获取图片路径. <div id="divprint" align="center"> @{DataTable dt = ...
