分布式压测jmeter

news/2024/10/15 10:00:54

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 注释打开了,会默认取这里的端口
 
=============================================================================
其他资料:
ps -ef | grep jmeter | awk '{print $2}' | xargs kill -9
 
https://jmeter.apache.org/usermanual/remote-test.html
 
jmeter.apache.org
 
jmeter.apache.org
Apache JMeter - User's Manual: Remote (Distributed) Testing
Main content About Overview License Download Download Releases Release Notes Documentation Get Started User Manual Best Practices Component Reference Functions Reference Properties Reference Change Hi
 
 
 
jmeter -n -t <测试 JMX 文件> -l <测试日志文件> -e -o <输出文件夹路径> https://jmeter.apache.org/usermanual/generating-dashboard.html
 
jmeter.apache.org
 
jmeter.apache.org
Apache JMeter - User's Manual: Generating Dashboard Report
Main content About Overview License Download Download Releases Release Notes Documentation Get Started User Manual Best Practices Component Reference Functions Reference Properties Reference Change Hi
 
 
 
jmeter -n -t test.jmx -r -l test.jtl -e -o htmldir
 
 
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/71731.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

从零开始学机器学习——初探分类器

首先给大家介绍一个很好用的学习地址:https://cloudstudio.net/columns 在上一节中,我们已经完成了对所有经过均衡和清洗的菜品数据的准备工作。接下来,我们将考虑使用多种算法,也就是不同的分类器,来构建模型。我们将利用这个数据集和各种分类器,基于一组特定的配料,预…

鸿蒙Next第三次充电

1、Navigation 的样式是一个带有返回箭头的标题栏加子控件组成的。 2、页面跳转可以分为页面内跳转和页面间跳转,页面内跳转是指所跳转的页面在同一个 Ability 内部,它们之间的跳转可以使用 Router 或者 Navigator 的方式;页面间跳转是指所跳转的页面属与不同的 Ability ,这…

DAPLINK 之基于 AIR32F103 制作

目录1 资源2 生成指定工程2.1 Setup2.2 生成工程3 构建 DAPLink3.1 构建 stm32f103xb_bl3.2 编译 stm32f103xb_stm32f103rb_if4 测试 DAPLINK参考附录:STM32 丝印 1 资源1)官方仓库地址:https://github.com/ARMmbed/DAPLink.git 2)硬件:AIR32F103CBT62 生成指定工程这里以…

DAPLINK 之仿真调试器介绍

目录前言1 协议1.1 JTAG 协议1.2 SWD 协议2 调试仿真器2.1 ST-Link 仿真器2.2 ULink 仿真器2.3 J-Link 仿真器2.4 DAPLINK 仿真器3 LINKer 搭配 CLion 的使用3.1 ST-Link + CLion + STM32F103RCT63.2 DAPLINK + CLion + STM32F103RCT6参考 前言本文算是 DAPLINK 学习的一个引子…

VU9P处理板设计原理图:412-基于单XCVU9P+双DSP C6678的双FMC接口 100G光纤传输加速计算卡

基于单XCVU9P+双DSP C6678的双FMC接口 100G光纤传输加速计算卡一、板卡概述 板卡包括一片Xilinx FPGA XCVU9P,两片 TI 多核DSP TMS320C6678及其控制管理芯片CFPGA.设计芯片满足工业级要求。 FPGA VU9P 需要外接4路QSFP+(100Gbps)及其两个FMC HPC接口。DSP需要外接两路千兆以太…

信息论、机器学习的核心概念:熵、KL散度、JS散度和Renyi散度的深度解析及应用

在信息论、机器学习和统计学领域中,KL散度(Kullback-Leibler散度)作为一个基础概念,在量化概率分布差异方面发挥着关键作用。它常用于衡量当一个概率分布用于近似另一个概率分布时的信息损失。本文将深入探讨KL散度及其他相关的重要散度概念。KL散度 KL散度,也称为相对熵,…

聊聊如何实现一个特别的责任链

前言什么是责任链责任链是一种设计模式,它让多个对象有机会处理同一个请求,这些对象形成一个链。请求从链的一端开始,逐个传递给链上的对象,直到某个对象处理它或者请求未被处理。这样,发送请求者无需知道哪个对象会处理,实现了发送者与接收者的解耦,增加了系统的灵活性…

修改网站源代码的步骤

修改网站源代码通常涉及以下几个步骤:备份现有代码:在进行任何更改之前,确保对当前的源代码进行完整备份。这有助于在出现问题时恢复到修改前的状态。获取源代码:通过FTP/SFTP、Git或其他版本控制系统将网站源代码下载到本地计算机上。分析需求:明确你需要做出哪些具体修改…