IBM RAD 7和Websphere 6.1运行缓慢且无响应

时间:2009-05-14 12:45:15

标签: websphere ibm-rad

使用Websphere和RAD在本地开发时如何提高性能?我正在使用一个中等大小(1000?类)的Web应用程序,并且无法在Windows机器上本地处理该应用程序。 Websphere 6.1配置使用默认配置。 RAD7配置为处理1024mb的最大堆。我想过增加服务器的堆。目前,最小值和最大值均为128 / 300mb。

就无响应而言,如果页面加载,有时加载页面可能需要几分钟。此外,我禁用了“自动构建”和自动发布。也许那些应该开启?

7 个答案:

答案 0 :(得分:5)

我不确定RAD7,但根据我过去的经验,我建议尝试MyEclipse Blue

由于这可能不是一个选项,这里有一些其他常见的罪魁祸首,你可以检查:

  • 您的机器有多少内存?给WS 1GB的RAM是好的,但是如果你的计算机只有1GB的真实RAM,它就会把它自己换成死亡。如果你的老板不会为此付钱,那就用你自己的钱来获取一些内存。 2GB不到80美元的ATM。我建议至少要4GB。是的,即使安装了4个Windows,Windows也只能使用3.5GB,但是这一半的价格为20美元或更低。即使考虑这个问题超过五分钟也不仅仅是购买它。

  • 接下来确保您使用的是正确的Java GC选项。在文档中应该有关于此的一些信息。另外,请确保该进程使用“server”目录中的“jvm.dll”,而不是“client”目录。 “Process Explorer”会有所帮助。

  • 由于我没有使用RAD,我不是100%确定“自动构建”和“自动发布”,但由于RAD7基于Eclipse,因此这些选项将在您键入时在后台编译代码。这将大大缩短您保存上次更改与应用服务器开始加载新代码之间的时间。

  • 当其他所有方法都失败时,请在分析器中运行websphere并查看它一直花费的位置。

答案 1 :(得分:4)

亚伦有很好的建议。

我还建议使用JConsole查看发生了什么,以帮助您确定是否需要更多内存,更大的堆大小等。我在本地运行Websphere和RAD的经验是它会很慢,但后来我是在一台需要更多内存的旧机器上。 :) http://java.sun.com/j2se/1.5.0/docs/guide/management/jconsole.html

答案 2 :(得分:2)

柏林,

RAD 7对您的电脑进行捣蛋!当我使用它来开发Portlets时,I followed this optimization guide并且它使IDE更快地开发Portlets。显然它是针对Portlet开发的,但它可能对你有帮助。

同样遵循this question答案的建议也会有所帮助。

答案 3 :(得分:2)

我绝对同意Aaron Digulla。您将看到开发计算机上安装了4GB RAM的主要性能改进。我开发了一个Eclipse / RAD插件和我的一些好友,我们可以通过从2GB升级到4GB来测量我们节省了多少时间。

该插件可在此处找到:http://lopb.org/

在收集了一些关于等待在我们的2GB开发机器上发布和加载应用程序的时间的硬数据之后,我们能够说服管理层升级团队中的其他开发人员。

无论如何,如果你想在同一台开发机器上运行RAD 7和Websphere 6,你应该考虑升级到4GB。每个人都需要-Xms = 512m -Xmx = 1024m,因为JVM args运行良好,这意味着如果你只有2GB或更少的内存,你将过多地换到磁盘。 HTH

答案 4 :(得分:2)

确保您的运行处于开发模式以进行开发和测试。

选项位于控制台中的服务器下。

卡尔

答案 5 :(得分:1)

呵呵,我们在RAD6和Websphere 6上遇到了同样的问题。

我们加速的方式转移到Eclipse和JBoss。

我们开发了Eclipse和JBoss,然后在Websphere上进行了第一轮测试。我们遇到了一些差异问题,但如果不是因为开关问题,那么它们就永远不会完成项目(比RAD / WAS上的问题少得多)。

但是为了帮助你...

  1. 当然,可能需要自动构建并自动发布。通过这种方式,您可以进行一系列更改,然后告诉RAD在您去喝咖啡时进行编译和部署。
  2. 在Websphere中有一个“以开发模式运行”(我知道6.0版本)所以跟踪并打开它(它在WAS控制台的某个地方)

  3. 我发现WAS在堆栈替换上工作得相当好。我发现在一天开始时我会部署到WAS,然后不必重新部署至少到午餐时间(因为我正在调试)。我会进行更改,更改将被送到服务器而无需重新部署。

  4. 即使在运行了探查器之后,你也会发现你无能为力......

  5. 关闭所有验证(在RAD中),它们往往需要永远。

  6. 根据您正在使用EE进行的调查,研究在另一个IDE / Server组合中使用的可能性,也许您可​​以在那里完成大部分工作,然后从RAD / WAS进行部署以进行最终测试。如果您使用的是vanilla ejb或Web服务,这是可行的。

  7. 最大堆对我来说听起来有点小。启动JConsole的建议很好,因为它会告诉你正在使用多少堆,尽管我不确定它是否适用于IBM vm(RAD)。您可以尝试打开RAD中的内存使用情况监视器,告诉您正在使用多少内存,这样就可以判断它是否达到了最大值。

答案 6 :(得分:1)

如果没有通过JVM命令行开关专门启用它,JConsole将无法工作。

Michael Wiles的建议听起来很合理,但请先将RAD更新为最新的FixPack。

您也可以联系支持部门。