【问题标题】:Response code 500 in JMeter when running with threads使用线程运行时 JMeter 中的响应代码 500
【发布时间】:2017-11-18 12:42:34
【问题描述】:

在运行 API 列表时在 JMeter 中出现以下错误(线程数:1-140,加速周期为 1)。

Response code:500
Response message: Internal Server Error

我应该如何克服这个错误响应代码以获得准确的响应? 应该怎么做才能减少使用此响应代码的响应量?

【问题讨论】:

  • 我们在运行 JMeter 以保存和加载应用程序中的表单时也遇到同样的错误。而手动操作时不会出现同样的错误。应用服务器端没有问题。

标签: jmeter jmeter-3.2


【解决方案1】:

通常,500 是开发人员未处理的响应。通常在后端,但也在性能测试工具前端。

问问自己,您是否正在验证从服务器返回的响应是否有适当的内容?我不只是建议 HTTP200 是有效的。您需要检查响应内容以确保它是您期望的对业务流程有效的内容,因为您可以拥有一个完全有效的 HTTP200 类页面,其中包含一个响应,该响应将使您的业务流程偏离轨道。如果您不处理意外响应部分的异常,那么您会发现在业务流程中的一到两个步骤,那么您几乎可以保证您会找到 500,因为您的请求完全脱离了上下文与当时的应用程序状态。

Test101,每一步都有一个预期的积极结果,允许业务流程继续进行。检查该结果并在您发现结果不正确时分支您的代码。

或者,如果这是一个单步业务流程,那么您很可能正在处理服务质量差的数据,而开发人员还没有完全充实处理您的不良数据的优雅部分。

【讨论】:

    【解决方案2】:

    JMeter 中的一般建议是 Ramp-up = 线程数,在您的情况下为 140

    从 Ramp-up = 线程数开始,然后根据需要向上或向下调整。

    目前您几乎同时每 1/140 秒发送一次新线程,更改的原因是:

    加速需要足够长的时间以避免在测试开始时工作量过大

    【讨论】:

      【解决方案3】:

      状态码 - 500 来自服务器/API,这不是 Jmeter 的问题。有时并发请求会被服务器拒绝,因为它太弱而无法处理这么多的请求。就我而言,我要求我的服务器团队扩展服务器,以便我们可以测试底层 API。值得一提的是,有时 Jmeter 也会耗尽内存。您可以在 jmeter 可执行文件的 set HEAP=-Xms512m -Xmx512m 属性中进行一些调整。监听器也消耗太多资源。尽量不要使用它们。

      【讨论】:

        猜你喜欢
        • 2021-09-13
        • 1970-01-01
        • 1970-01-01
        • 2016-08-02
        • 2012-07-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多