Jmeter分布式测试

Jmeter分布式测试

本文为原创,转载请注明出处:https://www.cnblogs.com/supiaopiao/p/10856821.html

一、为什么要用分布式测试?

在使用Jmeter进行性能测试时,如果并发数比较大(比如项目需要支持1000并发),单台主机的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能。

 

二、Jmeter分布式执行原理:

 

Jmeter分布式测试时,本地jmeter作为控制机(master),其它机器做为执行机(slave)。执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行。执行完成后,slave会把结果回传给master,master会收集所有slave的信息并汇总。

 

三、配置:

注意:windows和linux上的jmeter的版本一致会比较好,将windows和linux上的防火墙都关闭。

 

(一)控制机(master)配置

 

 Windows系统上,将下载下来的jmeter解压后,修改apache-jmeter-5.1.1in目录里的jmeter.properties文件,在260行新增remote_hosts配置,配置里配置的是两台slave主机的ip和slave主机里安装的jmeter的端口号。

 

(二)执行机(slave)配置

 

1. 上传jmeter到slave服务器

因为jmeter需要有jdk的支持所以将jdk和jmeter都上传到slave主机/software文件夹下。

 

 

 

2. 解压jdk和jmeter后配置环境变量

[root@localhost ~]# vim /etc/profile

 

#java环境变量

export JAVA_HOME=/software/jdk1.8.0_131/

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

#jmeter环境变量

export JMETER_HOME=/software/apache-jmeter-5.1.1

export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$JMETER_HOME/lib/logkit-2.0.jar:$CLASSPATH

export PATH=$JMETER_HOME/bin/:$PATH

 

3. 修改jmeter部分配置

打开/ apache-jmeter-5.1.1/bin目录

(1)修改jmeter.properties文件

 

remote_hosts=192.168.0.132  #ip是这台slave主机的ip

server_port=1098 #端口号是jmeter自定义的端口号,默认是1099

备注:该remote_hosts和server_port配置需要和本地master的jmeter.properties文件里新增的260行配置一致。

 

 

 

server.rmi.localport=1098

 

 

 

 

 

server.rmi.ssl.disable = true  #否则远程执行,会报一个ssl错误

 

 

 

 

#防止响应回来的数据有中文乱码

 

jmeter.save.saveservice.response_data=true  jmeter.save.saveservice.samplerData=true

 

 

(2)修改jmeter-server文件

配置这台slave主机的ip

RMI_HOST_DEF=-Djava.rmi.server.hostname=192.168.0.132

 

 

4. 启动各个slave上的jmeter

[root@localhost bin]# jmeter-server

 

(三)配置多台slave只需要参照文档(二)进行配置即可。

执行测试

本地远程连接slave主机上的jmeter,并执行脚本(有两种启动方式)

 

例如:本地jmeter脚本是往数据库里添加随机数据,循环20次。

 

 远程连接两台服务器上的jmeter执行后,数据库里就会有40条数据,并且结果树里也会收集到所有slave主机上的jmeter运行结果信息,到此一个简单的分布式测试就完成了。

原文地址:https://www.cnblogs.com/supiaopiao/p/10856821.html