柚子Nan--回归原点

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

LoadRunner如何模拟成百上千用户?

Posted on 2006-06-22 14:48  柚子Nan  阅读(3340)  评论(0编辑  收藏  举报

在最近的工作中,经常有同事问LoadRunner到底是怎么模拟成百上千的用户的?

现在做个简单的说明。LoadRunner里面有个概念叫做“虚拟用户Virtual User”,虚拟用户会模拟真实用户操作你的应用程序。模拟的模式有很多,例如:记录鼠标点击、键盘敲击时间的(GUI-Based);记录客户端给服务器发送数据流的方式(Stream-Based),等等。

 

要对应用程序进行一定的压力测试,LoadRunner分成两个步骤去实现

  1. 录制真实用户的操作过程

在录制的时候,VuGen监控客户端数据库、追踪用户发送给服务器的请求和服务器发回的响应。如下图:

         Send1.JPG

  1. 回放模拟用户的操作过程

在回放的时候,虚拟用户脚本通过执行调用服务器API直接与服务器交互。当一个虚拟用户直接与服务器交互的时候,客户端用户界面不需要占用系统资源(意味着没有用户界面调用系统资源)。大家都知道用户界面最消耗系统资源,这样LoadRunner不通过用户界面去模拟真实的操作,使得他利用很少的几个测试机器可以模拟很多很多的虚拟用户同时访问服务器应用程序,从而给服务器增加一定的负载。如下图

           Send2.JPG

最后说明一点:VuGen录制脚本的时候,不是基于安装了多少客户端软件,而是基于通讯协议的,例如:HTTP/HTML, TCP/IP, Web Service等等,另外,MercurySAPPeopleSoftCitrix等公司有合作(Alliance)关系,所以对于他们的软件有更好的支持,当时是指性能测试方面的支持。

 

VuGen LoadRunner的一个应用程序,可以参考LoadRunner 架构概览