A comparative study of application-level caching recommendations at the method level

被引:0
作者
Rômulo Meloca
Ingrid Nunes
机构
[1] Universidade Federal do Rio Grande do Sul (UFRGS),Instituto de Informática
来源
Empirical Software Engineering | 2022年 / 27卷
关键词
Software performance; Caching; Application-level caching; Memoisation; Empirical study; Web applications;
D O I
暂无
中图分类号
学科分类号
摘要
Performance and scalability requirements have a fundamental role in most large-scale software applications. To satisfy such requirements, caching is often used at various levels and infrastructure layers. Application-level caching—or memoization—is an increasingly used form of caching within the application boundaries, which consists of storing the results of computations in memory to avoid re-computing them. This is typically manually done by developers, who identify caching opportunities in the code and write additional code to manage the cache content. The task of identifying caching opportunities is a challenge because it requires the analysis of workloads and code locations where it is feasible and beneficial to cache objects. To aid developers in this task, there are approaches that automatically identify cacheable methods. Although such approaches have been individually evaluated, their effectiveness has not been compared. We thus in this paper present an empirical evaluation to compare the method recommendations made by the two existing application-level caching approaches at the method level, namely APLCache and MemoizeIt, using seven open-source web applications. We analyse the recommendations made by each approach as well as the hits, misses and throughput achieved with their valid caching recommendations. Our results show that the effectiveness of both approaches largely depends on the specific application, the presence of invalid recommendations and additional configurations, such as the time-to-live. By inspecting the obtained results, we observed in which cases the recommendations of each approach fail and succeed, which allowed us to derive a set of seven lessons learned that give directions for future approaches to support developers in the adoption of this type of caching.
引用
收藏
相关论文
共 20 条
[1]  
Ali W(2012)Intelligent Web proxy caching approaches based on machine learning techniques Decis Support Syst 53 565-579
[2]  
Shamsuddin SM(2011)Neuro-fuzzy system in partitioned client-side Web cache Expert Systems with Applications 38 14715-14725
[3]  
Ismail AS(2001)Enabling dynamic content caching for database-driven web sites ACM SIGMOD Record 30 532-543
[4]  
Ali Ahmed W(2004)Outperforming LRU with an adaptive replacement cache algorithm Computer 37 58-65
[5]  
Shamsuddin SM(2018)Automation of application-level caching in a seamless way Software - Practice and Experience 18 41-49
[6]  
Candan KS(2014)Characterizing Facebook’s Memcached Workload IEEE Internet Computing 15 1050-1053
[7]  
Li WS(2003)Web-log mining for predictive web caching IEEE Transactions on Knowledge and Data Engineering undefined undefined-undefined
[8]  
Luo Q(undefined)undefined undefined undefined undefined-undefined
[9]  
Hsiung WP(undefined)undefined undefined undefined undefined-undefined
[10]  
Agrawal D(undefined)undefined undefined undefined undefined-undefined