myzhan / boomer

A better load generator for locust, written in golang.
MIT License
1.18k stars 242 forks source link

boomer能否支持原py版本的--processes参数 #203

Closed eedwinhei closed 3 months ago

eedwinhei commented 3 months ago

RT

测试场景:使用boomer作为worker压测试,单个worker能否像py版本一样支持通过--processes参数设置单个worker的并发上限? 否则多压测性能较高的场景下,必须启动很多worker

不知道当前是否有参数支持

myzhan commented 3 months ago

否则多压测性能较高的场景下,必须启动很多worker

不太明白这个问题。因为 boomer 默认会用所有核心,不像 python 一样默认只能用一个核心。

eedwinhei commented 3 months ago

我测试了下确实单个worker可以支持多并发。

有另一个问题想请教下,我当前在做的压测,发现当response time明显升高时,rps会明显下降,此时业务还能正常返回,没有出现报错,但此时rps已经没有办法增大了,不管增加worker数量还是什么操作,都没办法继续提升rps,导致没办法压测到系统的性能瓶颈。 实际场景:期望压到15k rps,压测到12k,由于response time增加(从50ms到150ms),导致rps没有办法再提升,始终维持在12k rps

问题:请问有什么方式能否屏蔽response time对rps的影响么?

myzhan commented 3 months ago

如果 response time 增大,意味着整个链路已经出现瓶颈了,你要定位瓶颈,而不是屏蔽 response time 对 rps 的影响。你可以用排除法来逐步定位,例如加多一台 boomer 机器,如果还是这个 rps,说明瓶颈不在压测端。