我正在尝试使用Recording Controller设置JMeter负载测试。
这将导致网络浏览器进行的所有调用重复,包括css文件,js文件和图像。
假设Web浏览器可以同时获取这些内容(并发执行大约10个Web请求)。jmeter文档倾向于将1个用户等同于1个线程-但这与现代Web浏览器的工作方式不一致。
设置负载测试时,我需要为每个用户使用10个线程吗?
严格来讲,JMeter无法模拟浏览器。JMeter有其自身的局限性,例如不解析.js文件(按照3.0版本),从事件发送ajax 请求等。
但是,对于您的问题,JMeter提供了支持。
因此,您可以根据需要指定并发池大小,例如将并发池大小值设置为10,这将解决您的问题。
今天,浏览器通常会同时发送请求,并且每个浏览器都有自己的最大值,可以同时建立最大连接。
当您使用“检索嵌入式资源”并设置并发池大小时,只需添加父采样器,该采样器便会触发Jmeter本身的资源请求,如.css,.js文件。(。在记录期间,所有这些请求都被单独记录,因此您需要删除所有请求或创建 仅包含父采样器的新计划/线程组。
注意:正如我提到的那样,不会发送从.js,.csv触发的请求,因为 Jmeter不会像浏览器一样解析它们。您只需要 明确地将这些请求添加为采样器。添加“查看结果树”并比较 Jmeter和浏览器(F12->网络选项卡)触发的请求,以了解 Jmeter 遗漏了哪些请求。