8

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

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

4

7 回答 7

5

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

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

  • 你的机器有多少内存?为 WS 提供 1GB 的 RAM 很好,但如果您的计算机只有 1GB 的实际 RAM,它就会将自己交换至死。如果你的老板不付钱,那就用你自己的钱去买一些内存。2GB 不到 80 美元的 ATM。我建议至少获得 4GB。是的,即使安装了 4 个,Windows 也只能使用 3.5GB,但那半 GB 的成本为 20 美元或更少。即使考虑这个问题超过五分钟,也比简单地购买它要花费更多。

  • 接下来确定您是否使用了正确的 Java GC 选项。文档中应该有一些关于此的信息。另外确保该进程使用“服务器”目录中的“jvm.dll”,而不是“客户端”目录。“进程资源管理器”会有所帮助。

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

  • 当一切都失败时,在分析器中运行 websphere 并查看它一直在哪里花费。

于 2009-05-14T13:12:27.623 回答
4

亚伦有很好的建议。

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

于 2009-05-14T13:18:45.703 回答
2

柏林,

RAD 7 让您的 PC 崩溃!当我使用它开发 Portlet 时,我遵循了这个优化指南,它使 IDE 开发 Portlet 的速度显着加快。显然它是针对 Portlet 开发的,但它可能会对您有所帮助。

遵循对这个问题的答案给出的建议也将有所帮助。

于 2009-05-22T21:05:02.597 回答
2

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

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

卡尔

于 2009-08-10T14:35:54.633 回答
2

我绝对同意亚伦·迪古拉的观点。在您的开发机器上安装 4GB RAM 后,您将看到性能的显着提升。我和我的一些朋友一起开发了一个 Eclipse/RAD 插件,我们能够衡量从 2GB 升级到 4GB 节省了多少时间。

该插件可在此处获得:http: //lopb.org/

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

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

于 2009-07-30T03:13:43.883 回答
1

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

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

您也可以联系支持人员。

于 2010-05-18T07:40:52.327 回答
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 部署以进行一些最终测试。如果您使用普通 ejb 或 Web 服务,这是可行的。

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

于 2009-07-02T20:24:52.850 回答