0

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

Response code:500
Response message: Internal Server Error

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

4

3 回答 3

0

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

于 2017-11-18T04:42:34.203 回答
0

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

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

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

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

于 2017-11-16T16:25:11.540 回答
0

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

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

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

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

于 2017-11-16T11:48:07.777 回答