目录

Jmeter分布式场景

Jmeter分布式

1. 为什么使用Jmter分布式测试

1.1 需求

复制代码
对学院接口(查询学院-所有)进行1000用户并发访问,测试服务器处理批量请求能力

1.2 现状

复制代码
我们单台电脑由于配置(CPU、内存)问题,最模拟500用户时,就出现卡死现象

按照一般的压力机配置,jmeter的GUI模式下(Windows),最多支持300左右的模拟请求线程**,再大的话,容易造成卡顿、无响应等情况,这是限于jmeter其本身的机制和硬件配置。

有时候为了尽量模拟业务场景,需要模拟大量的并发请求,这个时候单台压力机就显得有心无力。针对这个情况,jmeter的解决方案是支持分布式压测,即将大量的模拟并发分配给多台压力机,来满足这种大流量的并发请求场景。

2. 分布式测试

2.1 分布式测试原理

复制代码
1. 一台电脑作为控制机(Controller),其它电脑做为执行机(Agent);
2. 执行时,控制机会把脚本发送到每台执行机上,执行机拿到脚本后就开始执行
3. 执行机执行时不需要启动Jmeter界面,可以理解它是通过命令行模式执行的
4. 执行完成后,执行机会把结果回传给控制机,控制机会收集所有执行机的信息并汇总

2.2 执行方案分析

复制代码
1. 1台电脑(控制机)分发执行任务
2. 2台电脑(执行机)执行任务
3. 在执行机上启动监听服务程序
4. 在控制机上启动运行
5. 测试计划->聚合报告

2.3 技术难点分析

复制代码
1. 执行机-jmeter.properties设置
2. 控制机jmeter.properties设置
3. 执行机启动分布式监听服务程序
3. 2台执行机,用户数如何设置

2.4 执行机Jmeter.properties配置图

复制代码
1. 分别打开执行机下jmeter安装文件下的bin目录:jmeter.properties, 找到server_port
2. server_Port=1099.    1099为执行机自定义端口号
3. 注意:
	- 要取消注释符号 #
	- 自定义的端口号,要选择未被占用的端口号


2.5 控制机jmeter.properties配置图

复制代码
1.打开控制机下jmeter安装文件下的bin目录:jmeter.properties,找搭配remote_hosts
2. remote_hosts=127.0.0.1:1099,127.0.0.1:1100
3. 注意事项:
   - 多个执行机的ip间要用全英文的半角逗号隔开 

2.6 执行机启动分布式监听效果图

复制代码
1. 运行bin目录下jmeter-server.bat
2. 运行后勿关闭黑色窗口

2.7 控制机-线程数设置

注意:

需求1000用户,两台执行机同时接受控制机脚本去执行然后反馈给控制机,所以线程数设置500

2.8 控制机-运行效果图

复制代码
1. 菜单-运行->选择全部启动
2. 快捷键->Ctrl+Shift+R

2.9 提示

复制代码
1. 修改完端口要重启Jmeter.bat
2. 控制机和执行机分开(为了方便教学,这里采用控制机和代理机在1台机器上)
   1). 由于控制机需要发送信息给执行机并且会接受执行机回传的测试数据所以控制机自身会有消耗
3. 参数文件:如果使用csv进行参数化,那么需要把参数文件在每台执行机上拷一份且路径需要设置成一样的;
4. 每台机器上安装的Jmeter版本和插件最好都一致,否则会出一些意外的问题;
5. 执行机上Jmeter也许需要配置JDK环境变量;
本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
数据智能老司机18 小时前
CockroachDB权威指南——CockroachDB SQL
数据库·分布式·架构
数据智能老司机18 小时前
CockroachDB权威指南——开始使用
数据库·分布式·架构
数据智能老司机19 小时前
CockroachDB权威指南——CockroachDB 架构
数据库·分布式·架构
IT成长日记19 小时前
【Kafka基础】Kafka工作原理解析
分布式·kafka
州周21 小时前
kafka副本同步时HW和LEO
分布式·kafka
爱的叹息1 天前
主流数据库的存储引擎/存储机制的详细对比分析,涵盖关系型数据库、NoSQL数据库和分布式数据库
数据库·分布式·nosql
千层冷面1 天前
RabbitMQ 发送者确认机制详解
分布式·rabbitmq·ruby
ChinaRainbowSea1 天前
3. RabbitMQ 的(Hello World) 和 RabbitMQ 的(Work Queues)工作队列
java·分布式·后端·rabbitmq·ruby·java-rabbitmq
敖正炀1 天前
基于RocketMQ的可靠消息最终一致性分布式事务解决方案
分布式
一條狗1 天前
随笔 20250402 分布式 ID 生成器 Snowflake 里面的坑
分布式