PerfGuard: binary-centric application performance monitoring in production environments

PerfGuard: binary-centric application performance monitoring in production environments
复制标题

PerfGuard:生产环境中以二进制为中心的应用程序性能监控

DOI:
--
复制
发表时间:
2016
期刊:
SIGSOFT FSE
影响因子:
--
通讯作者:
Dongyan Xu
Dongyan Xu
中科院分区:
--
文献类型:
--
作者:
C. Kim;J. Rhee;K. H. Lee;X. Zhang;Dongyan Xu

文献摘要

被引文献

相似文献

性能问题的诊断是软件开发和维护的重要组成部分。这在生产环境中是一个特别具有挑战性的问题,因为只有程序二进制文件可用,对源代码的了解有限或为零。在大多数大型应用程序中,与大量第三方软件的集成使这个问题更加复杂。现有的方法要么需要源代码嵌入人工构造的逻辑来识别性能问题,要么需要事先进行人工分析来支持有限范围的应用程序。本文提出了一种自动化的方法来分析应用程序二进制文件,并透明地检测二进制代码,以便在应用程序事务中注入和应用性能断言。我们在不访问源代码的情况下对一组大规模应用程序二进制文件进行了评估,自动发现了10个公开的现实世界性能错误,并表明PerfGuard给生产系统带来了非常低的开销(在Apache和MySQL服务器上不到3%)。
Diagnosis of performance problems is an essential part of software development and maintenance. This is in particular a challenging problem to be solved in the production environment where only program binaries are available with limited or zero knowledge of the source code. This problem is compounded by the integration with a significant number of third-party software in most large-scale applications. Existing approaches either require source code to embed manually constructed logic to identify performance problems or support a limited scope of applications with prior manual analysis. This paper proposes an automated approach to analyze application binaries and instrument the binary code transparently to inject and apply performance assertions on application transactions. Our evaluation with a set of large-scale application binaries without access to source code discovered 10 publicly known real world performance bugs automatically and shows that PerfGuard introduces very low overhead (less than 3% on Apache and MySQL server) to production systems.