我使用的是集成测试环境附带的RationalApplicationDeveloperV7.0。当我开始调试我的webapp时,服务器在调试模式下的启动时间接近5-6分钟--足够我休息一下了!
有时,这让我非常恼火,以至于我开始咒骂IBM构建的是操作系统而不是应用服务器!生成20+进程和无用的服务,没有记录的配置来调整它,以更快地启动。
我相信有很多java开发人员会同意我的观点。我试图通过我的管理控制台禁用默认的应用程序和一组服务,但这并没有多大帮助。
我没有web服务,没有企业bean,没有队列,只有一个简单的web应用程序,它需要一个连接池。你过去有没有做过一些事情,让你的集成测试环境在调试模式下快速启动,从而消耗更少的RAM?
更新:我尝试禁用了一些服务(国际化、默认应用程序等)现在WebSphere服务器每况愈下。它不仅不会花费可怕的启动时间,还会时不时地冻结长达2分钟。:-(听起来,优化并不是一件很好的事情!
发布于 2009-07-24 15:50:29
调试服务器代码的最佳方法是使用远程调试。
首先,您需要将以下内容添加到服务器启动脚本中的JVM参数:
-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005这将导致JVM侦听指定的端口,然后您可以从IDE启动针对该端口的远程调试会话,并进行调试,就像代码在同一进程中运行一样。
这样可以避免频繁地重新启动服务器,从而避免Websphere的启动时间问题。
如果服务器上的二进制文件和IDE中的源代码不同步,您可能会得到一些奇怪的结果,但总的来说,这不是问题。
发布于 2012-09-10 23:49:50
其中一个主要原因是,您有一个包含许多模块、类、清单、XML描述符等的大型应用程序,并且Websphere应用程序服务器启动过程本身是单线程的(因此,如果每个应用程序具有相同的权重,则它们可以在单独的线程中启动)。另一个原因是Eclipse EMF和JST框架在启动和发布/部署期间的I/O密集度很高。
乏味启动的另一个原因是注释扫描,这将在发布/部署期间发生。可以以各种方式控制和修改这种注释扫描。看看这个网站:http://wasdynacache.blogspot.se/2012/05/how-to-speed-up-annotation-processing.html
首先,检查和评估您的硬件,包括CPU、内存和硬盘。您的处理器在启动过程中是否长时间100%运行?如果是这样,处理器可能太弱了。是否发生了分页?然后你可能需要放入更多的内存。Websphere/eclipse、JST和EMF框架的I/O非常密集,因此您应该考虑购买SSD光盘。您还应确保您的计算机上的其他进程(病毒防护软件等)不要从Websphere java进程窃取硬件资源。
所以对于硬件: 1.处理器-一个相当快的处理器,因为发布和启动大多是单线程的,所以你不需要那么多cpu核心2.内存-你至少需要512Mb的物理RAM,这当然取决于你的应用程序的大小。3.存储-我肯定会选择快速的SSD,因为底层的eclipse框架是I/O密集型的。
这里有一些技巧可以减少启动阶段的占用空间。在应用这些设置之前,请确保记录基线启动,以便观察启动中的差异,即缩短的启动时间。
其他可能提高性能的JVM参数:
将使Websphere应用服务器立即停止的Jvm参数:
Webcontainer属性:
可以指定eclipse.ini的JVM参数(请注意,堆参数是根据我的环境条件配置的)
发布于 2009-07-24 16:40:21
5到6分钟是不正常的。我每天都在使用RAD,并且获得了不错的启动时间。您运行的是哪个版本的WAS ?您有多少RAM?
如果您为同一WAS配置文件共享多个工作区和项目,请考虑为您的工作区创建一个新的WAS配置文件。
你可能已经尝试过了,但这里有一个简单的清单,上面列出了你需要亲自尝试的事情。确保RAD中的服务器设置启用了以下选项:
用于测试和开发workspace
如果您不需要“启用通用测试客户端”,请取消选中它。
在管理控制台中,您可以验证一些服务器设置,例如
您还可以卸载创建新WAS配置文件时默认安装的ivt应用程序。然后是一些常见的东西,比如没有太过碎片化的驱动器和适当设置的页面文件大小。
您可能已经知道的最后一件事是,重新发布到您的服务器,而不是重新启动它。
https://stackoverflow.com/questions/1178210
复制相似问题