一尘不染

Jmeter线程真的可以近似用户吗?

jmeter

我正在尝试使用Recording Controller设置JMeter负载测试。

这将导致网络浏览器进行的所有调用重复,包括css文件,js文件和图像。

假设Web浏览器可以同时获取这些内容(并发执行大约10个Web请求)。jmeter文档倾向于将1个用户等同于1个线程-但这与现代Web浏览器的工作方式不一致。

设置负载测试时,我需要为每个用户使用10个线程吗?


阅读 290

收藏
2020-07-24

共1个答案

一尘不染

严格来讲,JMeter无法模拟浏览器。JMeter有其自身的局限性,例如不解析.js文件(按照3.0版本),从事件发送ajax 请求等。

但是,对于您的问题,JMeter提供了支持。

因此,您可以根据需要指定并发池大小,例如将并发池大小值设置为10,这将解决您的问题。

今天,浏览器通常会同时发送请求,并且每个浏览器都有自己的最大值,可以同时建立最大连接。

当您使用“检索嵌入式资源”并设置并发池大小时,只需添加父采样器,该采样器便会触发Jmeter本身的资源请求,如.css,.js文件。(。在记录期间,所有这些请求都被单独记录,因此您需要删除所有请求或创建
仅包含父采样器的新计划/线程组。

注意:正如我提到的那样,不会发送从.js,.csv触发的请求,因为
Jmeter不会像浏览器一样解析它们。您只需要
明确地将这些请求添加为采样器。添加“查看结果树”并比较
Jmeter和浏览器(F12->网络选项卡)触发的请求,以了解
Jmeter 遗漏了哪些请求。

2020-07-24