【问题标题】:jMeter Multiple HTTP RequestsjMeter 多个 HTTP 请求
【发布时间】:2014-02-10 09:28:25
【问题描述】:

我想使用恒定的、已知数量的用户来测试一个功能齐全的网站的负载 - 为此我试图重新创建网页的“检索所有嵌入式资源”功能,仅手动,因为我真的不知道是不是把 JS 抓取的所有资源都获取了。所以第一个问题是 - 我如何检查这些后续提取检索到的内容?

第二个问题是 - 如何使多个请求原子化,例如“检索所有嵌入式资源”?我需要使用“恒定吞吐量计时器”来确保 vuser 的数量是恒定的,但是: 当使用“检索所有嵌入式资源”时,这算作一个请求,一个线程会正确处理它(希望再次 - 无法分辨场景之外发生了什么) 当使用具有大量元素的记录会话时,每个元素都是一个动作并占用队列(对于恒定吞吐量计时器计为 1 个样本)。因此,它不是原子的。

我想我可以计算元素并将它们定义为每分钟吞吐量的样本数,但从长远来看这是行不通的。

【问题讨论】:

    标签: jmeter atomic stress-testing


    【解决方案1】:

    首先,jmeter 不会在检索到的页面中执行任何 javascript。如果您查看文档,单击“检索所有嵌入的资源”会执行以下操作:

    告诉 JMeter 解析 HTML 文件并为文件中引用的所有图像、Java 小程序、JavaScript 文件、CSS 等发送 HTTP/HTTPS 请求。

    因此它会检查当前示例中是否有任何引用并检索它们,但它不会运行检索到的任何脚本。

    如果您想检查 jmeter 实际检索的资源,您可以运行例如 Fiddler 来检查正在发出的请求。

    【讨论】:

      【解决方案2】:

      您可以使用Transaction Controller 将所有嵌入式资源请求和主请求视为一个样本,将记录并报告汇总时间。

      【讨论】:

      • 虽然这有助于记录每个“整页”的确切时间,但仍无助于使“整页”成为单个动作。详细说明 - 如果将恒定吞吐量计时器设置为 1 个样本,并创建 1 个线程,那么就 CTT 而言,事务控制器仍然不被视为单个样本。我可能看错了。我有许多用户访问我们认为最佳的登录页面。我认为 CTT 是控制用户数量的好方法,但这仅限于文字样本的数量,而不是“整页”。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多