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

准备工作:
1.在所有机器上,安装相同版本的jmeter和JDK。
2.所有机器连接同一个网络。
3.把所有机器的防火墙关闭,否则很可能会连接失败。
 
步骤1:
修改master控制端:
1.修改master控制端的jmeter的bin目录下的jmeter.properties文件。
如图,在remote_hosts处添加负载机的IP+端口。
在server_port处添加本机服务器IP端口(如果控制端不作为负载机,可不添加)。
 

2.找到server.rmi.ssl.disable,把注释去掉,把false改为true。

步骤2:
修改slave负载机端:
1.与控制端一样,修改remote_hosts与server_port的IP端口。
该IP+端口就是之前添加在控制端remote_hosts里面的值。

2.同样找到server.rmi.ssl.disable,把注释去掉,把false改为true。

 
步骤3:
负载机启动server
所有slave负载机,在jmeter的bin目录下,打开jmeter-server.bat文件;
 

步骤4:
启动控制端master,执行性能测试。
这里为了演示,直接启动控制端的GUI(实际测试时需要使用命令行执行,下一步会讲到)。
在Run的Remote Start中,可以看到之前在控制端配置的IP,代表可选择的负载机。
执行Remote Start All,则会执行之前在控制端jmeter.properties文件中配置的所有虚拟机。
 
 

执行成功后,负载机的命令行会显示执行成功信息。
 

执行成功后,在控制端GUI的聚合报告可查看到执行结果。
 
 

步骤5:
使用命令行执行压力测试;
这很多人使用jmeter进行并发测试时,容易忽略了的一点:
在双击jmeter.bat文件启动GUI时,命令行已经提示,GUI仅适用于调试,不可用于负载测试。
 

如提示语,打开CMD命令行,输入如下:
jmeter -n -t [脚本路径] -l [结果文件路径] -e -n [web报告路径]
例如,笔者输入:
 jmeter -n -t C:\Users\user\Desktop\jmeterPerf.jmx -R 192.168.1.128:2088,192.168.1.114:2099 -lC:\Users\user\Desktop\jmeter\
result.txt -e -o C:\Users\user\Desktop\jmeter\webreport
 

使用命令行执行完并发性能测试后,即可在填写的路径下打开报告查看。

 
 
可能存在的报错:
 
1. Connection refused:connect 可能是防火墙未关闭,把控制机和负载机的防火墙都关闭即可。

2. Connection timed out 连接超时,可能机器未在同一个局域网,或者填写的IP端口错误。
检查是否IP+端口是否正确,检查负载机的server_port是否设置,是否存在冲突被占用。
 

 
3.Engine is busy 可能是异常退出等,导致被控负载机一直执行之前的测试,未释放进程。
可以尝试关闭负载机的java.exe进程,如果还不行,建议直接重启机器。

 
 
 
 
 
 

jmeter性能测试-高并发分布式部署的更多相关文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  8. 资深P7架构师详解淘宝服务端高并发分布式架构演进之路

    1. 概述 本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则. ...

  9. 服务端高并发分布式架构演进之路 转载,原文地址:https://segmentfault.com/a/1190000018626163

    1. 概述 本文以淘宝作为例子,介绍从一百个到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则. 特 ...

随机推荐

  1. 公式编辑器MathType之入门攻略

    许多时候在工作.学习,尤其是写文献时,需要在Word文档中输入较多公式,简单的公式或符号,可以借助Word自带的公式编辑器,但是,遇到较多并且复杂的公式,该如何高效解决呢?其实可以借助一款强大的公式编 ...

  2. Java Bean拷贝工具Orika原理解析

    最近面试被问及对象拷贝怎样才能高效,实际上问的就是Orika或者BeanCopier的原理.由于网上对Orika原理的解析并不太多-因此本文重点讲解一下Orika的原理.(Orika是基于JavaBe ...

  3. spring与分布式事务

    转载:https://www.cnblogs.com/qianjun2017/p/8349829.html 转载:https://blog.csdn.net/jaryle/article/detail ...

  4. H3CNE(教程)

    培训机构提供的ppt,可能也是来自于官方提供,涉及到H3CNE认证考试中的全部知识点,学真技术还得看这个.包括帧中继,哪怕是淘汰了十多年了. https://huxiaoyao.lanzous.com ...

  5. Django----View.py

    ·首先先下载安装包· pip install djangorestframework==3.11.1 pip install django-filter==2.3.0 # 过滤器 pip instal ...

  6. 20200416_Centos 7.2 在安装系统之前把数据备份出来

    第一种方法: 起因: 服务器强制断电, 然后就再也启动不起来了, 进入救援模式, 一直卡死在 charoot /mnt/sysimages; 然后想在救援模式下的shell中挂载我的2T的移动硬盘, ...

  7. [翻译自官方]什么是RDB和AOF? 一文了解Redis持久化!

    ​概述 本文提供Redis持久化技术说明,  建议所有Redis用户阅读. 如果您想更深入了解Redis持久性原理机制和底层持久性保证, 请参考文章 揭秘Redis持久化: http://antire ...

  8. moviepy音视频剪辑:追踪人脸打马赛克的三种实现方式

    ☞ ░ 前往老猿Python博文目录 ░ 一.引言 在moviepy官网的案例<Tracking and blurring someone's face>和CSDN的moviepy大神uc ...

  9. 转:http协议学习系列(响应头---Response Headers)

    HTTP最常见的响应头如下所示: ·Allow:服务器支持哪些请求方法(如GET.POST等): ·Content-Encoding:文档的编码(Encode)方法.只有在解码之后才可以得到Conte ...

  10. autojs websocket 核心示例代码,云控技术

    //初始化方法 function recordInit(scriptName){ //let ipInfoJson = getIP() // let ip = ipInfoJson.cip // le ...