You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

启用Cache Manager时JMeter未执行无嵌入资源HTTP请求及缓存疑问

问题解答

问题1:启用Cache Manager后第二个请求被跳过是否属于预期行为?

这是预期行为,原因如下:

  • JMeter的Cache Manager并非只管理图片、JS、CSS这类嵌入资源,它是完整模拟浏览器的HTTP缓存机制,会对所有HTTP请求(包括主请求)的缓存状态进行管理。
  • 当第一个请求(开启嵌入资源获取)执行完成后,主URL的响应已经被存入缓存。第二个请求和第一个请求指向同一URL,JMeter检查缓存后发现该URL已有有效缓存条目,就会直接复用缓存内容,不再发送实际的HTTP请求,所以结果树中会显示该请求被跳过。
  • 禁用Cache Manager后,JMeter不会复用任何缓存,所以两个请求都会被实际执行。

问题2:如何让Cache Manager对多用户生效?

默认情况下,JMeter的Cache Manager是每个线程(用户)独立维护自己的缓存空间,所以第二个用户的第一次请求仍会调用嵌入资源。要实现多用户共享缓存,需要调整以下设置:

  • 选中Cache Manager,在「高级」设置里将**共享模式(Share mode)**改为「All threads」(所有线程共享)。这样所有用户会共用同一个缓存池,第一个用户缓存的资源,第二个用户可以直接复用。
  • 确保目标服务器返回的响应头包含正确的缓存控制字段(如Cache-Control、Expires),或者在Cache Manager中勾选「Use Cache-Control/Expires headers」选项,让JMeter能正确识别缓存的有效期,避免不必要的资源重复请求。

内容的提问来源于stack exchange,提问作者Swarup

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 20:52:06