原因:
据经验,每生成一个虚拟用户,需要花费负载生成器大约 2M-3M 的内存空间。通常运行 controller的主机很少用作负载生成器。负载生成器的工作多由其他装有 LR Agent的PC 机来担任。如果负载生成器内存的使用率大于了 70%,负载生成器就会变成系统的瓶颈,导致性能测试成绩下降。这种问题需要添加负载生成器来解决。一台 512M内存的 PC 机大约可以生成 80 个左右的负载,而一台 256M 内存的 PC 机大约可以生成50到 60 个左右的负载。
实现借用远程加压机:
所以通常做大量用户的负载时,就需要借用其它的机器来加压。此时借用的加压机需要首先安装LoadRunner的Load Generator这个部分组件。再按照以下操作执行:
LoadRunner在测试web应用的时候,最常用的是分布式性能测试,也就是说由多个负载发起机向应用服务器发起请求。
那么LR(loadrunner)是如何做到的呢?
首先,这要多亏于LR的架构,LR是由controller做测试控制的,scenario做测试场景的控制,Vuser模拟用户和load generator做负载产生。
这样我们就很容易想到,只要分布的其他负载发起机上有Vuser和load generator就能做分布式测试了。
对了,LR就是这么做的,它通过MI listener(跨防火墙监听)来达到以上的目的,默认接受数据的端口是54345,默认发送数据的端口是50500。
第一步,我们要安装LR,这样的教程网上已经很多了我就不详述了。不过要注意一点,LR在win2000上安装后就自动打开了上述的端口,而在winXP上需要手动开启。具体步骤见第二步。
在负载发起机上我们要安装如下组件
第二步,我们要启动监听的服务,如下步骤
启动代理
设置代理
按Settings,在这个选项卡中我们可以配置一些用户名和密码(如果有需要的话)
按确定退出,会在任务栏上看到如下图标
第三步,设置场景来连接负载发起机
创建场景
点击load generator图标
点击Add按钮,来增加负载发起机
在Name 处填入IP地址,点击确定
这样我们就配置了一个负载发起机,重复上述步骤我们可以添加多个负载发起机。
然后,我们测试下能不能连上负载发起机,选中负载发起机,点击Connect
看到Status里出现Ready字样,我们就连上了一个负载发起机。