[转帖]Jmeter性能测试:高并发分布式性能测试

jmeter,性能,测试,并发,分布式 · 浏览次数 : 0

小编点评

**为什么要进行分布式性能测试?** * 受限于Jmeter工具本身和电脑硬件的原因,无法满足我们对大并发性能测试的要求。 **分布式性能测试原理** 1. 主控机(Controller):发起并发测试,将执行脚本分发到代理机上。 2. 代理机(Agent):执行并发测试并将结果发送给主控机。 3. 主控机:汇总代理机执行的结果。 **操作步骤** 1. **代理机配置与服务启动:** - 修改代理机jmeter\\bin\\jmeter.properties文件,关闭SSL服务,添加: server.rmi.ssl.disable=true1。 - 启动代理服务:[root@localhost bin]# jmeter-server -Djava.rmi.server.hostname=192.168.37.1281 2. **主控机配置:** - 修改主控机jmeter\\bin\\jmeter.properties,添加代理机IP和端口。 - 关闭SSL服务。 - 在主控机启动jmeter,可以发现在“启动”\\“远程启动”菜单中可以看到我们配置的主控机和代理机。 3. **执行分布式性能测试脚本:** - 打开脚本,例如线程数设为10。 - 点击“启动”\\“远程启动所有”,不要点击工具栏上的三角形启动(这个只能执行当前机器上的线程数)。 - 通过汇总报告,发现执行的是20个样本请求,是两台机器的数据汇总计算。

正文

一、为什么要进行分布式性能测试

当进行高并发性能测试的时候,受限于Jmeter工具本身和电脑硬件的原因,无法满足我们对大并发性能测试的要求。基于这种场景下,我们就需要采用分布式的方式来实现我们高并发的性能测试要求。

二、分布式性能测试原理

在这里插入图片描述
要进行分布式性能测试,我们首先要先一台机器作为主控机(Controller),其他机器为代理机(Agent)。执行时在主控机上发起并发测试,由主控机将执行脚本分发到代理机上;再在代理机上执行同样的并发测试;执行结束后,代理机将测试数据发送给主控机,最终由主控机把所有代理机执行的结果进行汇总分析。
例如:需要模拟100个用户并发,1台主控机和4个代理机,那么只需要将脚本的线程数设置为20。
本文采用windows上jmeter的作为主控机,linux上的jmeter为代理机。
linux下jmeter的安装与部署,请参考之前的博客:
https://blog.csdn.net/qq19970496/article/details/101278404

三、操作步骤

轻松三步:1代理机配置与服务启动,2主控机配置3执行分布式性能脚本与测试结果查看
1.代理机配置服务启动
(1)修改代理机jmeter\bin\jmeter.properties文件,关闭SSL服务,添加:

server.rmi.ssl.disable=true
  • 1

在这里插入图片描述
(2)启动代理服务

[root@localhost bin]# jmeter-server -Djava.rmi.server.hostname=192.168.37.128
  • 1

此处IP为代理机本地的IP地址。
在这里插入图片描述
主控机的服务也需要启动,windows下的只需要运行jmeter-server.bat文件。
2.主控机配置
同样的方式修改jmeter\bin\jmeter.properties,添加代理机IP和端口(jmeter的默认端口是1099),多个代理机之间用英文“,”分开。

remote_hosts=127.0.0.1:1099,192.168.37.128:1099
  • 1

在这里插入图片描述
关闭SSL服务。

server.rmi.ssl.disable=true
  • 1

在这里插入图片描述
在主控机启动jmeter,可以发现在“启动”\“远程启动”菜单中可以看到我们配置的主控机和代理机。
在这里插入图片描述
3.执行分布式性能测试脚本
打开脚本,例如线程数设为10;
在这里插入图片描述
点击“启动”\“远程启动所有”,不要点击工具栏上的三角形启动(这个只能执行当前机器上的线程数)。
在这里插入图片描述
通过汇总报告,发现执行的是20个样本请求,是两台机器的数据汇总计算。
在这里插入图片描述

