性能常识 【不懂就问】关于 jmeter 中阶梯加压插件 Stepping Thread Group 使用问题(分布式压测貌似不支持),欢迎大家一起讨论

Hao123 · 2022年11月08日 · 最后由 我去炒饭 回复于 2022年11月10日 · 6937 次阅读

1.分布式阶梯压测截图:4 台压测机 1 台控制机,选用这个 Stepping Thread Group 插件使用,线程设置 100,如果按照正常理解:分布式测试时,总线程=100*4,那么 Active Threads Over Time 这个插件中看到的线程数应该是 400 才对,现在是 100。所以想问问大家, stepping thread group 插件是不是只适用于单客户端进行阶梯式压测,不适合分布式压测。因为当用于分布式压测时,管控机的控制台只能显示单个客户端的测试结果,而不是汇总起来。
2.如果分布式确实不支持这个插件的话,那请问广大朋友们,如果要用分布式压测 还有其他好的方法吗?是不是只有按普通模式,加正常的线程组,然后设置不同的线程数 + 同步定时器去测?

运行 5 分钟后压测截图(吞吐量,tps 都比较低):

单台压测机,使用阶梯加压插件(由于报错太多,没跑够 5 分钟):
测试截图:




出现这个报错:java.net.BindException: Address already in use: connect
已经按照百度方法把注册表中的 MaxUserPort,value:65534(十进制)–> 设置最大连接数 65534;TCPTimedWaitDelay,value:30(十进制)–> 设置为 30 秒,默认是 240 秒;重启电脑后,还是会出现此报错(也不知道还有什么原因会导致了)

共收到 20 条回复 时间 点赞

帮顶一下,分布式压测用得比较少,不大好解答。

建议你在 Linux 上去压测,Jmeter 在 Windows 下对于端口的回收是存在问题的。我也之前也遇到过。你可以用 netstat 观察下,会有比较多的 time_wait。放在 Linux 上就好了。

另外 ,Windows 的可用端口也没有 65535 那么多。

不懂就问:分布式部署时脚本设置线程组或者说压力是预设值 * 压测机个数吗?

啥是分布式压测?有点迷糊,如果把被压测的服务器看成一个整体,分布式压测的意思是不是多台 “发压机” 去压同一个服务暴露出来的 ip 地址才叫分布式压测?

阶梯压测不支持分布式

瞎回答一下:会不会是 jmeter 这个显示就只代表本机的数据,我记得好像是在压测结束后,slave 才会把数据统一返回和 master 去做分析。试想一下,作为 master 自己既要压测干活,还要在压测的时候接受 slave 的数据信息去处理,其实是干不过来的。

对,比如压测 2000 线程,如果分布式有 2 台压测机,就需要在主控机上线程设置 1000 就可以了。1000*2,然后远程启动所有

CKL的思考 回复

行,我到时试试,之前刚让把 linux 服务器改了几台成 window 专门用来压测😂

我去催饭 回复

采用分布式的目的是为了在压测的过程中,确保压力机不会出现性能瓶颈比如由于线程多,单台 jmeter 压测时容易死机或者多次卡顿,cpu 占用高等情况,当出现性能瓶颈进行性能分析时,不需要考虑压力机是否会导致性能瓶颈的主要原因之一。所以就采用多台相同环境的压测机一起去压被测服务器

Hao123 #10 · 2022年11月09日 Author
hope1 回复

我看的也像不支持,那如果分布式压测,有好的办法去阶梯加压吗?还是就用普通线程慢慢增加线程数去测?

Hao123 #11 · 2022年11月09日 Author
王稀饭 回复

我主控机和压测机是分开的,控制机只用来编写脚本和收集负载机的压测结果。如果用普通线程组模式能看出是分布式操作,但是用这个阶梯加压插件,走势就只能看出是单台压测机的

Hao123 回复

发压机器自己还会卡顿?没有遇到过呐

Hao123 #13 · 2022年11月09日 Author
我去催饭 回复

并发量大的时候就会卡了,我上次试过单机 5000 并发,jmeter 直接卡的不动,需要强制关闭

jmeter 的话使用 Concurrency Thread Group 这个吧,比较好使

windows 适合用来调试脚本和查看结果,不太适合直接用来压测,建议先把压测机换成 linux,然后确认一下大概能够支持的最大线程数是多少,在根据场景选择压测方式,不一定非要用分布式

从机的 Stepping Thread Group 插件装了么。分布式压测是将整个脚本的 HashTree 推到从机

Hao123 回复

试试 rps

Hao123 #18 · 2022年11月10日 Author
大林 回复

装了,这几台电脑的 jmeter 包都是直接复制粘贴过去的,所有配置及下载的插件安装都一模一样

Hao123 #19 · 2022年11月10日 Author

jmeter 的压测机和控制机在同一网段,电脑的性能和配置都一致,那建议是在 linux 还是 window 上压测?由于运维帮我改了几台 window 服务器专门用来压测的,且这几台电脑环境配置都弄完了,如果再到 linux 下载安装,感觉还挺麻烦的😂
或者我用 window 非 gui 模式压测也可以,用 grafana 进行监控,大家觉得可行吗?

可以试试这个线程组 bzm - Concurrency Thread Group

需要 登录 後方可回應,如果你還沒有帳號按這裡 注册