在LoadGenerator的安装使用的过程,涉及到了shell变量与环境变量、用户使用的当前shell、创建用户等一系列的linux操作系统的问题,关注我后续的博客,会为大家继续讲解这些问题。
因jmeter运行时大量占用内存的原因,所以,采用loadrunner作为本次的测试工具。测试架构:controller部署在 windows操作系统下(windows下安装loadrunner的过程,可以去网上搜下,这里不做解释),loadgenerator部署在 linux下。
前提条件:
1、软件版本:Windows 7 X64,Loadrunner 11.0,LoadGenerator11.0,Centos6.4 X64
2、windows和centos的防火墙关闭
3、确保centos系统的主机名可以ping通,具体配置,参考我另外一篇文章:http://www.cnblogs.com/comeonbaby/p/4745610.html
4、下载loadGenerator,LoadRunner Generator for
Linux.zip,下载地址:http://pan.baidu.com/s/1o6OQpfk,当然用ISO也可以,不过用ISO涉及到挂载的问题,但是,没有权限的问题,而压缩文件则反之
安装步骤:
1、利用FTP,将LoadRunner Generator for Linux.zip拷贝到/opt/software下
2、利用unzip LoadRunner Generator for Linux.zip命令将压缩文件解压缩
3、进入到Linux文件夹下,
会发现,当前用户没有执行installer.sh的权限,于是,利用命令chmod 777 installer.sh更改当前用户对installer.sh的执行权限。再次,执行./installer.sh弹出以下提示信息:
意思是,当前用户在访问/opt/sofware/LoadrunnerGenerator/Linux/prerequisites/steps /include.sh文件时,没有权限,为了防止使用其它文件遇到权限问题,索性将Linux整个文件夹的权限问题统一设置一下,于是,就用到了 chmod的一个参数R,返回到LoadrunnerGenerator目录下,执行chmod -R 777 Linux,然后,再到Linux目录下,执行./installer.sh脚本
输入n,然后回车
要读协议,输入v,若不读协议,直接同意,输入a,然后回车
输入b,可以返回,输入i,然后回车,开始安装
当出现下面这个页面时,就表示正在安装:
当出现下面这个页面时,可以选择finish,也可以看下安装的log:
4、设置环境变量
在安装完成以后,验证是否安装成功,在/opt/HP/HP_LoadGenerator/bin目录下,执行./verify_generator,出现如下图所示的提示信息:
于是,得知我们需要设置环境变量。首先,将/etc/profile下的profile备份一下,然后,在profile文件尾部添加:
export M_LROOT=/opt/HP/HP_LoadGenerator/,然后保存退出,重启下机器,再次在/opt/HP/HP_LoadGenerator/bin目录下,执行./verify_generator,出现如下图所示的提示信息:
从提示信息来看,LoadGenerator不能以root身份运行
5、建立一个普通用户hanhy,因LoadGenerator不能以root身份运行,所以,一定要建立一个普通用户
6、以hanhy的用户名登录,进入/opt/HP/HP_LoadGenerator/bin目录下,执行./verify_generator,弹出如下图所示的提示信息:
,从提示信息来看,要再次设置DISPLAY环境变量,export DISPLAY=:0.0,关于DISPLAY参数,请参考:http://blog.chinaunix.net/uid-24020646-id- 3065211.html,设置完DISPLAY变量以后,切换到普通用户(所有的设置都以root身份去做,运行时,切换到普通用户)
7、从运行结果来看,还是有一些错误存在的,没事儿,咱们一个一个的攻克:首先,/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory这个error明显是缺少so库,利用yum whatprovides ld-linux.so.2查看哪个包里有ld-linux.so.2文件,然后,利用yum install -y 包名安装即可
再次运行,./verify_generator,可见刚才的error已解决,出现了新的error,从提示信息来看,应该也是缺少依赖包引起的,继续执行刚才的动作,直到相关的依赖全部装上为止。
Ok,解决第二个error:The file .rhosts does not exist in the home directory of the user ,大家可以上网查一下.rhosts 的作用,该文件主要是为了两台机器远程通信而建立的,在这里可以忽略。看一下第三个error:Verify $M_LROOT ...Failed ,大致猜测应该是环境变量的问题,可见在PATH中并没有加入/opt/HP/HP_LoadGenerator/bin,进入/etc /profile,添加:export PATH=${M_LROOT}/bin:$PATH,再次执行./verify_generatorg还是出现这样的错误可以忽略。或者是在创建普通用户时,直接创建一个使用csh的用户:useradd -g 0 -s /bin/csh lrtest,这时,在/etc/csh.cshrc文件中,最后一行添加source /opt/HP/HP_LoadGenerator/env.csh,保存退出后,利用source /etc/csh.cshrc使文件生效,然后切换到lrtest下,执行./verify_generator,完全通过:
8、此时,执行./m_daemon_setup start,若agent成功启动,则如下图所示,若启动失败,则提示m_agent_daemon is down,此时,可以去:/tmp目录 下查看agent的运行log,排除错误。
windows下 Load Generator负载生成器管理和设置
Load Generator是运行脚本的负载引擎,在默认情况下使用本地的负载生成器来运行脚本,但是模拟用户行为也需要消耗一定的系统资源,所以在一台电脑上无法模拟大量的虚拟用户,这个时候可以通过多个Load Generator来完成大规模的性能负载;
1、添加负载机器之前需要开启代理运行时设置;
Load Runner-Tool- LoadRunner Agent Runtime Settings Configuration,开启代理运行时设置;弹出页面如下:只需要输入当前主机的密码即可;在电脑右下角出现雷达的图标,表示开启了代理。
注意:默认选第一项后,在这里点击OK,可能开启不了小雷达,目前在我们实际的工作中已经出现了这样的问题,后来我们找到了解决的方法。开启不了小雷达,我们选择第二项,点击OK,发现会报运行时错误,报错后我们点击报错中的退出,然后进入开始-所有程序-LoadRunner-Advanced Settings,找到Agent Configuration,点击后弹出如下界面,我们勾选第二项后,点击OK,发现小雷达出现了。
2、设置完成后添加负载机器:
10.5.11.31服务器的代理服务没有开启,所以无法链接;
3、选中目标主机,点击Connect,可以发现目标主机被链接上,目标主机中的雷达边也多了个云
4、连接上了,我们就可以对各主机进行虚拟用户分配了,只需要在Load Generators的下拉列表中选中对应的主机即可;
5、Load Generator中还有一个很重要的设置。就是用来设置init人数的,我们在运行脚本的时候会发现,在场景监控中,init默认不会超过50个人,也就是最大并发是50个人,我们想使用超过50个人的并发,就需要在这里进行设置了。
点击Details,弹出如下图,找到Run-Time Quota标签页。两个值都默认为50,第一个值init最少加载多少用户开始运行脚本,第二个值指加载多少用户就停止加载,开始运行脚本,不勾选表示初始化所有用户后开始运行。不过这里的两个值,我们一般只在单并发时才进行修改,比如单并发100个用户,那么我们把两个值都设置为100。组合场景目前的加载方式我们是每秒加载两个,所以不需要修改这里
6、场景运行后报错,提示 误差(81024):lr_vug:”QtWeb类型不支持”WIN32平台。
解决方案:暂时还没找到,待后续解决;