【发布时间】:2011-08-12 20:43:12
【问题描述】:
我有一个包含几十个 EJB 的项目和一个 Web 项目,我正尝试从笔记本电脑上的 NetBeans 7.0.1 直接部署到 Solaris 10 服务器上的 Glassfish 3.0.1。忽略复制ear文件的传输时间,部署似乎需要很长时间(3分钟是我见过的最快的)。部署的性能似乎随着时间的推移而下降,最终我不得不重新启动我的域。在我重新部署应用程序几次后,我发现部署需要 12 到 20 分钟。
我通过右键单击 NetBeans 中的主项目并选择“部署”来进行部署。我有什么选择可以让这个更有用?我可以提供哪些额外信息来帮助追查问题的根源?
更新:让最近的部署运行完成,它在我的日志中以以下错误消息结束:
[#|2011-08-20T14:05:54.494-0400|SEVERE|glassfish3.1|javax.enterprise.system.tools.admin.org.glassfish.deployment.admin|_ThreadID=2490;_ThreadName=Thread- 1;|加载应用程序时出现异常:EJB 容器初始化错误 java.lang.OutOfMemoryError:Java 堆空间 |#]
所以这似乎与内存有关。在以这种方式死亡之前,部署本身运行了 10 多分钟。
【问题讨论】:
-
如果你使用 Visual VM 和 GF 插件来监控 perm 空间,你看到它变大了吗?
-
我似乎无法让 VisualVM 识别我的 Glassfish 实例,即使插件已安装并处于活动状态。从顶部的 java 进程来看,内存消耗似乎随着时间的推移而稳步增长,但我现在没有任何硬性数据可以反对这一点。我将尝试停止域并获取基线,然后重新部署几次。
标签: performance deployment netbeans glassfish-3