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

目录

  一、实验

1.环境

2.jmeter 配置 slave 代理压测机

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

4.启动slave从节点检查

5.启动master主节点检查

6.运行jmeter

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

二、问题

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节点

jmeter -v

java --version

slave节点

jmeter -v

java --version

2.jmeter 配置 slave 代理压测机

(1)修改配置

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

修改前:

修改后:

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

(1)修改配置文件

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

修改前:

修改后:

4.启动slave从节点检查

(1)启动

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

5.启动master主节点检查

(1)启动

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

6.运行jmeter

(1) 主节点打开jmeter

[root@controller ~]# jmeter

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

线程数为1

(3)查看

(4)远程启动所有

(5)查看监听器结果

查看结果树

 用表格查看结果

查看聚合报告

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

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


 

(6)清空

(7)修改线程数为1000

 (8)再次远程启动所有

(9)查看监听器结果

查看结果树

用表格查看结果

查看聚合报告

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

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

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

(1)master节点

过程涉及2次Starting和Finished

(2)slave节点

过程涉及2次Starting和Finished

二、问题

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

(1)解决方法

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

修改前:

修改后:

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

(1)作用

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

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

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

4)独立运行每个线程组

4.线程组的执行顺序

(1)顺序

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

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

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

5.Jmeter组件执行顺序

(1)顺序

1)配置元件

2)前置处理器

3)定时器

4)取样器

5)后置处理器

6)断言

7)监听器

猜你喜欢

转载自blog.csdn.net/cronaldo91/article/details/135971791