【发布时间】:2021-07-31 13:50:16
【问题描述】:
在 JMeter 中,我们有多个计时器 - 例如统一标准计时器、高斯随机计时器等。
在研究我的查询时 - 我发现了各种书籍和博客告诉我
- 如何在 JMeter 中添加定时器
- 定时器之间的内部公式/逻辑是什么。
我有点困惑,该使用哪一个?什么时候? 例如,如果我试图等待用户登录,哪个计时器更合适?制服?还是高斯?
【问题讨论】:
标签: performance jmeter performance-testing
在 JMeter 中,我们有多个计时器 - 例如统一标准计时器、高斯随机计时器等。
在研究我的查询时 - 我发现了各种书籍和博客告诉我
我有点困惑,该使用哪一个?什么时候? 例如,如果我试图等待用户登录,哪个计时器更合适?制服?还是高斯?
【问题讨论】:
标签: performance jmeter performance-testing
根据A Comprehensive Guide to Using JMeter Timers
统一随机计时器
Uniform Random Timer 将线程暂停一个因数:
- 在 0.0(含)和 1.0(不含)之间的范围内的下一个伪随机均匀分布值
- 乘以“随机延迟最大值”
- 加上“恒定延迟偏移”
高斯随机定时器 Gaussian Random Timer 使用类似于 Uniform Random Timer 的方法计算线程延迟时间,但不是在 0.0 - 0.9 范围内均匀分布的伪随机值,而是使用正态(又名高斯)分布作为第一个参数公式。
有几种生成正态分布值的算法,在 JMeter Marsaglia 中使用极坐标法,该方法采用 -1 到 1 范围内的下 2 个随机值 U 和 V,直到满足 S = U2 + V2 > 1 条件。一旦 S 被定义,它就会在公式中使用
返回下一个伪随机高斯(“正常”)分布值。第一次调用该方法返回 X,第二次返回 Y,第三次重新开始并返回新的 X,以此类推。
关于“使用哪个计时器以及何时使用” - 没有适合所有情况的“好”答案,您提到的计时器用于模拟think time,因为真实用户不会敲击应用程序不停地,他们需要一些时间在操作之间“思考”。所以决定权在你:
【讨论】: