我正在对某个页面中调用的一组API进行性能测试。目前,所有的API请求都是按照我在脚本中添加它们的顺序运行的。但是当观察开发者工具的网络标签中的瀑布部分时,有些API只有在调用了某个特定的API并且该API收到响应之后才被调用。问题是,我无法在其中添加任何计时器。因为延迟不是恒定的,而是随时间变化的。例如,请参考下图中API调用的瀑布部分:
screenshot of API calls in network tab
在这里,搜索API只有在autoComplete API被调用并得到响应之后才被调用。contentUsers和count API也是如此(取决于搜索API的响应,必须等到那时)。最后,fetch API被调用。我想在我的JMeter脚本中实现同样的功能,可能吗?
1条答案
按热度按时间62o28rlo1#
the delay is not constant and varies from time to time
-有一些JMeter定时器可以产生不同的延迟。我的期望是发送下一个请求之间的时间与上一个调用响应时间和JavaScript运行时event loop的行为有关。如果使用__Random,即使是Constant Timer也不会是“常量”()函数。但是我相信您可以忽略瀑布图中请求之间的延迟,如果您检查请求的开始时间,您会发现它要么不存在,要么大约几毫秒,而JMeter也需要一些时间来准备和发送请求1.在瀑布中同时触发的那些请求应该同时执行(在Firefox中,该设置称为
network.http.speculative-parallel-limit
,默认值为6
,因此您需要将需要并发的请求放在Parallel Controller下