0

我们有一个在 Apache-tomcat 服务器上运行的 Java EE 应用程序(jsp/servlet,jdbc)。响应时间随时间变慢。当持续工作时,它会以更快的速度减速。

重启服务器后响应时间恢复正常。

我将 Jconsole 连接到服务器,并附上了堆内存使用情况的屏幕截图,当执行密集工作时会上升,垃圾收集器会定期启动,内存使用会下降。然而,当测试接近尾声时,尽管手动启动了垃圾收集器,但响应时间并没有下降。II 还检查了连接,它们似乎正确关闭。即我没有注意到任何zcx 堆内存使用

任何帮助表示赞赏。

4

3 回答 3

0

响应时间慢了多少?您是否进行了任何分析或日志记录以帮助了解您的应用程序的哪些部分较慢?设置一个简单的 servlet 以查看它是否也像另一个一样慢下来可能很有用。这可能会告诉您 Tomcat 或您的应用程序中的某些东西是否正在变慢。

于 2012-07-10T00:14:30.253 回答
0

你微调你的tomcat内存设置了吗?也许您需要稍微增加 perm gen 的大小。例如 -XX:MaxPermSize=512M

如果您可以获得堆转储并将其加载到诸如 MemoryAnalyzer 之类的工具中,您就可以肯定地知道它。

于 2012-07-10T00:16:34.853 回答
0

在 JDK 中使用 jvisualvm 附加。它允许您分析 Tomcat 并找到时间的去向。

我现在的猜测是数据库连接。要么它们变得陈旧,要么游泳池干涸。

于 2012-07-10T08:05:13.917 回答