【问题标题】:Can we Use HTTP cache Manager for REST API Load runs我们可以使用 HTTP 缓存管理器进行 REST API 负载运行吗
【发布时间】:2021-01-19 12:01:35
【问题描述】:

我是 JMeter 的新手

我有一组 REST API,它们将基于证书身份验证运行,我只有 5 个证书,需要为 100 个并发用户加载运行我正在循环我拥有的证书。我的问题是我们是否可以对 API 运行使用“HTTP 缓存管理器”并选择“每次迭代清除缓存”,这样每次运行时我都想确保它不会从缓存中得到响应。

以及如何检查 API 是否每次都访问服务器并且没有从缓存中获取结果

【问题讨论】:

    标签: jmeter performance-testing jmeter-5.0


    【解决方案1】:

    没有。

    HTTP 缓存管理器是关于模拟 客户端 缓存,例如,如果您打开一个包含大量图像、脚本、样式、字体等的“重”网页。JMeter(should act like a real browser)下载这些资源以及主要内容。

    HTTP 缓存管理器的想法是模拟 浏览器 缓存,因为真正的浏览器不会下载这些图像、样式等。每次访问页面时,它们只会下载一次(或根据Cache-Control 标头),在后续请求中,资源将从浏览器缓存中返回。更多详情见HTTP Caching文章

    鉴于您正在测试 API,这意味着您正在获取 JSON 或 XML,没有下载图像、脚本、样式、字体,因此即使添加 HTTP 缓存管理器也没有任何意义。

    如果您的应用程序在服务器端缓存响应 - 我能想到的唯一解决方法是将您的请求参数化/Variabilize,就好像您的所有 100 个虚拟用户将发送相同的请求一样您的服务器可能会以某种方式将其缓存在某处,并且后续响应会更快,因此请确保生成或多或少不同的请求以避免命中此服务器端缓存。

    【讨论】:

    • 感谢您的信息。我们将尝试每 10 秒刷新一次服务器缓存,并在发送请求时使用计时器元素
    猜你喜欢
    • 2018-09-03
    • 2021-12-21
    • 2012-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多