JMeter5.x分布式测试环境搭建

背景:虽然前面已经写了一篇JMeter分布式环境的文(JMeter分布式测试环境搭建),但从4.x版本后,JMeter做了一些改变,加入了SSL认证。有一些步骤发生了变化,也遇到了一些新的问题。这里做个记录和总结分享出来。

目录

环境

前提条件

步骤

1.修改Slave配置

2.Master节点配置

遇到的问题

参考文档


环境

1.操作系统:Windows7

2.JDK:java version "1.8.0_111"

3.JMeter: 5.1.1

前提条件

1.Master节点和Slave节点上的JDK/ JMeter版本需要一致;

2.Master节点和Slave节点网络要互通,即,可以互相ping通。

3.Master节点和Slave节点上Java和JMeter的环境变量需要配置好:

1)Windows上的环境变量配置:计算机-》右键-》属性-》高级系统设置-》环境变量

a.新建:

JAVA_HOME=<自己的盘符目录>\Java\jdk1.8.0_111

JMETER_HOME=<自己的盘符目录>\Apache\apache-jmeter-5.1.1

b.编辑PATH,添加:

%JAVA_HOME%\bin;%JMETER_HOME%\bin

2)Linux上的环境变量配置:在/etc/profile中添加:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212xxx

export JRE_HOME=${JAVA_HOME}/jre

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

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

步骤

1.修改Slave配置

1)编辑:/bin/jmeter.properties

a.当前假定端口1099未被占用

b.

c.

d.

2)编辑:/bin/jmeter-server

RMI_HOST_DEF=-Djava.rmi.server.hostname=192.168.0.5         // 192.168.0.5地址为Slave所在机器的地址

3)运行jmeter-server: ./jmeter-server -Djava.rmi.server.hostname=192.168.0.5

2.Master节点配置

1)编辑 /bin/jmeter.properties

remote_hosts=127.0.0.1, 192.168.0.5                   // 这样写把本机也作为负载机之一,即Slave

2)确认ssl的配置

3)运行jmeter-server.bat

4)运行jmeter.bat。在Run->Remote Start中可以看到两个Slave,127.0.0.1即是Master节点也是Slave节点,192.168.0.5为另一个Slave节点

遇到的问题

1.Slave上运行jmeter-server.bat报错信息如下:-bash: jmeter-server: command not found

原因:在Linux上没有为/bin/jmeter-server设置执行权限

2.Slave上运行jmeter-server.bat报错信息如下:./jmeter-server: line 32: ./jmeter: Permission denied

原因:在Linux上没有为/bin/jmeter设置执行权限

3.Slave上运行jmeter-server.bat报错信息如下:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program.

原因:Linux没有设置JAVA_HOME。参考正文中的前置条件

4.在Master上双击jmeter.bat时,一闪而过

原因:Master上安装了两个不同版本,JMETER_HOME设置为了另一个版本,将其指向5.1.1即可。参考正文中的前置条件

5.在Master上启动jmeter-server时,报错:java.io.IOException: java.sercurity.UnrecoverableKeyException: Cannot recover key

原因:master上的jmeter中ssl设置没有修改,即:server.rmi.ssl.disable=true

参考文档

1.https://www.cnblogs.com/lelelong/p/10524662.html

2.https://www.cnblogs.com/UncleYong/p/10854152.html

 

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
JMeter是一个开源的压力测试工具,可以用于Web应用、SOA服务以及其他HTTP协议的应用程序的性能测试。当需要对系统进行大规模并发压力测试时,我们通常会考虑构建分布式JMeter环境。 ### JMeter分布式压测环境搭建步骤: #### 第一步:准备环境 1. **服务器配置**:首先,你需要一组服务器,每台服务器都需要安装Apache JMeter,并且它们之间应该有稳定的网络连接。 2. **JMeter版本一致性**:确保所有JMeter版本一致,避免因版本差异导致的兼容性问题。 #### 第二步:部署JMeter 1. **服务器上安装JMeter**:通过SSH或其他远程访问工具将JMeter安装包上传到服务器上,然后解压并配置JMeter环境变量。可以参考官方文档或教程进行详细操作。 2. **配置JMeter**:在每个JMeter实例中配置监听地址和端口。例如,在命令行中运行 `jmeter -n -t test计划.jmx -l results.jtl` 来启动测试,这里 `-n` 指示无GUI模式运行,`-t` 表示测试脚本的位置,`-l` 表示结果保存文件位置。 #### 第三步:创建并分发测试计划 1. **设计测试计划**:使用JMeter的图形界面或脚本语言编写测试计划,包括URL、请求头、参数、断言等。确保测试计划能覆盖所需的所有功能和场景。 2. **导出测试计划**:将测试计划导出为.jmx格式文件,以便于跨节点执行。 3. **分发测试计划**:将测试计划文件复制到所有参与测试的服务器上。 #### 第四步:协调与控制 1. **负载均衡**:根据实际需求分配任务给各个服务器,可能需要使用额外的工具如LoadRunner或Zabbix等来监控和控制流量分配。 2. **日志分析**:为了更好地理解系统响应以及发现潜在瓶颈,设置详细的日志记录,并定期查看日志信息。 #### 第五步:执行分布式测试 1. **同步执行**:通过脚本或者其他自动化手段触发所有服务器同时开始执行测试计划。 2. **监视与调整**:使用JMeter自带的日志功能或外部监控工具监视测试过程,必要时调整服务器资源分配或测试策略。 #### 第六步:分析结果 1. **聚合报告**:通过JMeter的聚合报告功能合并各服务器的测试结果,生成全面的性能测试报告。 2. **优化调整**:基于测试结果分析系统性能瓶颈,针对性地优化代码或架构设计。 ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值