【问题标题】:JMeter won't write response dataJMeter 不会写入响应数据
【发布时间】:2020-08-25 05:38:56
【问题描述】:

我在 elasticasearch 上使用 JMeter(master+10 slave)运行测试。对于某些请求,我收到错误 400,但它们有点难以捉摸:

  • 当我使用 curl 手动运行请求或将它们粘贴到 kibana 的控制台时,我没有收到错误。
  • 每次我使用 jmeter 运行测试时,使用相同的请求和相同的条件,我都会得到不同数量的错误。

所以我正在考虑检查 jmeter 的响应体。但是我尝试过的所有方法都失败了:

  • 我创建了一个查看结果树元素并选中了“配置”面板上的所有框。当我运行脚本时,它会记录所有除了响应数据
  • 我尝试使用 BeanShell 后处理器将所有响应写入文件。但是当我运行脚本时,它显然被“忽略”了

这两种解决方案都适用于我的机器,但不适用于服务器(我无法完全控制服务器)。我在命令行上传递 jmeter.save.saveservice.response_data=true 来启动 jmeter。

我还能尝试什么?

【问题讨论】:

    标签: elasticsearch logging jmeter error-logging


    【解决方案1】:

    这是JMeter针对模式相关的分布式测试所做的优化:

    为了避免 JMeter 剥离服务器和控制器的 user.properties 中的响应数据集:

    mode=批处理

    默认情况下是:

    mode=StrippedBatch

    【讨论】:

      【解决方案2】:

      默认情况下,JMeter slave 不会向 master 发送响应数据,如果您需要更多数据,可以choose a different sample sender

      使用 Beanshell 将响应数据写入文件在任何情况下都应该可以工作(但是 consider using JSR223 Test Elements and Groovy 对此),只需确保:

      • 您的 Beanshell 后处理器已根据JMeter Scoping Rules 正确放置
      • jmeter.log 文件中没有与 Beanshell 相关的消息
      • 您需要在测试运行后手动从每个从站收集日志文件,它们不会在主站上生成

      【讨论】:

        猜你喜欢
        • 2023-03-14
        • 1970-01-01
        • 2015-05-04
        • 1970-01-01
        • 1970-01-01
        • 2020-07-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多