通过LoadGenerator将Linux作为负载机进行压力测试
前提说明:
测试架构:controller部署在windows操作系统下(windows下安装loadrunner的过程,可以去网上搜下,这里不做解释),loadgenerator部署在linux下。
前提条件:
1、软件版本:Windows 7 X64,Loadrunner 11.0,LoadGenerator11.0,CentOS-6.4-i386-bin-DVD1to2
2、windows和centos的防火墙关闭
3、确保centos系统的主机名可以ping通
下载loadGenerator,LoadRunner Generator for Linux.zip,下载地址:http://pan.baidu.com/s/1o6OQpfk,当然用ISO也可以,不过用ISO涉及到挂载的问题,但是,没有权限的问题,而压缩文件则反之
安装步骤:
步骤1、利用rz命令,将LoadRunner Generator for Linux.zip拷贝到/opt下
步骤2、利用unzip LoadRunner Generator for Linux.zip命令将压缩文件解压缩,并重命名为LoadRunner,如下图:
步骤3、进入到/opt/LoadRunner/Linux文件夹下,执行./installer.sh
发现,当前用户没有执行installer.sh的权限,于是,利用命令chmod 777 installer.sh更改当前用户对installer.sh的执行权限。再次,执行./installer.sh弹出以下提示信息:
意思是,当前用户在访问/opt/LoadrunnerGenerator/Linux/prerequisites/steps/include.sh文件时,没有权限,为了防止使用其它文件遇到权限问题,索性将Linux整个文件夹的权限问题统一设置一下,于是,就用到了chmod的一个参数R,返回到LoadrunnerGenerator目录下,执行chmod -R 777 Linux,如下图:
然后,再到Linux目录下,执行./installer.sh脚本,如下图:
输入n,然后回车,如下图:
要读协议,输入v,若不读协议,直接同意,输入a,然后回车,如下图:
输入b,可以返回,输入i,然后回车,开始安装,如下图:
当出现下面这个页面时,可以选择finish,也可以看下安装的log:
步骤4、设置环境变量
在安装完成以后,验证是否安装成功,在/opt/HP/HP_LoadGenerator/bin目录下,执行./verify_generator,出现如下图所示的提示信息:
于是,得知我们需要设置环境变量。首先,将/etc/profile下的profile备份一下,然后,在profile文件尾部添加:
export M_LROOT=/opt/HP/HP_LoadGenerator/
保存退出,source /etc/profile重新加载该文件,再次在/opt/HP/HP_LoadGenerator/bin目录下,执行./verify_generator,出现如下图所示的提示信息:
从提示信息来看,LoadGenerator不能以root身份运行
步骤5、建立一个普通用户,因LoadGenerator不能以root身份运行,所以,一定要建立一个普通用户;如果有用户之间使用su 命令进行切换即可
步骤6、以创建的普通的用户登录,进入/opt/HP/HP_LoadGenerator/bin目录下,执行./verify_generator,弹出如下图所示的提示信息:
从提示信息来看,要再次设置DISPLAY环境变量(方法与步骤4相同),export DISPLAY=:0.0,关于DISPLAY参数,请参考:http://blog.chinaunix.net/uid-24020646-id-3065211.html,设置完DISPLAY变量以后,切换到普通用户(所有的设置都以root身份去做,运行时,切换到普通用户)执行,如下图:
步骤7、从运行结果来看,还是有一些错误存在的;
问题1:error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory;从这两个错误来看应该都是缺少So库导致;
解决办法:
执行命令yum install libstdc++.so.5 ,安装libstdc,如下图:
问题2:
error: The file .rhosts does not exist in the home directory of the user
大家可以上网查一下.rhosts 的作用,该文件主要是为了两台机器远程通信而建立的,在这里可以忽略。
问题3:
error:Verify $M_LROOT ...Failed
解决办法:大致猜测应该是环境变量的问题,可见在PATH中并没有加入/opt/HP/HP_LoadGenerator/bin,进入/etc/profile,添加:export PATH=${M_LROOT}/bin:$PATH,再次执行./verify_generatorg还是出现这样的错误可以忽略。如下图:
验证ok,(ps:Vuser Host localhost.Infoworks: Failed此错误目前没有影响loadrunner代理的正常启动,暂不用考虑)
步骤8:
此时,执行./m_daemon_setup start,若agent成功启动,则如下图所示,若启动失败,则提示m_agent_daemon is down,此时,可以去 :/tmp目录 下查看agent的运行log,排除错误。
注意:该文主要是对LoadGenerator进行的设置,如果用这个方法去执行压测,在跑脚本的时候会出错
解决办法参考:
LR的配置如下:
步骤1、打开LoadRunner Controller 设置要运行的脚本,打开后如下图:
步骤2、选择Run切换到场景运行模式,打开Load Generators ,如下图:
步骤3、点击添加按钮,添加负载机
最后点击确定,添加完成
步骤4、验证,选择添加的负载机,点击connect查看连接是否成功,连接成功后如下图:
步骤5:接下来开始跑测试脚本,发现出现如下图所示的错误:
错误:error Not all extension dlls were loaded
解决办法:
1、创建负载端的用户lrtest:
useradd -g 0 -s /bin/csh lrtest
此用户默认使用的shell为csh;在centos下,默认的shell应该是bash,但LR使用的csh;当时我的机器上没有安装csh,需要进行安装:yum install csh
2、查看新增的用户信息
more /etc/passwd
3、配置环境变量
csh和bash在加载不同的shell时,可以加载不同的配置;csh的默认配置在 /etc/csh.cshrc下,bash的默认配置在/etc/profile。LR默认给出了一个环境变量的配置文件,文件在/opt/HP/HP_LoadGenerator/env.csh。下面我们需要将它加入到csh的默认配置中
vim /etc/csh.cshrc
在文件末尾添加:
source /opt/HP/HP_LoadGenerator/env.csh
如下图:
4、在env.csh中设置DISPLAY变量
vim /opt/HP/HP_LoadGenerator/env.csh
在末尾添加,如下图:
setenv DISPLAY 0.0
5、切换到lrtest用户,验证安装启动
cd /opt/HP/HP_LoadGenerator/bin //切换到该bin目录下
./verify_generator //启动agent
./m_daemon_setup start //若agent成功启动,则如下图所示,若启动失败,则提示m_agent_daemon is down
步骤6、在次运行场景中的脚本发现可以正常运行。
注意:
步骤5出现的错误可能是由于在安装LoadGenerator的时候,出现Vuser Host localhost.Infoworks: Failed错误导致,把该问题修复即可正常使用
通过LoadGenerator将Linux作为负载机进行压力测试的更多相关文章
- linux 下 安装nginx及压力测试
linux 编译安装nginx,配置自启动脚本 下载nginx: wget http://nginx.org/download/nginx-1.8.0.tar.gz下载openssl : wget h ...
- linux上实现jmeter分布式压力测试(转)
摘要:最近根据公司工作的需求,学习了一些压力测试的知识,目前,公司使用的是jmeter进行压力测试.下面就记录下近期的学习.我想将这次的博文分成三个部分:1.开始测试前的准备(测试环境的搭建)2.在一 ...
- linux使用JMETER进行分布式压力测试
1. 下载jmeter tgz文件 http://jmeter.apache.org/download_jmeter.cgi 2. 登录linux服务器,创建jmeter目录,rz上传jmeter ...
- jmeter-分布式部署之负载机的设置
本文分三个部分: 1.windows下负载机的配置 2.Linux下负载机的配置 3.遇到的问题 *************************************************** ...
- jmeter-分布式压测部署之负载机的设置
本文分三个部分: 1.windows下负载机的配置 2.Linux下负载机的配置 3.遇到的问题 *************************************************** ...
- COSBench添加driver负载机
说明:Driver是COSBench测试工具中对负载机的一种标记,相当于loadrunner中的负载发生器. 在使用COSBench进行云存储性能测试时,面对强大的云服务,如果只有单个driver负载 ...
- Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍
一.http_load程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把 ...
- Linux下的压力测试工具:ab、http_load、webbench、siege
一.ab 1.1 介绍 ab是apache自带的一款功能强大的测试工具. 安装了apache一般就自带了. 1.2 下载 同apache. 1.3 安装 同apache. 1.4 安装结果 ...
- Linux下进行Web服务器压力(并发)测试工具http_load、webbench、ab、Siege、autobench简单使用教程(转)
一.http_load 程序非常小,解压后也不到100K http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工 具,它可以以一个单一的进程运行,一般 ...
随机推荐
- win 10 初始环境变量
有时用户会修改Win10系统的环境变量,改到后面原来是什么的也记不得了,想要改回去还要去别的电脑查看,这里转载下Win10 64位环境变量的默认初始值. 附:打开环境变量方法:电脑左下右键——系统—— ...
- SharePoint REST API - 基本操作(一)
博客地址:http://blog.csdn.net/FoxDave 本文讲述如何应用SharePoint的REST接口完成基本的增删查改操作. 使用SharePoint客户端API和REST服务进 ...
- linux 下ftp几种上传和下载方式
1. ftp自动登录批量下载文件. 复制代码代码如下: #####从ftp服务器上的/home/data 到 本地的/home/databackup#####!/bin/bashftp -n<& ...
- day 27 多态 接口 类方法 静态方法 hashlib 摘要算法模块
# 多态的理解:# Python 天生自带多态# 鸭子类型 list 和 tuple 就是一对鸭子类型 很像但是没有继承关系## 而其他的类型 上传参数或者打印参数的时候 必须是指定的数据类型# -- ...
- ESP8266 上线
1.首先配置esp8266 WIFI模块 使用USB转 TTL 连接 esp8266 WIFI模块,波特率115200 //查询固件版本 AT+GMR //设置WiFi应用模式为Station AT+ ...
- bootstrap --- 在 modal中的 datetimepicker 关闭 ,会造成 modal也会被关闭.
这个大概是事件冒泡造成的. 解决办法: <form id="userForm" class="form-horizontal"> <input ...
- 2019-03-15-day011-递归生成器
函数的进阶: 动态参数: 两种: 动态位置参数 > 动态默认参数 打散(聚合): 实参处打散 形参处聚合 不在函数中第一次使用*打散,第二次是聚合 在数据库中快速写入数据的时候,**dic 名称 ...
- 复习回顾(String,StringBuffer,Arrays方法总结)
String: String类的对象是一经创建就无法变动内容的字符串常量,创建String类的对象可以使用直接赋值和利用构造方法赋值 String str=“hello”; String str=n ...
- Python 私有
class Person: __qie = "潘潘" # 类变量 def __init__(self, name, mimi): self.name = name self.__m ...
- 【Python】管道通信和condition
#练习:管道练习,双工,单工,将受到的消息保存到文件中 import multiprocessing as mp from multiprocessing import Process,Lock de ...