我是 java 和 tomcat 的新手。我正在使用 spring mvc 在 java 中开发一个网站。它被部署到运行 Tomcat 8 的 Linux 服务器上。部署时一切正常,它连接到数据库很好。问题是该站点似乎很快就会闲置。我无法准确计时,但似乎只需要大约一分钟的不活动时间,整个网站就会进入空闲状态。然后下一个请求非常慢,加载在我所有的类中。我也失去了我的 session 。
这是普遍现象吗?听起来我在 Java 中做错了什么? Tomcat ?两个?
编辑:根据 StuPointerException 的评论,我更新了我的数据库连接管理。我现在正在使用 Apache dbcp。如果这解决了问题,我会更新。我想给我的 QA 测试人员足够的时间来访问我的网站。
最佳答案
如果没有关于您的服务器设置的更多信息,很难直接回答您的问题。
不过不管怎样,每次我看到这种行为都是因为数据库连接池配置不当。创建新的数据库连接可能会产生大量开销。
如果您不使用连接池,或者您允许池中的连接终止(由于缺少验证查询/检查),那么随着时间的推移,您将开始看到由于连接超时导致的性能问题。
关于Java Web 应用程序似乎在 Tomcat 中快速闲置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45721078/