Jmeter性能测试: Jmeter 5.6.3 分布式部署

目录

一、实验

1.环境

[2.jmeter 配置 slave 代理压测机](#2.jmeter 配置 slave 代理压测机)

3.jmeter配置master控制器压测机

4.启动slave从节点检查

5.启动master主节点检查

6.运行jmeter

7.观察jmeter-server主从节点变化

二、问题

[1.jmeter 中间请求和响应乱码](#1.jmeter 中间请求和响应乱码)


一、实验

1.环境

(1)主机

表1-1 主机

|------------|------------------|----------------|-------|----|
| 主机 | 架构 | IP | 版本 | 备注 |
| controller | Jmeter master 节点 | 192.168.204.70 | 5.6.3 | |
| slave1 | Jmeter slave 节点 | 192.168.204.71 | 5.6.3 | |

(2)查看版本

master节点

bash 复制代码
jmeter -v

java --version

slave节点

bash 复制代码
jmeter -v

java --version

2.jmeter 配置 slave 代理压测机

(1)修改配置

bash 复制代码
 slave 机器上需要修改配置 jmeter.properties,修改以下两处配置:
 1)找到 server_port 去掉 #,设置端口
 2) 找到 remote_hosts 去掉 #,添加master的 ip及端口 配进去 
 3) 找到server.rmi.ssl.disable=false 改成 true
bash 复制代码
vim jmeter.properties 

修改前:

修改后:

3.jmeter配置master控制器压测机

(1)修改配置文件

bash 复制代码
 slave 机器上需要修改配置 jmeter.properties,修改以下两处配置:
 1)找到 remote_hosts 去掉 #,添加本地与slave的 ip及端口 配进去
 2、找到server.rmi.ssl.disable=false 改成 true
bash 复制代码
vim jmeter.properties 

修改前:

修改后:

4.启动slave从节点检查

(1)启动

bash 复制代码
注:先启动从机器检查是否连接成功
进入jmeter/bin目录,启动jmeter-server
bash 复制代码
[root@slave1 bin]# jmeter-server

5.启动master主节点检查

(1)启动

bash 复制代码
注:先启动从机器检查是否连接成功,然后再启动主机器进行检查
进入jmeter/bin目录,启动jmeter-server
bash 复制代码
[root@controller bin]# jmeter-server

6.运行jmeter

(1) 主节点打开jmeter

bash 复制代码
[root@controller ~]# jmeter

(2) 添加线程组、取样器与监听器

线程数为1

(3)查看

(4)远程启动所有

(5)查看监听器结果

查看结果树

用表格查看结果

查看聚合报告

bash 复制代码
聚合报告中间的样本数量=线程数*循环次数*agent(机器台数)

聚合报告中间的样本数量=1*1*2=2

(6)清空

(7)修改线程数为1000

(8)再次远程启动所有

(9)查看监听器结果

查看结果树

用表格查看结果

查看聚合报告

bash 复制代码
聚合报告中间的样本数量=线程数*循环次数*agent(机器台数)

聚合报告中间的样本数量=1000*1*2=2000

7.观察jmeter-server主从节点变化

(1)master节点

过程涉及2次Starting和Finished

(2)slave节点

过程涉及2次Starting和Finished

二、问题

1.jmeter 中间请求和响应乱码

(1)解决方法

bash 复制代码
需修改jmeter.properties 文件中间sampleresult.default.encoding=utf-8,language=zh_CN 修改保存之后要求重启jmeter

修改前:

修改后:

3.Test Plan (测试计划) 有何作用

(1)作用

bash 复制代码
测试计划是JMETER所有组件的起点,所有的组件都是基于测试计划:
1)名称
整个测试计划名称,以实际项目名称

2)注释
方便查看自定义内容

3)用户定义变量
配置元件中间定义变量,测试计划中间的变量属于全局变量,对所有的线程组都有效(不建议通过测试计划定义用户变量,因为测试计划没法进行禁用的操作,通过配置元件进行自定义变量)

4)独立运行每个线程组

4.线程组的执行顺序

(1)顺序

bash 复制代码
1)setup 线程组
setup 线程组是用于前期的准备工作,比如:JDBC 数据库操作时,前期需要建立数据库连接,用户登录,用户登录完成之后需要做其他的操作,所以 需要把登录放在setup 线程组中间

2)线程组
给服务器做并发的时候需要用到的是并发的用户数,UV一个线程组可以理解为一个用户。
一个线程组可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。多个用户同时去执行相同的一批次任务。每个线程之间都是隔离的,互不影响的。

3)teardown线程组
所有的线程组执行完成之后再执行该线程组,比如:退出登录,jdbc 数据库操作完成之后,需要关闭数据库的连接

5.Jmeter组件执行顺序

(1)顺序

bash 复制代码
1)配置元件

2)前置处理器

3)定时器

4)取样器

5)后置处理器

6)断言

7)监听器
相关推荐
周末不下雨几秒前
win11+ubuntu22.04双系统 | 联想 24 y7000p | ubuntu 22.04 | 把ubuntu系统装到1T的移动固态硬盘上!!!
linux·运维·ubuntu
云计算DevOps-韩老师6 分钟前
【网络云计算】2024第47周-每日【2024/11/21】周考-实操题-RAID6实操解析2
网络·云计算
jikuaidi6yuan12 分钟前
鸿蒙系统(HarmonyOS)分布式任务调度
分布式·华为·harmonyos
天冬忘忧32 分钟前
Kafka 生产者全面解析:从基础原理到高级实践
大数据·分布式·kafka
耗同学一米八42 分钟前
2024 年河北省职业院校技能大赛网络建设与运维赛项样题四
运维·网络
东华果汁哥1 小时前
【linux 免密登录】快速设置kafka01、kafka02、kafka03 三台机器免密登录
linux·运维·服务器
天冬忘忧1 小时前
Kafka 数据倾斜:原因、影响与解决方案
分布式·kafka
隔着天花板看星星2 小时前
Kafka-Consumer理论知识
大数据·分布式·中间件·kafka
隔着天花板看星星2 小时前
Kafka-副本分配策略
大数据·分布式·中间件·kafka
金刚猿2 小时前
简单理解下基于 Redisson 库的分布式锁机制
分布式·分布式锁·redisson