我得到了以下结果,即使我增加了线程数,吞吐量也没有变化。
场景#1:
线程数:10
加速期:60
吞吐量:5.8 / s
平均值:4025
方案#2:
线程数:20
加速期:60
吞吐量:7.8 / s
平均值:5098
场景#3:
线程数:40
加速期:60
吞吐量:6.8 / s
平均:4098
我的JMeter文件由一个包含单个GET的ThreadGroup组成。
当我执行一个响应时间更快(小于300毫秒)的endpoit请求时,我可以实现每秒超过50个请求的吞吐量。
你能看到这个瓶颈吗?
响应时间和吞吐量之间是否存在关联?
答案 0 :(得分:1)
在理想情况下,如果以2倍的比例增加线程数 - 吞吐量应该增加相同的因子。
实际上"理想"场景难以实现,因此它看起来像是您应用程序中的瓶颈。识别瓶颈的过程通常如下:
一旦你弄清楚saturation point是什么,你需要知道阻止你的应用程序提供更多请求的原因,原因可能是:
答案 1 :(得分:0)
JMeter user manual状态很简单:
吞吐量=(请求数量)/(总时间)
现在假设您的测试包含仅一个GET,那么吞吐量将关联您的请求的平均响应时间。
通知Ramp-up period:60将开始创建超过1分钟的线程,因此它将增加执行的总时间,您可以尝试将其减少到10或等于线程数。
但是您可能有其他可能影响总时间的采样器/控制器/组件。
同样在您的情况下,特别是在场景3中,可能有些请求失败,那么您不会计算成功交易的吞吐量。