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

简介: 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进行规格选择与性能压测。
相关文章
|
19天前
|
Ubuntu Java 测试技术
【Linux】一站式教会:Ubuntu(无UI界面)使用apache-jmeter进行压测
【Linux】一站式教会:Ubuntu(无UI界面)使用apache-jmeter进行压测
|
14天前
|
消息中间件 Java 测试技术
性能工具之Jmeter扩展函数及压测ActiveMQ实践
【5月更文挑战第18天】性能工具之Jmeter扩展函数及压测ActiveMQ实践
46 5
|
7天前
|
监控 数据可视化 测试技术
性能工具之JMeter+InfluxDB+Grafana打造压测可视化实时监控
【5月更文挑战第23天】性能工具之JMeter+InfluxDB+Grafana打造压测可视化实时监控
36 6
性能工具之JMeter+InfluxDB+Grafana打造压测可视化实时监控
|
8天前
|
分布式计算 Java Hadoop
HDFS 集群读写压测
在虚拟机中配置集群时,需设置每台服务器网络为百兆,以模拟实际网络环境。使用Hadoop的`TestDFSIO`进行HDFS性能测试,包括写入和读取数据。写测试中,创建11个128MB文件,平均写入速度为3.86 MB/sec,总处理数据量1408 MB,测试时间137.46秒。资源分配合理,传输速度超过单台服务器理论最大值12.5M/s,说明网络资源已充分利用。读测试主要依赖硬盘传输速率,速度快。测试完成后使用`TestDFSIO -clean`删除测试数据。
|
10天前
|
JSON JavaScript Java
性能工具之Jmeter压测Thrift RPC服务
【5月更文挑战第21天】性能工具之Jmeter压测Thrift RPC服务
25 1
|
12天前
|
网络协议 JavaScript 前端开发
性能工具之Jmeter压测Hprose RPC服务
【5月更文挑战第19天】性能工具之Jmeter压测Hprose RPC服务
29 5
|
19天前
|
测试技术 UED
PTS压测问题之资源准备好慢如何解决
PTS(Performance Testing Service)是一项面向网站、应用等提供的压力测试服务,用于模拟不同场景下的用户访问,评估系统的性能表现;在进行PTS压测时,可能会出现一些异常或报错,本合集将PTS压测中频繁出现的问题及其解决办法进行汇编,旨在帮助用户更有效地进行性能测试和问题定位。
254 1
|
19天前
|
Web App开发 Java 测试技术
秒懂HTTPS接口(JMeter压测篇)
【5月更文挑战第11天】秒懂HTTPS接口(JMeter压测篇)
26 2
秒懂HTTPS接口(JMeter压测篇)
|
19天前
|
JSON 网络协议 Java
使用Jmeter进行功能和性能测试
使用Jmeter进行功能和性能测试
|
19天前
|
数据可视化 Java 测试技术
JMeter 如何实现 Elasticsearch 8.X 性能测试?
JMeter 如何实现 Elasticsearch 8.X 性能测试?
22 0