首页> 外文会议>Working Conference on Mining Software Repositories >Studying the Effectiveness of Application Performance Management (APM) Tools for Detecting Performance Regressions for Web Applications: An Experience Report
【24h】

Studying the Effectiveness of Application Performance Management (APM) Tools for Detecting Performance Regressions for Web Applications: An Experience Report

机译:研究用于检测Web应用程序性能回归的应用程序性能管理(APM)工具的有效性:一份经验报告

获取原文

摘要

Performance regressions, such as a higher CPU utilization than in the previous version of an application, are caused by software application updates that negatively affect the performance of an application.Although a plethora of mining software repository research has been done to detect such regressions, research tools are generally not readily available to practitioners. Application Performance Management (APM) tools are commonly used in practice for detecting performance issues in the field by mining operational data.In contrast to performance regression detection tools that assume a changing code base and a stable workload, APM tools mine operational data to detect performance anomalies caused by a changing workload in an otherwise stable code base. Although APM tools are widely used in practice, no research has been done to understand 1) whether APM tools can identify performance regressions caused by code changes and 2) how well these APM tools support diagnosing the root-cause of these regressions.In this paper, we explore if the readily accessible APM tools can help practitioners detect performance regressions. We perform a case study using three commercial (AppDynamics, New Relic and Dynatrace) and one open source (Pinpoint) APM tools. In particular, we examine the effectiveness of leveraging these APM tools in detecting and diagnosing injected performance regressions (excessive memory usage, high CPU utilization and inefficient database queries) in three open source applications. We find that APM tools can detect most of the injected performance regressions, making them good candidates to detect performance regressions in practice. However, there is a gap between mining approaches that are proposed in state-of-the-art performance regression detection research and the ones used by APM tools. In addition, APM tools lack the ability to be extended, which makes it hard to enhance them when exploring novel mining approaches for detecting performance regressions.
机译:性能退化(例如比应用程序的先前版本更高的CPU利用率)是由软件应用程序更新造成的,这些更新会对应用程序的性能产生负面影响。尽管已经进行了大量挖掘软件存储库研究以检测此类退化,从业人员通常不容易使用这些工具。应用性能管理(APM)工具在实践中通常用于通过挖掘运营数据来检测现场性能问题。与性能回归检测工具假设代码库不断变化且工作负载稳定相比,APM工具挖掘运营数据来检测性能由本来稳定的代码库中不断变化的工作负载引起的异常。尽管APM工具在实践中被广泛使用,但尚未进行任何研究来了解1)APM工具是否可以识别由代码更改引起的性能下降,以及2)这些APM工具对诊断这些回归的根本原因的支持程度如何。 ,我们探讨了现成的APM工具是否可以帮助从业人员检测性能下降。我们使用三种商业软件(AppDynamics,New Relic和Dynatrace)和一种开源(Pinpoint)APM工具进行案例研究。特别是,我们检查了在三个开源应用程序中利用这些APM工具检测和诊断注入的性能退化(过多的内存使用,高CPU使用率和低效率的数据库查询)的有效性。我们发现,APM工具可以检测到大多数注入的性能下降,使其成为在实践中检测性能下降的理想选择。但是,最新的性能回归检测研究中提出的挖掘方法与APM工具使用的挖掘方法之间存在差距。另外,APM工具缺乏扩展能力,这使得在探索用于检测性能回归的新颖挖掘方法时很难对其进行增强。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号