【问题标题】:Performance Management Tool for 2 or more applications用于 2 个或更多应用程序的性能管理工具
【发布时间】:2014-09-26 08:12:30
【问题描述】:

我正在开发一个企业应用程序,该应用程序之前使用 MyEclipse 工具进行 Java/Java EE 开发、EJB 2.1 和 WAS 7.0,最近我们迁移到了 EJB 3.1、Websphere 8.5.5 和 Eclipse Kepler。现在,我们注意到应用程序的性能有所提高,屏幕加载速度更快。

现在我面临的问题是将早期的应用程序与我们升级到的应用程序进行比较,并确定那些导致应用程序加速的区域。到目前为止,没有为此应用程序记录的性能指标,所以我没有任何可比较的东西。

我所想的只是将升级前的应用程序部署在一个盒子上,将升级后的应用程序部署在另一个盒子上,并记录所有屏幕的加载时间。现在,这并不像想象的那么微妙,所以想从你们那里知道是否有任何工具或策略来比较两个工作应用程序并根据 EJB 方法时间、JSP 加载时间、业务逻辑时间、数据库给出性能指标提供真正的升级收益分析的操作。

另外,你们认为升级应用服务器和集成开发环境 (Eclipse Kepler) 是否有助于提高速度?

【问题讨论】:

  • 我认为您期望所有事情都有一个非常简单的方法,但这是不可用的,尽管有些工具提供了一些分析,但对于找到确切的改进和预测没有意义。有一个详细的性能。测试总是有益的。

标签: java eclipse performance performance-testing websphere-8


【解决方案1】:

如果您仍然有两个环境(WAS 7 和 WAS 8.5.5)和一些加载脚本,我建议在 WAS 中使用 PMI (Performance monitoring infrastructure)。您可以启用您感兴趣的指标,设置要保存到日志的数据并在两种环境中运行测试。然后,您将能够看到两种环境的收集指标。

另一个选项可以是免费的WebSphere Application Server Performance Tuning Toolkit,可用于收集性能数据。可作为独立(旧版本)或作为 IBM Support Assistant (ISA) 的插件使用。

可以升级应用服务器和集成 开发环境(Eclipse Kepler)可能有助于 这个速度?

当然。 WAS 8.5.5 通常比 v7.0 快。例如,它默认使用 genCon 垃圾回收策略,在大多数情况下,它比 optthroughput 更有效。
开发环境对应用程序运行时性能没有影响,但也许它在开发过程中响应更快,这就是为什么您有“更快”的感觉。

【讨论】:

  • 谢谢。在 SIT 和 Sandbox 等更高的环境中,应用程序的性能已经提高,因此并不是它的 Dev 提供了“更快”的感觉。你不认为在 WAS 控制台上启用 PMI 会使服务器在运行时变慢,因为它记录了所有内容?
  • @YogendraJ 如果您不将其设置为All,它不会记录“所有内容”。 Basic 和 Extended 的影响大约为 2-4%,所以不是很大。否则,将其用作性能指标是没有意义的。而且您始终可以使用Custom 选项并仅启用您真正需要的那些(但我可能会从扩展开始,看看它是否满足您的所有需求并且性能可以接受)。
  • 谢谢,我会研究可用的选项。
【解决方案2】:

我认为您需要对两个应用程序版本进行基准测试,然后比较两者以查看改进。

为了比较两个版本,请遵循以下方法,

  1. 在完全相同的硬件上部署两个版本以创建两个版本的不同实例
  2. 确定您发现改进的工作流/场景以及对您的应用程序很重要的场景(主要用于/繁重/对客户端很重要等)
  3. 在两个版本上对这些场景进行性能测试/负载测试
  4. 测量所有页面的响应时间以及系统指标,例如 CPU、内存、分页、磁盘等。
  5. 根据两个版本的结果,对两个版本进行分析比较。

如果需要,进行性能调整和优化回合以改进结果。 这是关于策略的。

对于工具,

  1. 检查 Ganglia,munin,graphite,carbon,sar,perfmon,nmon 的系统指标(如果它是一个集群,那么像 ganglia、munin 这样的 RRD 工具会更好,如果它是一个单一的盒子实例,那么适用于 linux 的 sar 可以在 Windows 上运行perfmon 就可以了。)
  2. 对于负载测试,JMeter 是更好的选择,但您有足够的资金,然后选择 loadrunner、neoload、理性性能测试器和云,试试 blazemeter
  3. 对于J2EE级别的分析,可以使用IBM health center(我觉得使用效率很低),可以使用JProfiler、yourkit、jvisualvm
  4. 对于 WAS,性能监控基础设施。可与标准选项一起使用,它的开销较低,但如果您增加日志记录计数器和级别,它会对性能产生巨大影响。

我希望现在一切都清楚了:)

【讨论】:

  • 谢谢。我检查了你提到的工具,但它们都没有真正提供 Java 和 JEE 级别的分析和比较 2 个应用程序。
  • 现在修改了ans检查。
  • @NachiketKate 我不知道你从哪里找到 PMI 对性能有巨大影响的信息,但那不是真的。也许您正在将 PMI 与跟踪混合使用。
  • @Gas :实际上我已经在 WAS 上多次使用它来进行性能调整,我有服务器类硬件,在其上使用自定义性能计数器我总是发现它具有相当大的影响开销。我部署的应用程序是 TIM,它本身很重,也许我观察到的是特定于 TIM。
  • @NachiketKate 我在 WAS 调优期间也使用过很多次。不幸的是,所有以 T 开头的东西都非常重(例如 TIM、TEP 等),不应将其与以 W 开头的产品进行比较和对待;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-17
相关资源
最近更新 更多