压测必经之路,Jmeter分布式压测教程!

01、分布式压测原理

Jemter分布式压测是选择其中一台作为调度机(master),其他机器作为执行机(slave);当然一台机器也可以既做调度机,也做执行机。

调度机执行脚本的时候,master将会jmx脚本分发到slave上,slave拿到脚本后以非GUI的形式开始执行。

slave执行完毕后将结果回传给master,并由master进行结果的汇总。

0 2 、环境搭建

2.1 环境准备

master:Windows10,JMeter版本5.1.1,jdk版本1.8;

slave:2台linux虚拟机(CentOS 7),JMeter版本与master一致,5.1.1,jdk版本1.8;

总结:slave上JDK和Jmeter版本尽量和master上保持一致。

2.2 slave机器配置

关闭各slave机器上防火墙

systemctl stop firewalld

关闭各slave机器上SSL配置。RMI的默认传输机制将使用SSL,SSL需要密钥和证书才能工作。

解决方法有两种:一种是启动bin目录下的create-rmi-keystore脚本,另一种是不使用SSL。这里采用第二种。

修改bin目录下的jmeter.properties文件vim jmeter.propertiesserver.rmi.ssl.disable=true

进入bin目录下编辑文件

将注释去掉且值改为true

设置服务器主机IP

编辑bin目录下的jmeter-server文件,取消RMI_HOST_DEF的注释项,固定设置当前Linux主机查询到的IP。

进入bin目录下编辑文件

取消注释且修改IP

启动Jemter服务

启动bin目录下的jmeter-server文件

2.3 master机器配置

修改配置文件

打开bin目录下的jmeter.properties文件,修改remote_hosts的值。修改为两台salve机器的ip及端口。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036【暗号:csdn999】

0 3 、脚本及执行

3.1 参数化问题

如果脚本中使用到参数化文件,需要将CSV参数化文件上传到各个salve机器上,且路径要相同,然后再脚本CSV文件路径这里配置对应的参数。

3.2 GUI启动测试

运行->远程启动。查看配置的salve机器IP

运行->远程启动所有。启动分布式压测

3.3 命令行启动测试

上面是使用GUI图形上去启动slave机器去运行压测,也可以直接通过命令行启动压测并生成报告。

jmeter -n -t G:\Test\1.1login_linux.jmx -l G:\Test\result\1.jtl -e -o G:\Test\html\1 -R 192.168.30.132:1099,192.168.30.130:1099

jmeter -n -t jmx脚本路径 -l jtl文件路径 -e -o 报告路径 -R salve的IP地址:端口,salve的IP地址:端口

需要注意的是,执行命令中的jtl文件路径和报告路径需要是不存在,否则会出错。


END今天的分享就到此结束了,点赞关注不迷路
相关推荐
sszmvb12343 分钟前
测试开发 | 电商业务性能测试: Jmeter 参数化功能实现注册登录的数据驱动
jmeter·面试·职场和发展
测试杂货铺9 分钟前
外包干了2年,快要废了。。
自动化测试·软件测试·python·功能测试·测试工具·面试·职场和发展
材料苦逼不会梦到计算机白富美1 小时前
golang分布式缓存项目 Day 1
分布式·缓存·golang
想进大厂的小王1 小时前
项目架构介绍以及Spring cloud、redis、mq 等组件的基本认识
redis·分布式·后端·spring cloud·微服务·架构
Java 第一深情1 小时前
高性能分布式缓存Redis-数据管理与性能提升之道
redis·分布式·缓存
测试界萧萧1 小时前
外包干了4年,技术退步太明显了。。。。。
自动化测试·软件测试·功能测试·程序人生·面试·职场和发展
小码哥说测试2 小时前
接口测试用例设计的关键步骤与技巧解析!
自动化测试·测试工具·jmeter·职场和发展·测试用例·接口测试·postman
ZHOU西口3 小时前
微服务实战系列之玩转Docker(十八)
分布式·docker·云原生·架构·数据安全·etcd·rbac
zmd-zk3 小时前
kafka+zookeeper的搭建
大数据·分布式·zookeeper·中间件·kafka
小钱c75 小时前
Mac下安装Apache JMeter并启动
jmeter·macos·apache