文章知识点与官方知识档案匹配,可进一步学习相关知识
云原生入门技能树首页概览13706 人正在系统学习中

与[转帖]Jmeter性能测试:高并发分布式性能测试相似的内容:

[转帖]Jmeter性能测试:高并发分布式性能测试

一、为什么要进行分布式性能测试 当进行高并发性能测试的时候,受限于Jmeter工具本身和电脑硬件的原因,无法满足我们对大并发性能测试的要求。基于这种场景下,我们就需要采用分布式的方式来实现我们高并发的性能测试要求。 二、分布式性能测试原理 要进行分布式性能测试,我们首先要先一台机器作为主控机(Con

[转帖]修改jmeter内存配置(win&mac&linux)

目录 一、背景: 二、win环境下修改jmeter内存 三、mac&linux环境下修改jmeter内存 四、验证内存是否修改成功 一、背景: 在进行大数据、高并发压测的过程性,有时会遇上JMeter卡死现象,使得测试无法进行,查看日志显示:java.lang.OutOfMemoryError: J

[转帖]Jmeter插件之ServerAgent服务器性能监控工具的安装和使用

https://www.cnblogs.com/pachongshangdexuebi/p/13354201.html 一、前言 性能测试时我们关注的重要指标是:并发用户数,TPS,请求成功率,响应时间,服务器的CPU,memory, I/O disk等。Jmeter的聚合报告可以查看并发数、吞吐量

[转帖]【软件测试】Jmeter性能测试(性能测试,Jmeter使用与结果分析)

文章目录 前言一、性能测试1. 什么是性能测试?2. 性能测试的重要性3. 性能指标——QPS和TPS①QPS②TPS 二、压测工具Jmeter1. 什么是Jmeter?2. Jmeter主要元件3. 下载安装 三、一个简单的测试案例①新建一个线程组②新建一个HTTP请求③添加HTTP信息头(请求头

[转帖]Jmeter学习笔记(二十三)——生成HTML性能报告

https://www.cnblogs.com/pachongshangdexuebi/p/11759316.html 有时候我们写性能报告的时候需要一些性能分布图,JMeter是可以生成HTML性能报告的。这篇博客,简单介绍下在利用jmeter进行性能测试时,是如何生成HTML的可视化测试报告的

[转帖]jmeter_采样器sampler简介

1、取样器介绍 取样器是用来模拟用户操作的,向服务器发送请求以及接收服务器的响应数据。 取样器是在线程组内部的元件,也就是说取样器只能在线程组中添加。 取样器(Sampler)是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元。(取样器通常要进行这三个工作) 2、jmeter自带取样

[转帖]jmeter学习笔记(二十二)——监听器插件之jp@gc系列

一、jp@gc - Actiive Threads Over Time 不同时间活动用户数量展示 下面是一个阶梯加压测试的图标 二、jp@gc - Transactions per Second ,即TPS:每秒事务数 性能测试中,最重要的2个指标之一。该插件的作用是在测试脚本执行过程中,监控查看服

[转帖]jmeter(八)断言

https://www.cnblogs.com/pachongshangdexuebi/p/11582891.html jmeter中有个元件叫做断言(Assertion),它的作用和loadrunner中的检查点类似; 用于检查测试中得到的响应数据等是否符合预期,用以保证性能测试过程中的数据交互与

[转帖]看看 Jmeter 是如何玩转 redis 数据库的

柠檬小欧 2021-08-31 20:06420 Jmeter 作为当前非常受欢迎的接口测试和性能测试的工具,在企业中得到非常广泛的使用,而 Redis 作为缓存数据库,也在企业中得到普遍使用,那如何使用 jmeter 来测试 Redis 数据库呢?今天我们就来讲一讲怎么使用 jmeter 来调用

[转帖]Jmeter笔记:使用Jmeter向kafka发送消息

https://www.cnblogs.com/daydayup-lin/p/14124816.html 日常工作中有时候需要向kafka中发送消息来测试功能或者性能,这时候我们怎么办呢?我之前是自己写个简单的python脚本来模拟发送消息的,其实用Jmeter来实现也比较简单方便。 1、我们必须有