0
点赞
收藏
分享

微信扫一扫

Radash 中文文档 整理常用 API

为什么要分布式并发?

JMeter性能实践过程中,一旦进行高并发操作时就会出现以下尴尬场景,JMeter客户端卡死、请求错误或是超时等,导致很难得出准确的性能测试结论。

目前知道的有两个方法可以解决JMeter支撑高并发:

一是将JMeter部署在Linux服务器上,可以支撑的并发量远大于windows客户端,极少出现JMeter客户端卡死的情况;

另外一种方式就是今天要介绍的分布式。

简单来说,分布式就是将一次大的操作分布在多个服务器上,由多个服务器来承担负载压力。分布式并发的原理详见下图:在这里插入图片描述

分布式并发实现步骤

打开JMeter,在运行->远程启动,可以看到只有“127.0.0.1”因此首先要在主压力机上配置远程负载机的IP,配置步骤如下:

1、Master(主压力机)在jmeter.properties中添加remote_hosts。

配置路径:…\apache-jmeter-3.2\bin 路径下的jmeter.properties。

remote_hosts=127.0.0.1 后面增加远程负载机的ip和端口号,如果需要添加多个,用逗号分隔就可以。

例如:remote_hosts=192.168..:1099,192.168..**:1099。

2、Slave(远程负载机)在jmeter.properties中添加server_port:

server_port=1099
server.rmi.localport=1099

备注:这里的端口号可以自定义,只要与主压力机里面配置的一致即可。

3、Slave(远程负载机)启动Jmeter-server,启动成功后如下图所示:在这里插入图片描述

 配置完成后重启主压力机,查看远程启动,可查看到配置的远程负载机IP,如下图:在这里插入图片描述

添加一个接口,进行远程启动:

1、添加一个线程组,然后添加一个Sampler里的HTTP请求:在这里插入图片描述

2、以百度为例,添加监听器->查看结果树:在这里插入图片描述
3、点击运行->远程全部启动,运行后查看结果树:
在这里插入图片描述

截至目前,分布式并发的配置已经完成,如果需要添加多台远程负载机,重复以上操作即可。

遇到问题

配置过程虽然很简单,但是也不是一帆风顺,在远程启动时遇到了拒绝连接的问题,如下截图显示:在这里插入图片描述

遇到这种情况时,可能存在多种因素,可以参考以下步骤逐一排查:

1、远程负载机的Jmeter-server是否启动成功;

2、远程负载机是否处于联网状态;

3、防火墙是否处于关闭状态;

4.主压力机和远程负载机的JMeter版本是否一致。

在实战过程中也出现了这个问题,经过一番排查终于找到问题原因,是因为远程负载机上启动JMeter时,用jmeter.bat进行的启动,而不是jmeter-server.bat。

希望大家不要犯这样低级的错误。

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

举报

相关推荐

0 条评论