首页 > 其他分享 >JMeter 分布式集群远程压测及搭建常见问题

JMeter 分布式集群远程压测及搭建常见问题

时间:2023-09-24 17:12:53浏览次数:37  
标签:远程 常见问题 压测 server 节点 jmeter JMeter 分布式

1、JMeter可以在以下场景下使用分布式远程压测:

  1. 性能测试:JMeter可以模拟大量用户并发访问,进行性能测试。当需要模拟成千上万的用户请求时,单台机器可能无法承受如此大的负载,此时可以使用分布式远程压测来将测试负载分发到多台机器上,提高测试的效率和准确性。
  2. 稳定性测试:在一段时间内持续发送请求是稳定性测试中的一种场景。例如,可能需要持续压测几个小时甚至几天时间,查看接口是否有报错或者CPU、内存是否会上涨。通过分布式远程压测,可以在多台机器上分配压测任务,持续发送请求,提高稳定性测试的效果。
  3. 数据库操作:JMeter不仅可以作为接口自动化工具,还可以作为日常数据库操作的工具。当需要进行大量的数据库操作时,例如模拟用户在某一段时间内对数据库进行大量的读写操作,可以通过分布式远程压测来提高测试效率,减少测试执行时间。

2、JMeter分布式远程原理

  1.JMeter 分布式测试,选择节点来做调度服务器,其他的节点作为执行节点,通过调度节点管理其他节点;

  2.启动服务时,调度服务器会把脚本发送到各个执行节点(脚本会发送到执行节点,但是数据不会发送),执行节点拿到脚本开始执行命令;

  3.各个执行节点执行结束以后将结果回传给调度节点,调度节点进行数据汇总;

  4. 原理图

简单来讲: Jmeter分布式测试时,选择一台机器作为控制机,其他机器作为执行机。执行时,控制机会把脚本发到执行机上,执行机开始执行,执行完毕后,会把结果回传到控制机。

3、环境配置

1、我们使用Window做为压力机主机,Linux作为压力机从机,Win方便可视化执行 

2、Jmeter在主机控制器上添加配置,打开bin/目录下的  jmeter.properties 文件

remote_hosts=192.168.124.129,192.168.124.130
server_port=1099
server.rmi.ssl.disable=true

3、编辑从机节点的  jmeter.properties 文件(两个从机节点都需要配置)

server_port=1099   
server.rmi.ssl.disable=true
server.rmi.localport=1001

4、压力从机启动jmeter-server

注意:

1.如果你的Controller节点参与了请求,此时jmeter-server也需要启动;

2.执行的脚本进行文件参数化,此时需要存放在jmeter-server启动的相对位置路径,而不是你脚本存储的相对路径,首先执行的时候,Controller节点会对脚本下发,他会下发到jmeter-server启动的路径,而不是你脚本存放的路径

 5、压机主机启动远程,分布式远程

 Linux服务器显示如下:

 6、非GUI启动远程机器

名词解释

  • 启动指定Slave节点

         启动命令:jmeter -n -t api.jmx -R 192.168.124.129

 

 

  • 启动所有Slave节点(添加参数-r)

        启动命令:  jmeter -n -t api.jmx -r 

 

常见问题FAQ

执行 sh jmeter-server报错:

 原因为:

Jmeter远程启动该服务器报错:no such object in table

原因:

remote_hosts=192.168.124.129,192.168.124.130 (去掉端口即可,因为远程机的server.rmi.localport=1001 注释打开了,会默认取这里的端口)

标签:远程,常见问题,压测,server,节点,jmeter,JMeter,分布式
From: https://www.cnblogs.com/Teachertao/p/17725284.html

相关文章

  • Jmeter 监控服务器插件 ServerAgent,修改默认启动端口
    1、ServerAgent监控文件上传到Linux解压启动,sh startAgent.sh Jmeter启动监控,监控4444端口的服务器资源  2、修改startAgent.sh默认的端口 启动startAgent.sh Jmeter修改监控端口,启动查看数据 注意:Window修改和Linux一模一样的,只不过Window修改的是 startAg......
  • 修改jmeter的jvm参数
    加班途中开发问加的jvm参数怎么没生效,随即补一篇。 windowsjmeter.bat中,添加:setHEAP=-Xms2g-Xmx2g-XX:MaxMetaspaceSize=512msetGC_ALGO=-XX:+UseG1GC-XX:MaxGCPauseMillis=100-XX:G1ReservePercent=20 linuxjmeter中,添加:HEAP="-Xms2g-Xmx2g-XX:MaxMetaspa......
  • WebShell不能执行命令常见问题总结
    一:执行命令相关组件/函数/类和方法ASP:Wscript.shell,Shell.ApplicationASPX:ProcessStartInfo、Wscript.shell,Shell.Application...PHP:system,passthru,shell_exec,exec,popen,proc_open...JSP:Runtime.getRuntime().exec(command)...二:WebShell执行命令常见问题说明1.说明解决:可能是D盾,不......
  • WebShell不能执行命令常见问题总结
    一:执行命令相关组件/函数/类和方法ASP:Wscript.shell,Shell.ApplicationASPX:ProcessStartInfo、Wscript.shell,Shell.Application...PHP:system,passthru,shell_exec,exec,popen,proc_open...JSP:Runtime.getRuntime().exec(command)...二:WebShell执行命令常见问题说明1.说明解决:可能是D盾,不......
  • Jmeter安装使用
    JMeter是Apache组织开发的基于Java的开源软件,用于对系统做功能测试和性能测试。下载JMeter官网下载地址:http://jmeter.apache.org/download_jmeter.cgi它是绿色版无需安装,解压到本地目录即可。使用前提:需要安装JDK8以上才能使用JMeterJDK8安装与环境变量配置、使用DO......
  • jmeter 添加信息头管理器 设置cookies
    第一步:抓包找到信息头 ’ 第二步:设置http信息头管理器 有坑----避免跳入使用cookies管理器,它和信息头管理器不是一个东西  结果 完结撒花~~~......
  • 麒麟系统常见问题汇总(持续更新版)
    麒麟系统的软件商店自动更新问题麒麟系统安装Python3.9麒麟系统安装Typora......
  • jmeter压测问题
    1.http信息头的坑请求头设置如下:Content-Type=application/json;charset=UTF-8,登录接口成功,响应如下:  之后从别的地方粘贴一部分参数,再次请求,发现contenttype变成了text/html,而不是JSON格式了,于是再次请求登录会报错。经试验发现最后一行会以HTML格式去请求,所以问题排查需......
  • Jmeter5.4参数化上传文件提示系统找不到指定的文件的解决方法
    问题:java.io.FileNotFoundException:D:\A_JFKJ\A_a项目资料\1_20230906国家教育考试指挥系统V2.10\测试数据\报名_编排_考场对应\${username}-报名.xlsx(系统找不到指定的文件。) 解决方法:在文件路径${}参数化内容前方加反斜杠“\”即可解决  ......
  • 8-更大并、可混合接口模式压测的FastHttpUser
    FastHttpUser和HttpUser相比,这个类的运行占用更少压测机的CPU并且可以支撑更大的并发数,并且可以配合gevent类来实现接口混合模式压测(一个user在几乎同一时间并发多个api请求),直接上例子importtimefromgevent.poolimportPoolfromlocustimportFastHttpUser,taskdefa......