LR的负载机安装在linux的理由:html
一、windows xp,双核+4G内存,基本上每一个vuser会消耗2-5m的内存,单机300-500的虚拟用户时,CPU已经超过90%,此时整个测试系统的瓶颈其实是负载机,已经没法真实反映系统性能。固然能够经过多负载机的模式来实现,可是这样的测试环境构造起来成本比较高,性价比不高。linux
二、不少时候,被测试环境是放在机房的,那么在机房丢一台windows机器进去不太现实,即便丢进去了,远程链接的稳定和安全性也不够理想。c++
所以,在linux服务器上,直接安装LR的负载端程序,从环境和性价比而言,都是一个不错的选择。shell
linux 负载机的环境:windows
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
安装步骤:centos
一、远程登陆到服务器上,切换到root用户下,必需要root帐户才行;安全
二、先安装一个rpm包,compat-libstdc++-33-3.2.3-61.i386.rpm,bash
不少系统都缺乏这个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性能
三、开始安装客户端,先解压安装文件
[root@bogon lixin]# unzip linux_fuzai.zip
四、进入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/
能够看见权限所有被更改过来了
五、再次进入Linux目录,运行安装脚本
这样表示正式开始安装,首先提示你是否须要继续安装,输入'n'
提示你要不要看一看受权文件等等,不用看了,直接Agree吧。
最后让你确认一下是否须要安装,退出之类的,确定选择‘i’,继续安装了。
安装完成了,问你是否要直接结束,仍是看一下Log,懒得看的话,直接'f'结束好了。
到了这一步,基本安装就结束了。
六、增长一个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
七、修改部分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的默认配置。
八、切换到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用户下,由于两个缘由:
一、env.csh文件对higkoo用户是只读的,没法修改
二、修改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
九、启动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