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

当进行高并发性能测试的时候,受限于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. 笔记本为什么不出可升级CPU的,用台式CPU不行吗?

    我十几年年前的thinkpad 通过更换cpu复活了:联想ThinkPad E430c i3变i7:笔记本电脑CPU升级思路-CPU参数 为什么现在的市面上可以更换cpu的笔记本非常稀少呢? inte ...

  2. Odoo16—级联删除

    我们在odoo中构建业务系统模块的时候,通常会使用one2many.many2one或many2many将模型进行关联,由此产生的数据也会通过外键发生关联.那么在odoo中删除数据的时候,如何关联删除 ...

  3. 中国汽车工业协会 SDV 软件定义汽车服务 API 第三版下载

    开门见山,下载链接: https://files.cnblogs.com/files/tengzijian/SDV_API_Version3_Beta1_公众号:好记性如烂笔头.zip?t=16904 ...

  4. 中秋国庆花式玩法,用低代码DIY假日大屏“Vlog”

    ​​本文分享自华为云社区 <[云享热点]中秋国庆花式玩法,用低代码DIY假日大屏"Vlog"(内附节日福利)>,作者:华为云社区精选. 中秋.国庆双节将至,你的八天小长 ...

  5. 一文掌握GaussDB(DWS) SQL进阶技能:全文检索

    摘要:本文简要介绍了GaussDB(DWS)全文检索的原理和使用方法. 全文检索(Text search)顾名思义,就是在给定的文档中查找指定模式(pattern)的过程.GaussDB(DWS)支持 ...

  6. 云图说丨带你了解GaussDB(for Redis)双活解决方案

    摘要:GaussDB(for Redis)推出了双活解决方案,基于GaussDB NoSQL统一架构,通过两个数据库实例之间的数据同步,达成数据的一致性. 本文分享自华为云社区<[云图说]一张图 ...

  7. 火山引擎 DataTester:在广告投放场景下的 A/B 实验实践

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 "我知道在广告上的投资有一半是无用的,但问题是我不知道是哪一半." --零售大亨约翰·沃纳梅克 ...

  8. Jenkins + SVN/Git + Maven + Docker + 阿里云镜像 + Kubernetes(K8S)

    Jenkins 2361.2 + Maven Integration + SVN/GIT + Docker + 阿里云镜像 + Kubernetes(K8S) 本文用于学习,了解原理,和实际应用,有所 ...

  9. java -jar 启动 boot 程序 no main manifest attribute, in .\vipsoft-model-web-0.0.1-SNAPSHOT.jar

    想让你的windows下 cmd 和我的一样帅吗.下载 cmder 绿色版,然后用我的配置文件,替换原来的文件启动就可以了 另外加cmder添加到右击菜单中,到安装目录中,执行下面命令 Cmder.e ...

  10. xTestRunner

    高颜值测试报告-xTestRunner pip install XTestRunner # test_unit.py import unittest from XTestRunner import H ...