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. DeepLearning常用库简要介绍与对比

    网上近日流传一张DL相关库在Github上的受关注度对比(数据应该是2016/03/15左右统计的): 其中tensorflow,caffe,keras和Theano排名比较靠前. 今日组会报告上tj ...

  2. 《Linux内核设计与实现》读书笔记 - 目录 (完结)【转】

    转自:http://www.cnblogs.com/wang_yb/p/3514730.html 读完这本书回过头才发现, 第一篇笔记居然是 2012年8月发的, 将近一年半的时间才看完这本书(汗!! ...

  3. java实现附件预览(openoffice+swftools+flexpaper)

    先附上本人参考的文章,基于的 flexpaper版本 为 1.5,本人由于使用的是 2.1.9 ,故之后说明: 已经支持加载中文文件名 代码下载 1.概述 主要原理 1.通过第三方工具openoffi ...

  4. ccnu-线段树联系-单点更新2-B

    B - 单点更新2 Time Limit:3000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status Des ...

  5. MySQL 跳过同步错误方法

    最近MySQL 遇到了同步问题,现整理一下常遇到的错误的解决方法,备用. 方法一:手动设置动态参数 sql_slave_skip_counter 我常用的脚本: stop slave sql_thre ...

  6. 第十篇 PO核心功能及流程详解

    详见链接:http://bbs.erp100.com/thread-272866-1-1.html1. P2P lifecycleP2P是procure to pay的缩写,p2p循环值得就是采购到付 ...

  7. [HIHO1328]逃离迷宫(bfs,位压)

    题目链接:http://hihocoder.com/problemset/problem/1328 这个题bfs到时候不止要存当前的坐标,还要存当前有哪几把钥匙.因为5把钥匙,所以可以直接用位来存,这 ...

  8. 【Todo】各种排序整理

    今天面试别人,问到堆排序.发现自己都记不太清楚了. 堆排序 从小到大排序,要用到的是,最大堆. 过程是最大堆,堆顶的最大的元素,调换到数组最后,依次进行.最后达到从小到大的效果. 归并排序 可以看这个 ...

  9. 【Todo】Kerberos、OpenSSL、OAuth2.0等一系列验证权限安全相关学习

    Kerberos可以先从这一篇开始: http://idior.cnblogs.com/archive/2006/03/20/354027.html

  10. Swift 2.0 : 'enumerate' is unavailable: call the 'enumerate()' method on the sequence

    Swift 2.0 : 'enumerate' is unavailable: call the 'enumerate()' method on the sequence 如下代码: for (ind ...