我有点陷入困境。我有一个Spring + Hibernate应用程序,在过去几天一直表现得非常奇怪。
通常,即使在调试模式下,它也会自动启动约15秒。
截至几天,没有显示任何重大错误或问题,它开始运行两次,如果不是三次缓慢。
我想也许问题出现在Tomcat中,但即使我运行了我编写的一系列单元测试,它们的速度也非常慢(我们在测试时说8秒以上,初始上下文自举时说20秒) 。我使用本地PostgreSQL数据库进行测试,这通常不是那么糟糕(测试时大约一秒钟)
我被困住了。我知道我做的最后一件事是在我的@Controller类上添加对@Transactional的支持。这可能是原因吗?我怀疑,因为当我将事务修改部署到稳定服务器并重新启动它时,它的运行速度与以前一样快。
我完全陷入困境
答案 0 :(得分:2)
您知道根据您的描述我们只能猜测。显然,如果您使用continuous-integration,后续构建的构建时间将揭示可能是哪些代码更改。如果您确定代码,诊断将更加简单。
它可能不是真正由代码更改引起的,而是由环境变化引起的。 E.g:
调查:
答案 1 :(得分:1)
我的猜测是你的数据库是这个的根本原因。
由于数据大小增长,架构更改等原因,您可能需要花费更长时间的查询。
以下是一些提示:
答案 2 :(得分:0)
也许分析会帮助您获取更多信息。 JDK附带了一个很好的工具,名为jvisualvm(您可以在jdk安装的bin文件夹中找到它)。这几乎是自我解释。您可以连接到您的applciation并开始采样。