2个或更多应用程序的性能管理工具

时间:2014-09-26 08:12:30

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

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

现在我面临的问题是将早期的应用程序与我们升级到的应用程序进行比较,并确定那些导致应用程序加速的领域。到目前为止,此应用程序尚未记录任何性能指标,因此我无法与之进行比较。

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

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

2 个答案:

答案 0 :(得分:1)

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

用于比较两个版本,遵循以下方法,

  1. 在完全相似的hw上部署两个版本以创建2个版本的差异实例
  2. 确定您发现改进的工作流程/方案以及对您的应用程序非常重要的方案(主要用于/重/对客户等重要)。
  3. 对两个版本的场景进行性能测试/负载测试
  4. 测量所有页面的响应时间以及系统指标,即CPU,内存,分页,磁盘等。
  5. 根据两个版本的结果,进行分析并比较两个版本。
  6. 如果需要,可以进行性能调整和优化,以改善结果。 这是关于战略的。

    对于工具,

    1. 检查Ganglia,munin,graphite,carbon,sar,perfmon,nmon的系统指标(如果它是一个群集然后RRD工具,如ganglia,munin更好,如果它的单个盒子实例然后sar for linux将在Windows上执行perfmon会做的。)
    2. 对于负载测试,JMeter是更好的选择,但你有足够的资金,然后去loadrunner,neoload,理性的性能测试器和云,尝试blazemeter
    3. 对于J2EE级别分析,可以使用IBM健康中心(根据我的使用效率非常低),可以使用JProfiler,yourkit,jvisualvm
    4. 对于WAS,性能监测基础设施。它具有标准选项,具有较低的开销,但如果您增加了记录计数器和级别,则会产生巨大的性能影响。
    5. 我希望现在情况很清楚:)。

答案 1 :(得分: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更有效 开发环境对应用程序运行时性能没有影响,但可能在开发过程中响应更快,这就是为什么你有“更快”的感觉。