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

当进行高并发性能测试的时候,受限于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性能测试:高并发分布式性能测试的更多相关文章

  1. jmeter性能测试-高并发分布式部署

    jmeter什么要做分布式部署? jmeter是运行在JVM虚拟机上的,当模拟大量并发时,对运行机器的性能/网络负载会很大. 此时就需要使用jmeter的分布式部署功能,实现多台被控机器同时并发访问被 ...

  2. Java互联网架构-直播互动平台高并发分布式架构应用设计

    概述 网页HTML 静态化: 其实大家都知道网页静态化,效率最高,消耗最小的就是纯静态化的 html 页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法, ...

  3. Redis实现高并发分布式锁

    分布式锁场景在分布式环境下多个操作需要以原子的方式执行首先启一个springboot项目,再引入redis依赖包: <!-- https://mvnrepository.com/artifa . ...

  4. Redis实现高并发分布式序列号

    使用Redis实现高并发分布式序列号生成服务 序列号的构成 为建立良好的数据治理方案,作数据掌握.分析.统计.商业智能等用途,业务数据的编码制定通常都会遵循一定的规则,一般来讲,都会有自己的编码规则和 ...

  5. 不懂这些高并发分布式架构、分布式系统的数据一致性解决方案,你如何能找到高新互联网工作呢?强势解析eBay BASE模式、去哪儿及蘑菇街分布式架构

    互联网行业是大势所趋,从招聘工资水平即可看出,那么如何提升自我技能,满足互联网行业技能要求?需要以目标为导向,进行技能提升,本文主要针对高并发分布式系统设计.架构(数据一致性)做了分析,祝各位早日走上 ...

  6. 服务端高并发分布式架构 ESB 企业服务总线

    服务端高并发分布式架构演进之路 - 个人文章 - SegmentFault 思否 https://segmentfault.com/a/1190000018626163 ESB 企业服务总线讲解 ht ...

  7. Redis高并发分布式锁详解

    为什么需要分布式锁 1.为了解决Java共享内存模型带来的线程安全问题,我们可以通过加锁来保证资源访问的单一,如JVM内置锁synchronized,类级别的锁ReentrantLock. 2.但是随 ...

  8. Java架构师系统培训高并发分布式电商实战activemq,netty,nginx,redis dubbo shiro jvm虚拟机视频教程下载

    15套java架构师.集群.高可用.高可扩 展.高性能.高并发.性能优化.Spring boot.Redis.ActiveMQ.Nginx.Mycat.Netty.Jvm大型分布 式项目实战视频教程 ...

  9. 高并发分布式环境中获取全局唯一ID[分布式数据库全局唯一主键生成]

    需求说明 在过去单机系统中,生成唯一ID比较简单,可以使用MySQL的自增主键或者Oracle中的sequence, 在现在的大型高并发分布式系统中,以上策略就会有问题了,因为不同的数据库会部署到不同 ...

  10. 使用Redis实现高并发分布式序列号生成服务

    序列号的构成 为建立良好的数据治理方案,作数据掌握.分析.统计.商业智能等用途,业务数据的编码制定通常都会遵循一定的规则,一般来讲,都会有自己的编码规则和自增序列构成.比如我们常见的身份证号.银行卡号 ...

随机推荐

  1. MySQL思维导图:MySQL的架构介绍

    MySQL的架构介绍(思维导图形式) MySQL简介 概述 MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性. ...

  2. 深入浅出Sqoop之迁移过程源码分析

    [摘要]Sqoop是一种用于在Apache Hadoop和结构化数据存储(如关系数据库)之间高效传输批量数据的工具 .本文将简单介绍Sqoop作业执行时相关的类及方法,并将该过程与MapReduce的 ...

  3. ISO/IEC 5055:软件代码质量的标尺

    摘要:ISO 5055是首个直接从软件内部结构方面衡量软件质量(如安全性和可靠性)的ISO标准.该标准基于统计安全性.可靠性.可维护性和性能效率方面的软件缺陷来衡量软件的结构质量. 本文分享自华为云社 ...

  4. Hudi自带工具DeltaStreamer的实时入湖最佳实践

    摘要:本文介绍如何使用Hudi自带入湖工具DeltaStreamer进行数据的实时入湖. 本文分享自华为云社区<华为FusionInsight MRS实战 - Hudi实时入湖之DeltaStr ...

  5. 云小课|云小课带你快速掌握云数据迁移CDM

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:欢迎来到云数据迁移 ...

  6. SpringBoot 拦截器 统一日志 记录用户请求返回日志

    你请求我接口,传了什么参数,我返回了什么值给你,全部记下来.防止扯皮 需求:记录每次用户请求Controller的Body参数, 思路:在每个Controller 该当中记录,容易漏记,如果在拦截器里 ...

  7. 玩转Python:用Python处理文档,5个必备的库,特别实用,附代码

    在Python中,有几个流行的库用于处理文档,包括解析.生成和操作文档内容.以下是一些常用的库及其简介和简单的代码示例: PyPDF2 - 用于处理PDF文件. 简介:PyPDF2是一个纯Python ...

  8. Tomcat--多实例

    配置信息 centos:7.8 tomcat:7.0.3 instans1:/usr/local/tomcat/instans1 8081 instans2:/usr/local/tomcat/ins ...

  9. VL02N、VL09交货单相关增强

    一.业务需求 当前台操作过账发货或冲销时,需要将数据实时同步到第三方系统,因此需要开发增强 在用户出口MV50AFZ1->userexit_save_document中加入接口逻辑即可 定期更文 ...

  10. LeetCode 第 193 场周赛 解题报告

    5436. 一维数组的动态和 时间复杂度:O(n) 知识点:前缀和 根据题目给出的公式 runningSum[i] = sum(nums[0]-nums[i]),可得: 当 i > 0 时,ru ...