原文地址::http://blog.sina.com.cn/s/blog_9aa583cf0101bu4y.html
http://blog.itpub.net/12272958/viewspace-706620
LR的负载机安装在linux的理由:
1、windows xp,双核+4G内存,基本上每个vuser会消耗2-5m的内存,单机300-500的虚拟用户时,CPU已经超过90%,此时整个测试系统的瓶颈实际上是负载机,已经无法真实反映系统性能。当然可以通过多负载机的模式来实现,但是这样的测试环境构造起来成本比较高,性价比不高。
2、很多时候,被测试环境是放在机房的,那么在机房丢一台windows机器进去不太现实,即使丢进去了,远程连接的稳定和安全性也不够理想。
因此,在linux服务器上,直接安装LR的负载端程序,从环境和性价比而言,都是一个不错的选择。
HP的LR负载端,最高版本到了11.5,下载地址在HP网站上,不过很不容易找到,我放一个到网盘上去,方便大家下载吧。
网盘地址:http://pan.baidu.com/share/link?shareid=1375126821&uk=339142937
闲言少叙,书归正传,下面开始正式干活了。
linux 负载机的环境:
LSB Version: :core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-ia32:printing-4.0-noarch
Distributor ID: CentOS
Description: CentOS release 5.7 (Final)
Release: 5.7
Codename: Final
安装步骤:
1、远程登录到服务器上,切换到root用户下,必须要root账户才行;
2、先安装一个rpm包,compat-libstdc++-33-3.2.3-61.i386.rpm,
很多系统都缺少这个rpm包,先安装上吧,包地址为:
http://pan.baidu.com/share/link?shareid=1560421269&uk=339142937
[root@bogon lixin]# rpm -ivh compat-libstdc++-33-3.2.3-61.i386.rpm
3、开始安装客户端,先解压安装文件
[root@bogon lixin]# unzip linux_fuzai.zip
4、进入Linux文件夹,运行安装程序installer.sh
[root@bogon lixin]# cd Linux
[root@bogon Linux]# sh installer.sh
这个时候会报错,提示一些脚本文件权限不足,为了方便起见,一次更改Linux下所有文件的权限。
[root@bogon Linux]# cd ..
[root@bogon lixin]# chmod 777 -R Linux/
可以看见权限全部被更改过来了
5、再次进入Linux目录,运行安装脚本
这样表示正式开始安装,首先提示你是否需要继续安装,输入'n'
提示你要不要看一看授权文件等等,不用看了,直接Agree吧。
最后让你确认一下是否需要安装,退出之类的,肯定选择‘i’,继续安装了。
安装完成了,问你是否要直接结束,还是看一下Log,懒得看的话,直接'f'结束好了。
到了这一步,基本安装就结束了。
6、增加一个LR 负载端的客户higkoo
[root@bogon Linux]# useradd -g 0 -s /bin/csh higkoo
这个时候已经确认了higkoo这个用户默认使用的shell为csh。
这里多说一下,shell只是linux的一个外壳,每个linux都会有一个默认的shell程序,在centos下,默认shell应该是bash,但是LR使用的csh,这两者本质上没什么区别,但是在接下来的配置里面,会有一点点区别。可以用命令看一下,higkoo这个用户默认使用的是csh。
[root@bogon Linux]# more /etc/passwd
7、修改部分LR的配置。
csh和bash有一个区别,就是在加载不同的shell时,可以加载不同的配置。
csh的默认配置在 /etc/csh.cshrc 下,bash的默认配置在
/etc/profile 。在这两个配置文件中,
可以加载一些shell的环境变量。
LR默认给出了一个环境变量的配置文件,文件在 /opt/HP/HP_LoadGenerator/env.csh 。可以看见,*.csh这样的配置文件其实是csh的配置文件的格式,默认的文件内容应该是:
env.csh 这个配置目前还没有引入到csh的默认配置里面,我们手工修改一下,让它默认加入环境变量,这样就非常方便了。
[root@bogon HP_LoadGenerator]# vi /etc/csh.cshrc
在文件的最后一行加上
source /opt/HP/HP_LoadGenerator/env.csh ,这样就可以将lr的配置导入csh的默认配置。
8、切换到higkoo用户,验证一下程序是否安装成功。
[root@bogon HP_LoadGenerator]# su higkoo
[higkoo@bogon HP_LoadGenerator]$ env
验证一下程序安装的情况,验证程序为
/opt/HP/HP_LoadGenerator/bin/verify_generator
[higkoo@bogon bin]$ cd /opt/HP/HP_LoadGenerator/bin
[higkoo@bogon bin]$ ./verify_generator
此时出现提示页面如下:
要求我们设置一个DISPLAY 变量,我们直接修改env.csh文件来解决。
先切换到root用户下,因为两个原因:
1、env.csh文件对higkoo用户是只读的,无法修改
2、修改env.csh用户,相当于修改csh的配置,这个时候需要重新进入一下csh,才能生效
所以我们先退回到root下,修改env.csh 文件。
[root@bogon HP_LoadGenerator]# vi /opt/HP/HP_LoadGenerator/env.csh
直接在文件最后方加上
setenv DISPLAY 0.0
切换到higkoo用户,再次运行验证程序。
[root@bogon HP_LoadGenerator]# su higkoo
[higkoo@bogon HP_LoadGenerator]$ cd /opt/HP/HP_LoadGenerator/bin
[higkoo@bogon bin]$ ./verify_generator
非常顺利,全部通过。
9、启动LR 负载端。
[higkoo@bogon bin]$ cd /opt/HP/HP_LoadGenerator/bin
[higkoo@bogon bin]$ ./m_daemon_setup start
正常情况下,这个时候应该可以启动,但是我安装到这里的时候报错了,见截图。
检查一下log,log在/tmp 路径下,有一个错误日志,检查之后发现,可能是一个根据主机名称获取主机ip的程序有问题,无法根据主机名称获取到ip。
27/08/2013 00:10:25 Error: Communication error: Failed to get the server host IP by calling the gethostbyname function
看一下当前shell下的环境变量,发现主机名称是bogon,再ping 一下bogon,无法连接上。
切换到root下,更改hosts配置,把bogon指向127.0.0.1 .
再次切换到higkoo,重新运行启动程序,正常启动。
[root@bogon HP_LoadGenerator]# su higkoo
[higkoo@bogon HP_LoadGenerator]$ cd /opt/HP/HP_LoadGenerator/bin
[higkoo@bogon bin]$ ./m_daemon_setup start
m_agent_daemon ( 26299 ),
[higkoo@bogon bin]$ ps aux | grep m_agent_daemon
至此,LR的linux负载端安装全部完成。
附录:
本次安装是在csh下安装完成的,如果想在bash下安装,可以在HP_LoadGenerator 下建立一个 env.sh文件,文件内容如下,再将该文件 引入到
/etc/profile 的最后一行,最后修改 /etc/passwd中的higkoo配置为bash,即可使用bash来安装程序。其余步骤一样。
#/bin/bash
export PRODUCT_DIR=/opt/HP/HP_LoadGenerator
export M_LROOT=$PRODUCT_DIR
export LD_LIBRARY_PATH=$M_LROOT/bin:$M_LROOT/lib:/usr/lib
export DISPLAY='0.0'
export PATH=$PATH:$M_LROOT/bin
LoadRunner在linux和Unix的安装过程及系统环境初始化
tips:撰写本本文时LoadRunner最新版本为9.5,经测试在当前LoadRunner最新版本11.00仍然适用!
2.1 在HP的官方网站上下载LoadRunner9.5 的Linux安装程序[T7177-15009.iso],安装文档[hp_man_LRIG9.50_01_pdf.pdf];
安装程序包括Hp、Ibm、Linux、Solaris系统的支持(LR9.0对应安装文件为[TLRNUX900WC_00.zip])。
2.2 安装包的处理:
2.2.1 ZIP解压:unzip TLRNUX900WC_00.zip
2.2.2 挂载ISO:mkdir /mnt/LoadRunner ; mount -t iso9660 -o loop T7177-15009.iso /mnt/LoadRunner
2.3 开始安装,以LR9.5为例:
/mnt/LoadRunner/Linux/installer.sh
按提示操作,直接Next到完成。
2.4 添加用户和环境变量:
useradd -g 0 -s /bin/csh higkoo
cat /opt/HP/HP_LoadGenerator/env.csh > /etc/.login
cat /opt/HP/HP_LoadGenerator/env.csh >~higkoo/.cshrc
touch ~root/.rhosts ~higkoo/.rhosts
2.5 检查运行环境(在本机或使用VNC执行):
su - higkoo
cd /opt/HP/HP_LoadGenerator/bin/
./verify_generator
2.6 启动服务(用新增的用户higkoo):
cd /opt/HP/HP_LoadGenerator/bin/
./m_daemon_setup start
2.7 检查是否启动:
ps aux | grep m_agent_daemon
netstat -naop | grep 54345
2.8 注意事项:
开启端口54345或关闭防火墙(service iptables stop)
正确设置后用verify_generator的检测结果是:
./verify_generator =================================================== HP Vuser Environment Verification Utility =================================================== Product: HP LoadRunner 9.50 Version: 09.50.0000 Build: 3378 higkoolincn100ce5: verify_generator...OK verify_generator...OK verify_generator...OK Don't forget to make sure that the name of the controller machine is also in .rhosts verify_generator...OK verify_generator...OK verify_generator...OK verify_generator...OK verify_generator...OK verify_generator...OK verify_generator...OK _______________________________________________ Summary: ________ Vuser Host higkoolincn100ce5: OK |
使用Controller连接,在“UNIX Environment Tab”下选择“Don't use RSH ”即可连接Linux负载机。
若使用RSH连接,则负载机必须安装RSH并正确配置,正如检测过程中描述的“Don't forget to make sure that the name of the controller machine”。
补充,Linux下似乎只支持Web/Http协议的脚本。譬如WinSock协议,从名称上都知道只适合Windows:
“Error (-81024): LR_VUG: The 'WinSock' type is not supported on 'LINUX' platforms .”
另外试了Java协议,确实不行,报错如下:
Error (-81024): LR_VUG: The 'General-Java' type is not supported on 'LINUX' platforms .
依赖库:yum -y --disablerepo=\* --enablerepo=AutoInstaller --nogpgcheck --skip-broken localinstall /mnt/CentOS_Final/CentOS/compat-libstdc++-33-3.2.3-61.i386.rpm
否则会报:m_agent_daemon: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory
注意hosts文件的配置,如果机器名和hosts里配置不一致也会导致LoadRunner启动失败,
譬如:Error: Communication error: Failed to get the server host IP by calling the gethostbyname function.。
附上给LoadRunner定制的系统服务脚本(/etc/init.d/loadrunner):
#!/bin/bash
# /etc/init.d/loadrunner
# Loadrunner负载生成器服务
DAEMON=m_daemon_setup
ARGV="$@"
DIR=/opt/HP/HP_LoadGenerator/bin/
USER=higkoo
UBIT="su - $USER -c "
$UBIT "cd $DIR && ./$DAEMON $ARGV"
运行服务:
service loadrunner start
m_agent_daemon ( 1808 )