【发布时间】:2015-03-01 15:25:25
【问题描述】:
我有一个 Digital Ocean droplet(512MB RAM,20GB SSD 磁盘,Ubuntu 13.10 x64)
- 一个 MongoDB 实例和
- Tomcat 7 服务器
运行。
在 Tomcat 服务器上,安装了以下应用程序
- 基于 Apache CXF 的应用程序,用于处理 Web 服务请求、与数据库交互并执行计划作业,
- Vaadin 应用程序,
- JSF (Primefaces) 应用程序和
- Psi Probe。
当我
- 重启Tomcat,
- 使用 Vaadin 和/或 JSF 应用程序,
- 然后有几个星期在那台机器上什么都不做(在那段时间它基本上是空闲的),
- 然后尝试打开 JSF 和/或 Vaadin 应用程序,
我发现网站没有响应(在浏览器中输入 URL 后没有任何显示)。
当我重新启动 Tomcat (sudo service tomcat7 restart) 时,一切正常。我在 Tomcat 日志中没有看到任何明显的问题。
我怎样才能知道,
- 问题出在 Tomcat 端(其中一个应用程序即使处于空闲状态也会消耗太多资源)还是在操作系统端(机器上没有任何反应,因此操作系统将自身置于“休眠”模式)和
- 如果问题出在 Tomcat 上,究竟是哪个应用程序造成的?
【问题讨论】:
-
获取堆和线程转储并使用 Eclipse 内存分析器工具等工具进行分析。寻找像 PermGen 这样的饱和内存区域
-
在你的机器上安装某种监控 .. newrelic 例如
-
@Nimrod007 Newrelic 是否有一些 Psi Probe 没有的功能(与我的目标相关)?
-
当然,psi 探针将监控 tomcat newrelic 将为您提供更大的图景(操作系统、服务器、数据库等......)
-
关于如何开始的一些想法:1。测试tomcat的管理网页是否有效(最终来自localhost) 2.在你的WAR文件中创建一个静态HTML页面并尝试访问它。
标签: performance tomcat jakarta-ee tomcat7