Jmeter压力测试之分布式测试自定义slave端口

简介: Jmeter压力测试之分布式测试自定义slave端口

jemter本身是开源的。自己软件内存和性能是有限制的,再加上电脑的CPU或者内存原因,有时候压力测试时模拟的线程数过多(几千几万)会导致软件卡死或者反应很慢(内存溢出)。单纯只使用jemeter来进行压测时,最好是使用分布式压测,就是一台master调度机和多台slave执行机。在执行时调度机会将请求脚本发给每一个执行机,执行机就会运行脚本,将结果传给调度机。

注意事项:

1、调度机(master)和执行机(slave)最好分开,由于master需要发送信息给slave并且会接收slave回传回来的测试数据,所以master自身会有消耗,所以最好是单独用一台机器作为master调度机。

2、参数文件:如果使用参数化,那么需要把参数文件在每台slave上拷一份且路径需要设置成一样的。

3、每台机器上安装的Jmeter版本和插件最好都一致,否则会出一些意外的问题。

 

 

我在实际过程中使用这种方法,也使用过阿里云的PTS(要花钱),在本地的Jmeter上调试好了将脚本和参数文件等上传到阿里云的PTS-Jmeter原生压测中就可以了,不过不同价格套餐的会限制上传的文件数量。

 

一、Jmeter分布式执行原理:

  1、Jmeter分布式测试时,选择其中一台作为调度机(master),其它机器做为执行机(slave)。

  2、执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行,slave执行时不需要启动GUI,是通过命令行模式执行的。

  3、执行完成后,slave会把结果回传给master,master会收集所有slave的信息并汇总。

 

二、执行机(slave)配置:

  1、slave机上需要安装Jmeter的,并且版本或者插件一定要和master上的一致。

  2、添加环境变量:JMETER_HOME=D:\work\apache-jmeter-4.0,此处为自己电脑上Jmeter的路径。

  3、启动bin目录下的:jmeter-server.bat.


  4、启动后IP和端口会在master里配置时用到。就是上图框框里的。IP就是slave机器IP,端口默认是1099,端口也可以自定义,这里我自定义为1888。

  5、多台slave的话,就在每台slave上都执行步骤1-4即可。

 

 微信图片_20191118164059.png (962×322.png

三、自定义端口:

  1、slave:在slave机的Jmeter的bin目录下,找到jmeter.properties文件,修改如下两个配置项,比如我这里修改为1888:

      server_port=1888

      server.rmi.localport=1888

 

  2、启动slave机上的jmeter-server.bat

 

  3、master:修改master机器的jmeter.properties文件:

      remote_hosts=192.168.3.103:1888

 

  4、重启jmeter.bat,选择运行-->远程启动:就可以看到端口已经变了

jmeter_salve.png (938×312).png

四、调度机(master)配置:

1、脚本:先录制或者自己配置请求。

 

2、找到Jmeter的bin目录下jmeter.properties文件,修改如下配置,IP和Port是slave机的IP以及自定义的端口:

        remote_hosts=192.168.3.103:1888

 如果有多台slave,每个端口后面就用","隔开。比如:192.168.3.103:1888,192.168.3.120:1009

3、打开Jmeter,选择运行,有远程启动、远程全部启动两个选项,如果想要指定某些执行机,就选择远程启动,点击指定的IP。

4、我这里只有一个,所以选择远程启动和远程全部启动是一样的;选择远程启动-->192.168.3.103:1888

 

 

 

 

 

 

相关文章
|
11月前
|
前端开发 Java jenkins
Jmeter压力测试工具全面教程和使用技巧。
JMeter是一个能够模拟高并发请求以检查应用程序各方面性能的工具,包括但不限于前端页面、后端服务及数据库系统。熟练使用JMeter不仅能够帮助发现性能瓶颈,还能在软件开发早期就预测系统在面对真实用户压力时的表现,确保软件质量和用户体验。在上述介绍的基础上,建议读者结合官方文档和社区最佳实践,持续深入学习和应用。
2137 10
|
数据可视化 测试技术 API
JMeter、Apipost 与 Postman 的 API 测试对比:为什么 APIPost 是更聪明的选择
API测试如同筹备一场晚宴,选对工具至关重要。JMeter功能强大但上手难,适合专业用户;Postman简单易用,但在复杂场景和团队协作中表现有限;而Apipost则是一款智能高效的“厨房神器”。它性能测试轻松、结果清晰、学习门槛低,并且能一键集成CI/CD流程。对于追求效率与便捷的团队而言,Apipost无疑是更优选择,让API测试如同五星大厨烹饪般丝滑流畅。
|
缓存 网络协议
Jmeter如何对UDP协议进行测试?
`jmeter-plugins`是JMeter的插件管理器,用于管理和组织所有插件。访问[官网](https://jmeter-plugins.org/install/Install/)下载并放置于`lib/ext`目录下,重启JMeter后可在“选项”中看到插件管理器。
669 1
Jmeter如何对UDP协议进行测试?
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
655 3
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
752 1
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【10月更文挑战第1天】告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
535 4
|
缓存 NoSQL Ubuntu
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
318 3
|
存储 数据采集 分布式计算
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
376 1
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
1631 23