0

从 WAS FixPack15 迁移到 FixPack 21 后,我发现我的应用程序启动时间变长了。应用程序启动时间是指日志语句之间的间隔:

WSVR0200I: 正在启动应用程序

WSVR0221I: 应用程序已启动

该间隔在 FP 15 上小于 10 秒,但在 FP 21 上为 2 分钟。除了新的修订包外,没有任何变化。但是,如果我反弹我的 WAS 实例,然后启动应用程序,启动时间很短(10 秒)。但有时当我不反弹我的 WAS 实例时,我在 FP 21 上的应用程序启动需要 2 分钟,而过去在 FP 15 上需要 10 秒。

我想知道你们中是否有人对如何解决此问题有任何指示。

我的操作系统是 Red Hat Enterprise Linux Server 5.1 (Tikanga)

4

3 回答 3

1

一些想法:

  1. 在 2 分钟的暂停期间,每隔 30 秒执行几个 javacores(kill -3 PID),并使用诸如 Thread and Monitor Dump 分析器之类的东西来比较多个线程转储,以查看线程是否“卡在”某处,进行外部调用或循环。请参阅 Linux Hang MustGather:http ://www-01.ibm.com/support/docview.wss?uid=swg21115785
  2. 在这 2 分钟的时间间隔内检查 verbosegc(使用诸如垃圾收集和内存可视化器之类的东西)以查看当时是否有 GC 暂停(暂停 2 分钟意味着您还有其他问题)。
  3. 尝试在测试环境中重现问题。在那里您可以进行更重的调试(例如#4)。
  4. 在启动应用程序之前动态开启 *=all right。显然这将对性能造成巨大影响,但除非这是一个时间问题,否则您应该能够看到时间戳或某种多余活动中的任何“间隙”。使用 WebSphere Application Server 的 Trace Analyzer 来管理 trace.log 文件。
于 2009-07-14T20:44:35.060 回答
1

我会做的一件事是通过将日志与较快版本和较慢版本进行比较来计时。这可以让您将糟糕的性能缩小到单个组件而不是整个组件。

我过去使用过 21 并没有注意到它变慢了,但这说明我在 AIX 和 Windows 上使用它,所以这可能是操作系统问题。

如果您缩小性能不佳的功能,请在此处发布,然后我会再看一下。

问候,

迈克尔。

于 2009-07-13T11:57:31.927 回答
1

我从 FP13 转到 FP21,并没有看到我的应用程序有任何减速,但那是在 Windows 上。

你确定那是你唯一改变的东西吗?

您是否在应用程序中使用任何 WebSphere API/代码?

你真的应用了所有的补丁包吗?下载页面是真实的眼图,但您必须更新 WebSphereJava SDK。如果您使用 IHS,您还必须更新 IHS、插件和 SDK。

最后,您说它只是在重新启动应用程序时很慢,但在重新启动整个服务器时不会。我想知道您的应用程序是否存在 JVM 堆问题。你跑了多大的堆?重新启动时是否看到 GC 问题?

于 2009-07-13T14:27:05.030 回答