5分钟内快速搞定Jmeter集群压测环境~

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 5分钟内快速搞定Jmeter集群压测环境~

背景

因业务需要简单的单机压测已经满足不了我们的需求,故而搭建一套集群压测环境。

单机VS集群

单机压测:就是一个人,我们暂且叫他【张三】,各种干活,干的满头大汗气喘吁吁,能力已经到达极限,结果显而易见,不太理想;


张三累啊,感到了生活的不容易,他矜矜业业干活,日复一日,年复一年,终于攒够了第一桶金,完成了原始积累~


有了钱的张三,一咬牙一狠心一跺脚,顾了两个小工,让小工来干活,自己来收集结果做决策。


集群压测:一主多从,意思就是一个主人和N个仆人,主人不干活就等着收集结果,一群仆人忙前忙后的打杂搬砖。【一台做master,两台做agent】

配置

  • 为了直观的看出修改配置文件的路径,这里用mac电脑来演示一下效果,找到jmeter.properties文件修改,如下图

apache-jmeter-5.4.1/bin目录下的jmeter.properties文件修改【mac和其他端好像不一样】


master机配置【张三配置】

  • remote_hosts=agent机器的IP:端口

如remote_hosts=10.237.0.108:1099,10.237.0.110:1099

  • server.rmi.ssl.disable=true

true字母一定拼写正确,写成ture就坑了,一定注意!!!


slave 机配置【仆人配置】

  • remote_hosts=master机器IP
  • server.rmi.ssl.disable=true


启动

将写好的jmx文件同时放到master/slave机器上

  • 命令行启动
jmeter -n -t /Users/murphy/Desktop/test.jmx -r -l /Users/murphy/Desktop/jtl/test.jtl -e -o /Users/murphy/Desktop/result
  • 参数解析
#执行默认服务器列表
-r 
#执行指定服务器列表
-R 10.237.12.21:1099,10.237.12.22:1099


踩坑


java.rmi.ServerException

  • 问题所在:server.rmi.ssl.disable=true中,「true写成了ture」
  • 解决方法:jmeter.properties文件中设置server.rmi.ssl.disable=true


slave机器拒绝连接

  • 问题所在:端口被占用;slave机jmeter服务未启动
  • 解决方案:
#查看1099的端口是否开启
netstat -ntpl
#启动jmeter服务【错误输出重定向正确输出】
nohup sh jmeter-server >> jmeter.logfile 2>&1 &


Server failed to start...is a loopback address

WARNING: package sun.awt.X11 not in java.desktop
Created remote object: UnicastServerRef2 [liveRef: [endpoint:[127.0.0.1:50519](local),objID:[-71690af6:17b29b6ede6:-7fff, 7852788065207753795]]]
Server failed to start: java.rmi.RemoteException: Cannot start. murphydeMac-mini.local is a loopback address.
An error occurred: Cannot start. murphydeMac-mini.local is a loopback address.
  • 问题所在:salve机器remote_hosts设置未生效
  • 解决方案:
#启动jmeter服务指定master机ip地址
nohup sh jmeter-server -Djava.rmi.server.hostname=10.237.0.107>> jmeter.logfile 2>&1 &


相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
3月前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
【10月更文挑战第1天】Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
177 3
|
4月前
|
测试技术 数据库 UED
Python 性能测试进阶之路:JMeter 与 Locust 的强强联合,解锁性能极限
【9月更文挑战第9天】在数字化时代,确保软件系统在高并发场景下的稳定性至关重要。Python 为此提供了丰富的性能测试工具,如 JMeter 和 Locust。JMeter 可模拟复杂请求场景,而 Locust 则能更灵活地模拟真实用户行为。结合两者优势,可全面评估系统性能并优化瓶颈。例如,在电商网站促销期间,通过 JMeter 模拟大量登录请求并用 Locust 模拟用户浏览和购物行为,可有效识别并解决性能问题,从而提升系统稳定性和用户体验。这种组合为性能测试开辟了新道路,助力应对复杂挑战。
133 2
|
5月前
|
测试技术 持续交付 Apache
深度挖掘:Python性能测试中JMeter与Locust的隐藏技能🔍
【8月更文挑战第5天】随着软件规模扩大,性能测试对系统稳定性至关重要。Apache JMeter和Locust是两大主流工具,各有千秋。本文探索它们在Python环境下的进阶用法,挖掘更多性能测试潜力。JMeter功能强大,支持多种协议,可通过命令行模式执行复杂测试计划,并与Python集成实现动态测试数据生成。Locust基于Python,通过编写简洁脚本模拟HTTP请求,支持自定义请求及与Python库深度集成。掌握这些技巧可实现高度定制化测试场景,有效识别性能瓶颈,提升应用稳定性。
134 1
|
5月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【8月更文挑战第5天】性能测试确保应用高负载下稳定运行。Apache JMeter与Locust是两大利器,助力识别解决性能瓶颈。本文介绍这两款工具的应用与优化技巧,并通过实战示例展示性能测试流程。首先,通过JMeter测试静态与动态资源;接着,利用Locust的Python脚本模拟HTTP请求。文中提供安装指南、命令行运行示例与性能优化建议,帮助读者掌握性能测试核心技能。
147 0
|
2月前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
105 3
|
2月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
65 1
|
4月前
|
缓存 Java 测试技术
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
使用JMeter对项目各个接口进行压力测试,并对前端进行动静分离优化,优化三级分类查询接口的性能
125 10
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
|
3月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【10月更文挑战第1天】告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
93 4
|
4月前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
【9月更文挑战第10天】随着软件应用的不断扩展,性能测试成为确保系统稳定运行的关键环节。本文通过对比Apache JMeter和Locust,探讨了如何在Python环境中利用这两款工具挖掘更多性能测试潜力。JMeter是一款成熟且功能强大的开源工具,支持多种协议,适用于各种应用的测试;而Locust则基于Python,通过简单脚本模拟HTTP请求,更适合Web应用测试。
112 3
|
4月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【9月更文挑战第5天】性能测试是确保应用在高负载下稳定运行的关键。本文介绍Apache JMeter和Locust两款常用性能测试工具,帮助识别并解决性能瓶颈。JMeter适用于测试静态和动态资源,而Locust则通过Python脚本模拟HTTP请求。文章详细讲解了安装、配置及使用方法,并提供了实战案例,帮助你掌握性能测试技巧,提升应用性能。通过分析测试结果、模拟并发、检查资源使用情况及代码优化,确保应用在高并发环境下表现优异。
93 5