Linux下的jmeter分布式搭建

作者:wang.lan

1、为什么要进行分布式

        Jmeter压测过程中,由于测试机配置有限,CPU、内存都可能是存在瓶颈。如果使用很大的并发进行测试时,就可能会感到程序比较卡,无法继续增加压力了, 这时候就需要搭建Jmeter分布式集群,远程启动测试。

2、分布式原理

(1)选择其中一台作为调度机(master),其它机器做为执行机(slave)。

(2)执行时,调度机会把脚本发送到每台执行机上,执行机拿到脚本后就开始执行。

(3)执行完成后,Slave会把结果回传给master,master会收集所有Slave的信息并汇总 。

3、安装jdk

# mkdir -p /usr/lib/java #建立安装目录

# tar -zxvf jdk1.8.0_151.tar.gz

# mv /usr/lib/java/jdk1.8.0_161 /usr/lib/java/java8 #移动并重命名

4、jdk环境配置

(1)添加jdk8到系统环境变量

# vi /etc/profile #编辑profile配置文件,点击“i”进入编辑状态,在最后添加下面的内容

export JAVA_HOME=/usr/lib/java/java8

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:${PATH}

退出vi 用ESC键只能切换到命令状态,然后输入“:wq ”命令进行保存文件并强行退出vi

(2)source /etc/profile 让配置文件生效

(3) java –version 查看jdk是否配置成功

5、jmeter安装配置

#mkdir -p /usr/local/jmeter #建立安装目录

#unzip apache-jmeter-3.0.zip

注意需要你已经安装unzip命令,如果没有安装就执行yum install unzip -y安装

export JMETER=/usr/local/jmeter/apache-jmeter-3.0

exportCLASSPATH=${JMETER}/lib/ext/ApacheJMeter_core.jar:${JMETER}/lib/jorphan.jar:$JMETER/lib/logkit-2.0.jar:${CLASSPATH}

export PATH=${JMETER}/bin/:${PATH}

        完成添加后下述命令使配置生效: source /etc/profile 检查是否配置成功:命令行输入jmeter –v将出现以下标志

6、分布式配置

前提:调度机、执行机部署同一版本jmeter和同一版本jdk,确保所有机器在同一个子网

1、执行机:

slave机上需要安装Jmeter,添加环境变量(前面已经介绍过了)

自定义端口号:jmeter的bin目录下jmeter.properties,修改如下两项配置(默认端口10099)

server_port=1099

server.rmi.localport=1099

启动slave机的服务,即bin目录下的jmeter-server.bat将会得到slave机器IP

 

1、 调度机:

找到master调度机中jmeter的bin目录下jmeter.properties,修改如下配置:

remote_hosts=服务机ip1:1099,服务机ip2:1099

例如:remote_hosts=134.64.94.89:1099,134.64.94.76:1099

(备注:多台slave之前用“,”隔开,我这配置了2台,对应前面slave机器的IP和Port

7、远程启动

前提:

(1)上传已经调试成功的脚本(testplan1.jmx)到调度机上(如: /root/results/testplan1.jmx)

(2)执行机的jmeter服务已成功启动

(3)调度机和执行机最好分开,由于master需要发送信息给slave并且会接收slave回传回来的测试数据,所以mater自身会有消耗,所以建议单独用一台机器作为mater(这里是将调度机与执行机分开的)。

在调度机执行分布式命令:

命令语法:./jmeter -n -t [xxx.jmx脚本路径] -r -l [xxx.jtl结果存放路径]

(1)指定执行机IP(其中-R 指定远程连接的slave机器的ip多个ip之间用逗号隔开)

./jmeter  -n -t /root/results/testplan1.jmx -R ip1,ip2  -l /test1.jtl

(2) 启动所有执行机执行脚本

./jmeter  -n -t /root/results/testplan1.jmx  -r -l /test1.jtl

        运行结束后到根目录下找到test1.jtl文件下载即可 在windows系统下启动jmeter将下载好的test1.jtl文件导入聚合报告将展示测试结果

名词解释:

-n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter

-t 测试文件 -> 要运行的 JMeter 测试脚本文件

-l 日志文件 -> 记录结果的文件

-r 远程执行 -> 在Jmter.properties文件中指定的所有远程服务器

猜你喜欢

转载自www.cnblogs.com/ustcinfo-qc/p/12123652.html