给定一个具有两个端点的API:
-
submit
-
result
并鉴于要进行20 submits
之后,API服务器开始计算特定用户的结果
,鉴于这样的计算需要1到5秒才能完成
并鉴于我当前的JMeter
脚本成功地可以做出所有这些提交的内容,并且它不断地查询result endpoint
,直到收到结果
并且鉴于我目前面对的烦人的问题是,由于result endpoint
是非常轻/快速的请求(如果结果尚未计算),则更多的请求最终会转到result endpoint
AS反对提交端点。
并鉴于这种行为扭曲了整体吞吐量的测量。
并鉴于添加Constant Timer
会阻止整个请求线程,并且在计时器完成
我的问题是: JMeter
是否以一种或另一种方式提供:
- 优先级请求(因此
results endpoint
的优先级将较低)或 - 以异步为基础向HTTP请求延迟,以便
result endpoint
请求最终不会引起我的API的所有注意力?
并鉴于添加恒定计时器会阻止整个请求 线程,直到计时器完成
之前,没有其他请求。
看起来您将样品放在同一线程组中,不是吗?
如果是,则将其分开:为您的"结果"请求建立一个单独的线程组,并设置您想要的时间。
,如果您先显示计划会很棒。
upd :因此,您需要在线程之间进行交流。
然后,您可以使用Jmeter属性(这似乎是最简单,最粗糙的方式)。或使用文件或其他存储(例如,一些简单的MEM DB)作为共享资源。或使用此信息:https://jmeter-plugins.org/wiki/interthreadcommunication/。或编写结合这些方法的内容。