首页> 外文会议>IEEE/ACM International Conference on Software Engineering >How not to structure your database-backed web applications: a study of performance bugs in the wild
【24h】

How not to structure your database-backed web applications: a study of performance bugs in the wild

机译:如何不构建数据库备份的Web应用程序:野外绩效错误的研究

获取原文

摘要

Many web applications use databases for persistent data storage, and using Object Relational Mapping (ORM) frameworks is a common way to develop such database-backed web applications. Unfortunately, developing efficient ORM applications is challenging, as the ORM framework hides the underlying database query generation and execution. This problem is becoming more severe as these applications need to process an increasingly large amount of persistent data. Recent research has targeted specific aspects of performance problems in ORM applications. However, there has not been any systematic study to identify common performance anti-patterns in real-world such applications, how they affect resulting application performance, and remedies for them. In this paper, we try to answer these questions through a comprehensive study of 12 representative real-world ORM applications. We generalize 9 ORM performance anti-patterns from more than 200 performance issues that we obtain by studying their bug-tracking systems and profiling their latest versions. To prove our point, we manually fix 64 performance issues in their latest versions and obtain a median speedup of 2x (and up to 39x max) with fewer than 5 lines of code change in most cases. Many of the issues we found have been confirmed by developers, and we have implemented ways to identify other code fragments with similar issues as well.
机译:许多Web应用程序使用数据库进行持久数据存储,并且使用对象关系映射(ORM)框架是开发此类数据库支持的Web应用程序的常用方法。不幸的是,开发有效的ORM应用程序是具有挑战性的,因为ORM框架隐藏了底层数据库查询生成和执行。由于这些应用程序需要处理越来越大的持久数据,因此此问题变得越来越严重。最近的研究在ORM应用中有针对性问题的特定方面。但是,尚未有任何系统的研究来确定现实世界此类应用中的常见性能反模式,它们如何影响导致的应用程序性能,以及它们的补救措施。在本文中,我们试图通过全面研究12个代表现实世界orm应用来回答这些问题。通过研究他们的错误跟踪系统和分析最新版本,从200多个性能问题上概括了来自200多个性能问题的9个ORM性能反模式。为了证明我们的观点,我们在最新版本中手动修复了64个性能问题,并在大多数情况下,使用少于5行代码更改的2x(最多39倍最大)的中位数。我们发现的许多问题已被开发人员确认,我们已经实施了识别具有类似问题的其他代码片段的方法。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号