View-Centric Performance Optimization for Database-Backed Web Applications

@article{Yang2019ViewCentricPO,
  title={View-Centric Performance Optimization for Database-Backed Web Applications},
  author={Junwen Yang and Cong Yan and Chengcheng Wan and Shan Lu and Alvin Cheung},
  journal={2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)},
  year={2019},
  pages={994-1004}
}
  • Junwen Yang, Cong Yan, Alvin Cheung
  • Published 25 May 2019
  • Computer Science
  • 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)
Web developers face the stringent task of designing informative web pages while keeping the page-load time low. This task has become increasingly challenging as most web contents are now generated by processing ever-growing amount of user data stored in back-end databases. It is difficult for developers to understand the cost of generating every web-page element, not to mention explore and pick the web design with the best trade-off between performance and functionality. In this paper, we… 
View-Driven Optimization of Database-Backed Web Applications
TLDR
HYPERLOOP illustrates the idea of viewdriven optimization by allowing developers to specify priorities for each of the elements on the webpage, and uses such information to drive optimization of the entire webpage.
An Industrial Experience Report on Performance-Aware Refactoring on a Database-Centric Web Application
TLDR
This experience paper detail the process on conducting performance-aware refactoring of an industrial web application written in Laravel, the most popular web framework in PHP, and derived a complete catalog of 17 performance anti-patterns based on prior research and experimentation.
Improving Ruby on Rails-Based Web Application Performance
TLDR
This work presents a way to significantly decrease the response time of a particular Ruby on Rails application and simultaneously provide a better user experience.
Database-Access Performance Antipatterns in Database-Backed Web Applications
TLDR
This study collects database-access performance bugs from web applications that access databases through language-provided SQL interfaces, which have been largely ignored by recent work, to check how extensively the known antipatterns can cover these bugs.
Quantifying the Performance Impact of SQL Antipatterns on Mobile Applications
TLDR
A literature review and a benchmark study are conducted to investigate problematic programming practices with respect to database usage and introduce new knowledge about the impact of these practices on the resource consumption of mobile applications.
CP-Detector: Using Configuration-related Performance Properties to Expose Performance Bugs
TLDR
This paper argues that the performance expectation of configuration can serve as a strong oracle candidate for performance bug detection and designed and evaluated an automated performance testing framework, CP-DETECTOR, for detecting real-world configuration-related performance bugs.
Tigris: a DSL and Framework for Monitoring Software Systems at Runtime
Statically inferring performance properties of software configurations
TLDR
This paper designs and designs LearnConf, a static analysis tool that identifies which configurations affect what type of performance and how, and presents a taxonomy of how a configuration might affect performance through program dependencies.
Characterizing Performance Bugs in Deep Learning Systems
TLDR
This first comprehensive study to characterize symptoms, root causes, and introducing and exposing stages of PBs in DL systems developed in TensorFLow and Keras is presented, with a total of 238 PBs collected from 225 StackOverflow posts.
...
1
2
...

References

SHOWING 1-10 OF 40 REFERENCES
Understanding Database Performance Inefficiencies in Real-world Web Applications
TLDR
This study studied 27 real-world open-source applications built on top of the popular Ruby on Rails ORM framework to understand the database-related performance inefficiencies and suggested techniques to alleviate these issues and measured the potential performance gain.
How not to Structure Your Database-Backed Web Applications: A Study of Performance Bugs in the Wild
TLDR
This paper generalizes 9 ORM performance anti-patterns from more than 200 performance issues that are obtained by studying their bug-tracking systems and profiling their latest versions and obtains a median speedup of 2× with fewer than 5 lines of code change in most cases.
PowerStation: automatically detecting and fixing inefficiencies of database-backed web applications in IDE
TLDR
Using automated static analysis, PowerStation detects ORM-related inefficiency problems and suggests fixes to developers and shows that PowerStation can automatically detects 1221 performance issues across them.
Automatic Partitioning of Database Applications
TLDR
Pyxis is a system that takes database-backed applications and automatically partitions their code into two pieces, one of which is executed on the application server and the other on the database server, and has comparable performance to that of a custom stored procedure implementation.
Finding and Evaluating the Performance Impact of Redundant Data Access for Applications that are Developed Using Object-Relational Mapping Frameworks
TLDR
By resolving the redundant data problems, the system response time for the studied systems can be improved by an average of 17 percent and an automated approach is proposed to assess the impact and prioritize the resolution efforts.
Detecting performance anti-patterns for applications developed using object-relational mapping
TLDR
This paper proposes an automated framework to detect ORM performance anti-patterns and provides sup- port to prioritize performance bug fixes based on a statistically rigorous performance assessment.
Sloth: being lazy is a virtue (when issuing database queries)
TLDR
Sloth is a new system that extends traditional lazy evaluation to expose query batching opportunities during application execution, even across loops, branches, and method boundaries, and achieved up to a 3x reduction in page load time by delaying computation.
Optimizing database-backed applications with query synthesis
TLDR
This paper presents QBS, a system that automatically transforms fragments of application logic into SQL queries, and demonstrates that this approach can convert a variety of imperative constructs into relational specifications and significantly improve application performance asymptotically by orders of magnitude.
Performance Issues and Optimizations in JavaScript: An Empirical Study
TLDR
An empirical study of 98 fixed performance issues from 16 popular client-side and server-side JavaScript projects identifies eight root causes of issues and shows that inefficient usage of APIs is the most prevalent root cause.
A scalable technique for characterizing the usage of temporaries in framework-intensive Java applications
TLDR
An optimized blended escape analysis to approximate object lifetimes and thus, to identify these temporaries and their uses is presented, offering the first characterization of temporaries in framework-intensive applications.
...
1
2
3
4
...