柚子Nan--回归原点

Everything can be as easy as you like or as complex as you need.
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

LoadRunner 架构概览

Posted on 2006-03-23 11:54  柚子Nan  阅读(5643)  评论(7编辑  收藏  举报

前言:潜水很久了,有点闷。最近在做几个项目的性能测试,给大家的点资料看看。性能测试的业界首位: Mercury ,其主打产品 LoadRunner 据说市场占有量超过 70% 。刚开始学习的时候,觉得很晕,那么多程序要跑,他们之间到底什么关系呢?现在我们来看看架构就一目了然了。

可能您觉得这个主题与 .Net 技术不相关,但是无论如何,每个项目都需要关注性能的,你说呢?


          LoadRunner
通过创建虚拟用户,用这些虚拟的用户来替代真实的用户操作客户端软件,例如 IE 浏览器,来发送 HTTP 协议的请求到 IIS 或者 Apache web 服务器。

 

  为了给服务器制造一定的负载,让这些服务器处于压力之下, LoadRunner 通过一个叫做:“负载生成器 (Load Generator) ”的程序,从许多虚拟用户那里向服务器发送请求。你可以从 Mercury Controller 程序中启动负载生成器的代理程序。

 

控制器 (Controller) 通过基于“场景”来产生负载,这些场景调用编译过的“脚本 (Scripts) ”和相关的“运行时设置( Run-time Settings )”来运行。

 

脚本是用 Mercury 的虚拟用户脚本生成器( Virtual user script Generator )写的,简称 VUGen. 它能通过捕捉因特网应用程序的客户端和服务器段之间的网络通讯,产生虚拟用户可以执行的类似 C 语言的脚本。

 

如果是 Java 客户端, VUGen 可以通过与客户的 JVM 挂钩,捕捉到调用信息。

 

  • 在运行期间,控制器 (Controller) 可以监控每个机器的状态。  
  • 运行结束的时候,控制器 (Controller) 整合了它从负载生成器 (Load Generator) 产生的日志和自己监控的日志,然后给分析 (Analysis) 程序使用。分析程序可以产生运行结果报告或者图表,报表可以用微软的 Word, 水晶报表 , 或者 HTML 网页来表现。每个用分析 (Analysis) 程序产生的 HTML 报告页都包含一个到文本文件的链接,这些文本文件可以用微软的 Excel 打开作进一步的数据分析。  
  • 运行期间所发生的错误都保存在一个数据库中,这个数据库可用微软的 Access 打开!  

原文来自 <http://www.wilsonmar.com/1loadrun.htm>

完整架构参考如下图:
LRIntro.jpg