特定HTTP请求中的Jmeter异步延迟



给定一个具有两个端点的API:

  1. submit
  2. result

并鉴于要进行20 submits之后,API服务器开始计算特定用户的结果

,鉴于这样的计算需要1到5秒才能完成

并鉴于我当前的JMeter脚本成功地可以做出所有这些提交的内容,并且它不断地查询result endpoint,直到收到结果

并且鉴于我目前面对的烦人的问题是,由于result endpoint是非常轻/快速的请求(如果结果尚未计算),则更多的请求最终会转到result endpoint AS反对提交端点。

并鉴于这种行为扭曲了整体吞吐量的测量。

并鉴于添加Constant Timer会阻止整个请求线程,并且在计时器完成

之前没有提出其他请求

我的问题是: JMeter是否以一种或另一种方式提供:

  1. 优先级请求(因此results endpoint的优先级将较低)或
  2. 以异步为基础向HTTP请求延迟,以便result endpoint请求最终不会引起我的API的所有注意力?

并鉴于添加恒定计时器会阻止整个请求 线程,直到计时器完成

之前,没有其他请求。

看起来您将样品放在同一线程组中,不是吗?

如果是,则将其分开:为您的"结果"请求建立一个单独的线程组,并设置您想要的时间。

,如果您先显示计划会很棒。

upd :因此,您需要在线程之间进行交流。

然后,您可以使用Jmeter属性(这似乎是最简单,最粗糙的方式)。或使用文件或其他存储(例如,一些简单的MEM DB)作为共享资源。或使用此信息:https://jmeter-plugins.org/wiki/interthreadcommunication/。或编写结合这些方法的内容。

最新更新