Linux下实现压力测试,只能在Linux下安装加压器---load-generator,然后通过本地录制脚本,通过loadrunner controller 的Scenario--》Load Generators  登录linux服务器,从而实现linux下的压力测试。

安装步骤基本在网上都可以找到:

安装前提条件:①必须为Linux的root用户;②根据平台选用适合的load generator --Hp、Linux、Solaris三个版本

安装步骤:

开始安装客户端,先解压安装文件
 
[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
 
=============================================================
在安装完成后,验证时会显示Fail,是因为缺少依赖包 compat-libstdc++-33-3.2.3-47.3.i386
同时在安装该包的同时会提示libc.so.6,网上的解决方法都是安装依赖包,但是搜索后发现,本机上有些库已经安装了。比如libc.so.6。
 

在网上进行一番搜索,解决方法都是安装缺少的依赖库即可。但是搜索后发现,本机上有些库已经安装了。比如libc.so.6,该库对应的软件包名称为glibc

[root@cSlave00 RPM]# yum list glibc*
已加载插件:fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirrors.cug.edu.cn
* extras: mirrors.cug.edu.cn
* updates: mirrors.skyshe.cn
已安装的软件包
glibc.x86_64 2.12-1.149.el6 @anaconda-CentOS-201410241409.x86_64/6.6
glibc-common.x86_64 2.12-1.149.el6 @anaconda-CentOS-201410241409.x86_64/6.6
glibc-devel.x86_64 2.12-1.149.el6 @anaconda-CentOS-201410241409.x86_64/6.6
glibc-headers.x86_64 2.12-1.149.el6 @anaconda-CentOS-201410241409.x86_64/6.6
可安装的软件包
glibc.i686 2.12-1.149.el6 base
glibc-devel.i686 2.12-1.149.el6 base
glibc-static.i686 2.12-1.149.el6 base
glibc-static.x86_64 2.12-1.149.el6 base
glibc-utils.x86_64 2.12-1.149.el6 base
-----------------------------------------------------------------------------------------

那么问题来了,既然已经安装了libc.so.6,为什么还是提示缺少该库呢?继续找啊找,百度搜索基本上无果,只能寄希望于谷歌。终于,搞定科学上网,谷歌能上了,继续搜索,重点关注英文结果。最后,总算在Stack Overflow上找到了类似的问题与解答,点击这里查看原文。这里只摘录关键的几句话:

In Red Hat Enterprise Linux 5, if a package was available for both the main and the compatibility architectures, both architectures of the package were installed by default.
In Red Hat Enterprise Linux 6, only the package for the primary architecture is installed by default.
To avoid problems during the backup-archive client and API installation on a 64-bit machine, be sure to install libstdc++ and compat-libstdc++.

大意是说,从Red Hat Enterprise Linux 6开始,默认只安装主架构所需要的包,而不安装兼容架构的包,也就是说,64位系统默认只安装64位的软件包。为避免这种问题,在64位系统中,要同时安装64位的包和32位的兼容包。CentOS和从Red Hat Enterprise Linux 6的关系就不用我说了,因此我感觉这个回答比较靠谱,赶紧试试吧。

[root@cSlave00 RPM]# yum install glibc.i686
已加载插件:fastestmirror, refresh-packagekit, security
设置安装进程
......
已安装:
glibc.i686 0:2.12-1.149.el6
作为依赖被安装:
nss-softokn-freebl.i686 0:3.14.3-18.el6_6
作为依赖被升级:
nss-softokn-freebl.x86_64 0:3.14.3-18.el6_6
完毕!
[root@cSlave00 RPM]# rpm -ivh cndrvcups-common-2.60-1.x86_64.rpm
error: Failed dependencies:
libstdc++.so.6 is needed by cndrvcups-common-2.60-1.x86_64
libstdc++.so.6(CXXABI_1.3) is needed by cndrvcups-common-2.60-1.x86_64

结果令人满意,果然不再提示libc.so.6了。继续解决libstdc++.so.6

[root@cSlave00 RPM]# yum list libstdc++*
已加载插件:fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: ftp.sjtu.edu.cn
* extras: mirrors.163.com
* updates: ftp.sjtu.edu.cn
已安装的软件包
libstdc++.x86_64 4.4.7-11.el6 @anaconda-CentOS-201410241409.x86_64/6.6
可安装的软件包
libstdc++.i686 4.4.7-11.el6 base
libstdc++-devel.i686 4.4.7-11.el6 base
libstdc++-devel.x86_64 4.4.7-11.el6 base
libstdc++-docs.x86_64 4.4.7-11.el6 base
[root@cSlave00 RPM]# yum install libstdc++.i686
已加载插件:fastestmirror, refresh-packagekit, security
设置安装进程
......
已安装:
libstdc++.i686 0:4.4.7-11.el6
作为依赖被安装:
libgcc.i686 0:4.4.7-11.el6
完毕!
[root@cSlave00 RPM]# rpm -ivh cndrvcups-common-2.60-1.x86_64.rpm
Preparing... ########################################### [100%]
1:cndrvcups-common ########################################### [100%]
接下来就可以成功安装 compat-libstdc++-33-3.2.3-47.3.i386了

Linux下安装loadrunner步骤及遇到的问题的更多相关文章

  1. 【转载】Linux下安装LoadRunner LoadGenerator

    原文地址:[转载]Linux下安装LoadRunner LoadGenerator作者:邱建忠tester LR的负载机安装在linux的理由: 1.windows xp,双核+4G内存,基本上每个v ...

  2. Linux下安装jdk8步骤详述(转载)

    Linux下安装jdk8步骤详述 原文地址:http://www.cnblogs.com/shihaiming/p/5809553.html 作为Java开发人员,在Linux下安装一些开发工具是必备 ...

  3. Linux下安装jdk8步骤详述

    作为Java开发人员,在Linux下安装一些开发工具是必备技能,本文以安装jdk为例,详细记录了每一步的操作命令,以供参考. 0.下载jdk8 登录网址:http://www.oracle.com/t ...

  4. Linux下安装jdk8步骤

    作为Java开发人员,在Linux下安装一些开发工具是必备技能,本文以安装jdk为例,详细记录了每一步的操作命令,以供参考. 下载jdk8 登录网址:http://www.oracle.com/tec ...

  5. linux下安装LoadRunner LoadGenerator

    root用户登录 关闭防火墙: setenforce 0 /etc/init.d/iptables stop 先安装一个rpm包,compat-libstdc++-33-3.2.3-61.i386.r ...

  6. Linux 下安装 jdk步骤:

    一:在安装自己下载的jdk之前,要先看看新安装的CentOS 6.4系统自带的jdk版本,如果存在最好是卸载掉,然后再安装自己下载的jdk版本,如何卸载linux系统自带的jdk网上有很多例子,相信大 ...

  7. Linux下安装MySQL步骤

    1.下载安装包(这里是32位的): MySQL-client-5.6.13-1.rhel5.i386.rpm MySQL-server-5.6.13-1.rhel5.i386.rpm 2.安装 rpm ...

  8. RedHat(Linux)下安装Python3步骤

    1. 下载解压.$ wget https://www.python.org/ftp/python/3.4.1/Python-3.4.1.tgz$ tar zxvf Python-3.4.1.tgz 2 ...

  9. Linux下安装jdk步骤

    1.检查当前服务器中是否有安装jdkrpm -qa|grep java 2. 批量删除java rpm -qa | grep java | xargs rpm -e --nodeps 3. 安装jdk ...

随机推荐

  1. 一步步来配置安卓开发环境ADTBundle

    前提 安装JDK,并且要正确配置环境变量. 特别要注意安装配置完后,CMD命令行窗口里输入 java 和 javac 查看是否有内容输出,若提示找不到命令就是你JDK配置错误了 至于如何配置JDK看这 ...

  2. maven tomcat 插件实现热部署

    tomcat 的maven插件有助于提高开发效率,原因是: --可以直接把项目发布到远程的服务器上. --能够实现项目的热部署,在开发过程中修改了Java类,不需要重启tomcat 首先配置一个tom ...

  3. Oracle ->> 行转列, 列转行

    除了Pivot和Unpivot这两个函数,还有像CASE WHEN + 聚合函数像MAX,SUM这类的来完成.今天发现Oracle下居然有这样一个和SQL SERVER 2012以后新增的新函数叫II ...

  4. 【USACO】

    Among the large Wisconsin cattle ranchers, it is customary to brand cows with serial numbers to plea ...

  5. 两个学生OJ差集

    这个程序非常简单,因为用了最笨的办法,不过运行一点儿也不慢... 在我们学校OJ平台每个人的个人信息中都有Solved Problems List,我们可以用这个简单的程序输入两个人解决问题的所有题号 ...

  6. Android内存管理(3)缓存不要用SoftReference, 用android.util.LruCache

    A reference that is cleared when its referent is not strongly reachable and there is memory pressure ...

  7. 第三方登录(2)Android客户瑞上第三方登录百度教程

    1,在 http://developer.baidu.com/  注册成开发者 不注册看不到开发相关的链接地址.点自己的用户名,在弹出菜单显示有 <用户中心> ,没有就是没注册. 2,找到 ...

  8. Android eMMC Booting

    Android eMMC Booting Contents [hide] 1 eMMC binaries 1.1 Creating the GPT table 1.2 Modifying .IMG F ...

  9. Hadoop集群(第9期)_MapReduce初级案例

    1.数据去重  "数据去重"主要是为了掌握和利用并行化思想来对数据进行有意义的筛选.统计大数据集上的数据种类个数.从网站日志中计算访问地等这些看似庞杂的任务都会涉及数据去重.下面就 ...

  10. maven3实战之仓库(快照版本)

    maven3实战之仓库(快照版本) ---------- 在Maven的世界中,任何一个项目或者构件都必须有自己的版本.版本的值可能是1.0.0,1.3-alpha-4,2.0,2.1-SNAPSHO ...