java - Tomcat Java Web 应用程序运行缓慢

标签 java performance web-services tomcat virtual-machine

不知道应该选择哪种调查方式。 一段时间后(将近 4 周)连续运行的 Web 应用程序运行缓慢。 检查:

catalina.out - no full gc.

常规 gc 需要将近 0.2 秒,并在将近 10 - 30 秒内执行一次。 在同一台服务器上,另一个运行良好的 web 应用程序的 tomcat。 所以问题不在主机上。 我真的很困惑。应该检查什么?

最佳答案

您可以使用 visualvm 来跟踪您的 tomcat 性能,您必须添加 JMX 参数以允许您将 visualvm 连接到您的 tomcat。

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.port=8484
-Dcom.sun.management.jmxremote.ssl=false

visualvm >> Threads 选项卡中你会在右上角看到一个按钮 Thread Dump,这个按钮生成一个名为线程转储,此文件包含当前存在的所有线程,生成多个线程转储并跟踪您的应用程序线程,您将清楚地看到慢速线程当前正在做什么,这正是导致缓慢的方法。

我希望这能帮助您找到导致速度缓慢的根本原因。

关于java - Tomcat Java Web 应用程序运行缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21383373/

相关文章:

java - JasperReports 中的 CSV 文件格式

java - 动态更新在 hibernate 状态下不起作用

java - 将不同类中的 BigInteger 写入文件

MySQL 连接问题,查询挂起

c# - PowerShell 脚本效率

asp.net - 如何更改生产 .NET 网站中的 Web 引用?

java - 获取两天之间的差值(减法)

regex - 可以在范围内运行 Regex-Replace 而不是循环遍历 Excel 中的单元格吗?

php - 响应表单 API 和在 php 中使用

javascript - 在 Rails 3 中发布