Jmeter分布式压测-controller报错: Engine is busy - please try later

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter分布式压测-controller报错: Engine is busy - please try later相关的知识,希望对你有一定的参考价值。

参考技术A

在使用jmeter进行分布式压测的时候,controller远程启动全部的时候会等待几分钟后,出现报错: Engine is busy - please try later ;slave出现的错误是"connection refused",拒绝请求;可以尝试的解决办法是:在slave的jmeter-server里配置指定本机地址;或者是关闭slave上的防火墙;可是我这么做之后,问题还是一样;
那么就就可以判断问题不是出在slave上,然后我就开始在controller里调试;然后我本机开启了jmeter-server.bat,然后对controller的jmeter-server.bat进行远程调用;发现脚本是可以正常运行的;最后发现 controller的防火墙没关闭 ;我也是醉了,没想到controller的防火墙也会影响到jmeter分布式请求;

以下是自己一些(不懂架构的不成熟的)猜想:
防火墙的目的是为了拦截一些不知道啥的请求,对外也会拦截,那么同理,对内也是要拦截的;挺反人类的;
以后要是遇到服务器与客户端之间的通信时,那么最好是关闭防火墙;保平安;

Jmeter分布式压测

一台机器支持的并发有限,如果并发数比较多时,就需要使用多台计算机同时进行压测。

这就需要Jmeter的分布式压测

1.在主控机上保存好脚本

技术分享图片

2.在压力机上安装jdk和Jmeter,启动bin目录下的jmeter-server.bat

技术分享图片

3.修改主控机bin目录下的 jmeter.properties,找到remote_hosts,后面加上压力机的ip地址:端口号(默认为1099)

技术分享图片

4.重新启动Jmeter,运行-->远程启动或远程全部启动,就可以多台计算机同时进行压测

技术分享图片

在命令行下运行Jmeter

1.现在Windows图形界面中设置好脚本、并发数、执行时间等

2.可以把脚本文件放到bin目录下(执行时可以不用加路径)也可以在其他目录下(执行时需要加绝对路径)

3.jmeter -n -t /usr/local/xxx.jmx -l /usr/local/xxx.jtl

-n的意思是没有图形化界面运行
-t的意思就是指定运行哪个脚本
-l的意思是运行结果保存哪个文件里面

4.查看结果:在图形化界面中运行Jmeter,添加聚合报告等,导入生成的.jtl文件即可



以上是关于Jmeter分布式压测-controller报错: Engine is busy - please try later的主要内容,如果未能解决你的问题,请参考以下文章

性能压测之 Linux下 jmeter 集群

jmeter分布式压测

Jmeter分布式执行报错解决方法汇总

10_jmeter压测时jmeter报错socket closed

第一周:jmeter分布式压测简介

Jmeter分布式压测