场景是这样的:
现在要测试 1000 用户并发,要求到达并发数量为 100 的时候,采集 tps 和 rt 1 分钟,然后在并发数量为 200 的时候,采集 tps 和 rt 1 分钟,如此往复。
因为我现在用的工具是 locust,没有想到解决方法,不知道用 jmeter 的高手,或者其他压力测试的高手能否给一个解决方案。或者有 locust 的解决方案更佳 。
分十次压不行吗
采集 1 分钟的数据没有多大意义,时间太短,看不出内存 gc 的情况
这种阶梯方式递增的可以看下 tsung
locust 不能实现么?
@lunamagic jmeter 里边很强大 这个要用插件 来实现. Ultimate Thread Group 超级线程组.
实际你这个问题 中文学名 叫加压负载策略. jmeter 里 对应的 概念 就是 Ramp-Up Inital delay starttime up holdloadfor
看此图 你就明白了 . 是不是 很像 loadrunner 的加压配置图 可以控制线程组 或者叫虚拟用户数 vuser 的初始化等待 斜坡上升 持续时间 释放 等
采集的话 就用 perfmon 插件 +serveragnet 你要控制采集策略的话 可以添加些前置后置 什么玩意 或 beanshell 之类的脚本 来配置?
嗯。谢谢,我已经查到了 jmeter 这个功能,就是叫做 ramp-up。再次感谢你的解答,如果没有你楼下的回答,我真的要重新开一个 jmeter 集群去了。
试过了,我竟然一直没有注意,或者说忽略 edit 这个东西。真亏你提醒。这样我就可以继续用 locust 去完成这次任务了。
https://media.readthedocs.org/pdf/locust/stable/locust.pdf
12.9.7 Removed support for ramping
Previously one could tell Locust, using the –ramp option, to try to find a stable client count that the target host could
handle, but it’s been broken and undocumented for quite a while so we’ve decided to remove it from the locust core
and perhaps have it reappear as a plugin in the future.
因为 jmeter 叫这种方式为 ramp-up,所以看了这段 9.0 的文档,我就真的没有主意了。
看不懂为啥只采集一分钟,全程采集数据不行吗