tomcat - 负载测试下 dispatcherServlet 的 Spring Boot 应用程序错误

标签 tomcat spring-boot nullpointerexception jmeter dispatcher

声明: 这个问题不像 NullPointerException 或如何处理 NPE 那么简单。它是关于多线程编程的。我确实知道如何捕获异常,问题是我无法定位此异常的来源,甚至无法弄清楚问题是性能瓶颈还是逻辑错误。所以我来这里寻求你的帮助。最后,我找到了错误并在我自己的答案中解决了它。

我开发了一个用于在 Spring boot 应用程序中上传 block 的 REST API,并通过了功能测试。以下是版本信息。

Spring Boot 1.5.8 with Embedded Tomcat

现在我想用 JMeter 评估负载测试下的性能。我设计了测试计划并成功地在轻负载下对其进行了验证。这是我关于线程属性的测试计划,

Number of Threads (users): 3
Ramp-Up Period (in seconds): 1
Loop Count: 3

但是当负载增加到10个线程甚至更多时,测试报告显示一些500类型的错误。并且服务器打印了一些错误

    2018-01-20 20:34:23.744 ERROR 57809 --- [o-8083-exec-346] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] i
n context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause

java.lang.NullPointerException: null

这是否意味着服务器已经达到瓶颈或其他逻辑错误?以及如何调试和跟踪此问题?

谢谢。

最佳答案

我明白了。我在服务器的日志文件中找到了完整的异常堆栈跟踪。控制台错过了完整的堆栈信息。它在一开始就抛出了完整的信息,然后就像我在问题中发布的那样只打印了一个句子,这让我很难调试这个问题。无论如何,谢谢@JB Nizet,你是​​对的,我在那里有一个错误。

关于tomcat - 负载测试下 dispatcherServlet 的 Spring Boot 应用程序错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48364906/

相关文章:

rest - SunCertPathBuilderException : unable to find valid certification path to requested target in CN1 app

spring-boot - spring-boot项目需要单独安装Tomcat吗?

Java 7 Update 21 Applet 问题

java - 为什么我的代码无法编译检查字符串是否以元音开头?

spring-mvc - 如何在 nginx 后面为 i18n 使用具有多个域的单个 tomcat 实例

xml - 未使用 tomcat 和 opendap thredds 服务器更新文件

spring-boot - 在 maven 中使用 jgitver 和本地 repo 时无效的 spring-boot-dependency 版本

java - Spring Boot war 部署无法在差异机器上使用相同的配置进行初始化

java - 从 Java 代码执行 Cypher 查询时出现空异常错误。 (Neo4J)

java - Tomcat 拒绝所有 POST 请求