压测篇-jmeter 集群压测环境搭建&常见问题

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

性能测试:JMeter可以模拟大量用户并发访问,进行性能测试。当需要模拟成千上万的用户请求时,单台机器可能无法承受如此大的负载,此时可以使用分布式远程压测来将测试负载分发到多台机器上,提高测试的效率和准确性。
稳定性测试:在一段时间内持续发送请求是稳定性测试中的一种场景。例如,可能需要持续压测几个小时甚至几天时间,查看接口是否有报错或者CPU、内存是否会上涨。通过分布式远程压测,可以在多台机器上分配压测任务,持续发送请求,提高稳定性测试的效果。
数据库操作: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 注释打开了,会默认取这里的端口)

                        

原文链接:https://blog.csdn.net/t13237652134/article/details/133244830

Jmeter集群部署-CSDN博客

性能测试:JMeter分布式压测环境部署(windows&linux)_jemete控制机和工作机同时测试-CS
DN博客






 

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Linux环境下搭建JMeter分布式压测环境时,可能会遇到一些问题。其中一个常见问题是启动./jmeter-server时出现"Cannot start. localhost.localdomain is a loopback address"的错误信息。解决这个问题的方法是编辑jmeter-server文件,设置固定的代理服务器主机IP。具体步骤如下: 1. 打开Linux中的jmeter-server文件: ``` cd /opt/apache-jmeter-4.0/bin vi jmeter-server ``` 2. 在jmeter-server文件中找到RMI_HOST_DEF这一行,并取消注释: ``` # One way to fix this is to define RMI_HOST_DEF below RMI_HOST_DEF=-Djava.rmi.server.hostname=192.168.248.130(当前机器ip) ``` 将当前Linux主机查询到的IP地址填入RMI_HOST_DEF的值中。 另外,还需要确保CLASSPATH环境变量正确设置。可以使用以下命令设置CLASSPATH: ``` export CLASSPATH=${JMETER}/lib/ext/ApacheJMeter_core.jar:${JMETER}/lib/jorphan.jar:$JMETER/lib/logkit-2.0.jar:${CLASSPATH} ``` 此外,还需要在jmeter.properties文件中进行一些配置。可以通过编辑jmeter.properties文件,将以下配置项设置为true: ``` jmeter.save.saveservice.output_format=xml jmeter.save.saveservice.response_data=true jmeter.save.saveservice.samplerData=true jmeter.save.saveservice.requestHeaders=true jmeter.save.saveservice.url=true jmeter.save.saveservice.responseHeaders=true ``` 通过以上步骤,你就可以在Linux环境下成功搭建JMeter分布式压测环境了。 #### 引用[.reference_title] - *1* [Linux环境下搭建jmeter分布式压测](https://blog.csdn.net/shanezhijian/article/details/124668524)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Jmeter分布式压测环境搭建](https://blog.csdn.net/weixin_51084345/article/details/127261500)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值