1. 背景
在使用JMeter进行性能测试时,如果并发数比较大(比如,需要支持1000并发),单台电脑的配置(CPU和内存)可能无法支持,这时可以使用JMeter提供的分布式测试的功能。在测试之前,需要做好如下几项检查:
- 系统上的防火墙被关闭或者正确的端口/ 服务被打开
- 所有的客户端都在同一个子网上
- 确保JMeter可以访问服务器
- 确保在所有系统上使用了相同版本的JMeter和Java。
- 如果有外部数据文件,那么需要把文件拷贝到每个Slave上,且读写路径设置成一样
2. 安装
1) JMeter需要JDK环境,所以需要先安装JDK。这里不再赘述。
2) 下载JMeter的zip包。下载地址:http://jmeter.apache.org/download_jmeter.cgi
3) 解压。这里以下载的apache-jmeter-3.2为例。
a) Windows使用工具解压,例如:D:\Program Files (x86)\apache-jmeter-3.2
b) Linux使用unzip命令解压,例如:unzip apache-jmeter-3.2.zip -d apache-jmeter-3.2 (-d 为指定要解压到的文件夹名)
4) 设置环境变量
a) Windows:右键“我的电脑”-> 高级-> 环境变量,在“系统变量”中点击“新建”,在变量名中输入:JMETER_HOME,变量值中输入:D:\Program Files (x86)\apache-jmeter-3.2,点击确定即可.再修改CLASSPATH变量,变量值中添加如下值:
%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar;% JMETER_HOME %\bin;
然后点击确定即可。
b) Linux:不用配置环境变量,执行的时候只需要先切换到安装的目录
5) 检查JMeter是否安装OK
a) Windows:打开cmd命令,输入jmeter.bat回车,也可以打开JMeter的目录,双击jmeter.bat文件,如果正常启动JMeter GUI界面则说明安装配置成功。
b) Linux:使用cd命令切换至JMeter目录下的bin目录,然后使用输入sh jmeter.sh启动JMeter GUI界面,弹出界面则说明安装成功。
JMeter的工作方式是一个Master在多个Slave上启动测试。Master可以用于存放脚本,发送消息给Slave,收集Slave回传的信息,执行测试。所以Master自身会有消耗,为了不影响性能,建议Master不执行测试。Master、Slave与被测系统之间的关系,如下图所示。
3. 执行测试步骤
1) 在Master上,切换到目录:jmeter/ bin,打开jmeter.properties,编辑remote-hosts=127.0.0.1
2) 添加Slave地址。例如,如果有Slave1和Slave2分别为172.XXX.XXX.21和172.XXX.XXX.22。则更改为:这里默认端口为1099。
3) 在Slave上,切换到目录:jmeter/ bin,执行jmeter-server.bat。正常启动后,在每个Slave的控制台中会出现如下图所示的信息:
4) 在Master上,双击jmeter.bat。启动JMeter。
5) 启动Slave。
6) 启动后会直接执行脚本。这里有两个登录,是因为这里启动了两个Slave。