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. Docker基础技术:AUFS

    AUFS是一种Union File System,所谓UnionFS就是把不同物理位置的目录合并mount到同一个目录中.UnionFS的一个最主要的应用是,把一张CD/DVD和一个硬盘目录给联合 m ...

  2. matlab 扩大虚拟内存

    今天服务器挂了..用了自己电脑结果爆内存,分享一个扩大虚拟内存的方法,经测试有效.. 使用Matlab生成很大的图片时,碰到了"out of memory"的错误,导致图片无法生成 ...

  3. USACO Section 2.4: Bessie Come Home

    因为题目给了边的信息,所以比较适用bell-man的方法 /* ID: yingzho1 LANG: C++ TASK: comehome */ #include <iostream> # ...

  4. HDU 4620 Fruit Ninja Extreme 搜索

    搜索+最优性剪枝. DFS的下一层起点应为当前选择的 i 的下一个,即DFS(i + 1)而不是DFS( cur + 1 ),cur+1代表当前起点的下一个.没想清楚,TLE到死…… #include ...

  5. 安装 jdk、tomcat

    jdk 下载地址:http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java ...

  6. Lucene学习笔记(更新)

    1.Lucene学习笔记 http://www.cnblogs.com/hanganglin/articles/3453415.html    

  7. Hybris 预备知识学习列表

    需要学习的: Spring,Spring对于hybris非常重要,整个hybris是基于spring的架构之上. 包括例如spring mvc,spring security, 设计模式 软件构建工具 ...

  8. hibernate4 二级缓存demo实例

    转载:http://blog.csdn.net/chaoowang/article/details/21236501 hibernate使用版本是:hibernate-release-4.3.4.Fi ...

  9. 有用的shell命令

    1. 查找目录中大小前10 du -hsx * | sort -rh | head -10 2.

  10. Storm中tuple的可靠性

    一.简介 Storm 可以保证 spout 发出的每条消息都能被“完全处理” ,这也是直接区别于其他实时系统的地方,如 S4. 请注意,spout 发出的消息后续可能会触发产生成千上万条消息 ,可以形 ...