【问题标题】:How to make sure same token is passing throughout child requests如何确保在整个子请求中传递相同的令牌
【发布时间】:2018-09-27 02:01:52
【问题描述】:

当注入 50 个用户的负载时,我看到一些响应会抛出错误,表明令牌无效。但是,我们将令牌有效期保持到 36 小时。

如果控制器用于将传递令牌的子请求。脚本适用于 10 个 VUser,但不适用于 50 个 VUser。

为什么旧线程的令牌被传递给下一个线程的请求?

【问题讨论】:

    标签: multithreading jmeter token


    【解决方案1】:
    1. 检查发送失败请求的令牌值。您可以使用Sample Variables 属性将令牌存储到 .jtl 结果文件中
    2. 使用View Results Tree 侦听器检查上一个响应,这可能是由于系统过载或令牌不能被多个并发线程或其他任何东西使用而导致上一个请求失败的情况。如果您在command-line non-GUI mode 中运行测试,您可以temporarily configure JMeter to store request and response data 通过将下一行添加到 user.properties 文件(它位于 JMeter 的“bin”文件夹中):

      jmeter.save.saveservice.output_format=xml
      jmeter.save.saveservice.response_data=true
      jmeter.save.saveservice.samplerData=true
      jmeter.save.saveservice.requestHeaders=true
      jmeter.save.saveservice.url=true
      jmeter.save.saveservice.responseHeaders=true
      

      需要重新启动 JMeter 才能获取属性。当您重新运行测试时,您将能够检查结果并查看请求和响应详细信息。

    3. 检查您的应用程序日志中是否有任何可疑条目。

    【讨论】:

    • 我检查了它,我注意到最后 2 个线程共享相同的令牌。其余所有线程都有独立的标记。我很难断定为什么会发生这种情况,但是是的,我看到我的系统内存被占用了 86%。
    猜你喜欢
    • 1970-01-01
    • 2021-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-29
    • 2012-02-16
    • 2020-01-28
    • 1970-01-01
    相关资源
    最近更新 更多