代码之家  ›  专栏  ›  技术社区  ›  Berlin Brown

ibm rad 7和websphere 6.1速度慢且无响应

  •  8
  • Berlin Brown  · 技术社区  · 16 年前

    在使用websphere和rad进行本地开发时,如何提高性能?我正在使用一个中等大小的web应用程序(1000?类),并且不可能在Windows框上本地处理应用程序。websphere 6.1配置使用默认配置。RAD7被配置为处理1024MB的最大堆。我想增加服务器的堆。目前,最小值和最大值为128/300MB。

    就无响应性而言,如果页面完全加载,有时可能需要几分钟来加载页面。另外,我禁用了“自动生成”和“自动发布”。也许这些应该打开?

    7 回复  |  直到 6 年前
        1
  •  5
  •   Aaron Digulla    16 年前

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

    因为这可能不是一个选择,这里有一些其他常见的罪魁祸首,您可以检查:

    • 你的机器有多少内存?给ws 1gb的ram是很好的,但是如果你的计算机只有1gb的真实ram,它会自动切换到死。如果你的老板不付钱,那就用你自己的钱去买些公羊。2GB低于80美元的ATM。我建议至少有4GB。是的,即使安装了4,Windows也只能使用3.5GB,但这一半GB的成本不超过20美元。即使考虑这件事超过5分钟,也比简单地购买它要花更多的钱。

    • 下一步确保您是否使用了正确的java gc选项。文档中应该有一些关于这个的信息。另外,确保进程使用“server”目录中的“jvm.dll”,而不是“client”目录中的“jvm.dll”。 Process Explorer “会有帮助的。

    • 因为我没有使用rad,所以我不能百分之百地确定“自动构建”和“自动发布”,但是由于rad7是基于eclipse的,这些选项将在您键入时在后台编译代码。这将大大缩短从保存上次更改到应用服务器开始加载新代码的时间。

    • 当所有其他操作都失败时,请在探查器中运行websphere,并查看它一直花在哪里。

        2
  •  4
  •   James Black    16 年前

    亚伦有很好的建议。

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

        3
  •  2
  •   Community CDub    8 年前

    柏林,

    RAD 7会让你的电脑更安全!当我用它开发portlet时, I followed this optimization guide 它使ide在中开发portlet的速度大大加快。显然它是针对portlet开发的,但它可能会帮助您。

    也遵循对答案的建议 this question 也会有帮助。

        4
  •  2
  •   Alex De Marco    15 年前

    我完全同意亚伦·迪古拉的观点。开发机器上安装了4GB RAM,您将看到性能的重大改进。我和我的一些朋友开发了一个eclipse/rad插件,我们能够测量从2GB升级到4GB所节省的时间。

    插件可在以下位置使用: http://lopb.org/

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

    无论如何,如果您想在同一台开发机器上运行rad 7和websphere 6,您应该考虑升级到4gb。每一个都需要-xms=512m-xmx=1024m作为jvm参数才能正常运行,这意味着如果只有2gb或更少的ram,您将过多地交换到磁盘。高温高压

        5
  •  2
  •   Karl    15 年前

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

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

    卡尔

        6
  •  1
  •   Michael Wiles    15 年前

    呵呵,我们在rad6和websphere 6上也遇到了同样的问题。

    我们加快速度的方法被转移到eclipse和jboss上。

    我们在eclipse和jboss上进行了开发,然后在websphere上进行了第一轮测试。我们有一些分歧的问题,但永远不会完成的项目,如果不是为输出开关(比Deving on Rad/IS的问题少得多)。

    但同时为了帮助你…

    1. 当然,可能需要自动生成和自动发布关闭。这样,您就可以做一些更改,然后告诉rad在您去喝咖啡的时候编译和部署。
    2. 在websphere中有一个“run-in-dev mode”(我知道有6.0版本),所以可以向下跟踪并打开它(在was控制台的某个地方)

    3. 我发现在堆栈的替换上工作得相当好。我发现在一天开始的时候,我会部署到was,然后至少在午餐时间之前不必重新部署(因为我正在调试)。我会做一些更改,这些更改将反馈到服务器,而无需重新部署。

    4. 很有可能,即使在运行了profiler之后,您也会发现您无能为力。

    5. 关闭所有的验证(在rad中),它们往往会花费永远。

    6. 根据您使用ee所做的工作,研究在另一个ide/server组合上进行deving的可能性,也许您可以在其中完成大部分工作,然后从rad/was部署以执行一些最终测试。如果您使用的是普通的ejb或web服务,这是可行的。

    7. 对我来说,那个最大的堆听起来确实有点小。建议启动jconsole是一个很好的建议,因为它将告诉您使用了多少堆,尽管我不确定它是否能在ibm vm(rad)上工作。您可以尝试在rad中打开内存使用监视器,告诉您正在使用多少内存,这样您就可以知道它是否达到了最大值。

        7
  •  1
  •   Michael    15 年前

    如果不通过jvm命令行开关专门启用jconsole,它将无法工作。

    来自michael wiles的建议听起来很合理,但请先将rad更新到可用的最新补丁包。

    您也可以联系支持部门。