This page presents additional results not included in the final version of the paper entitled Automation of Application-level Caching in a Seamless Way, by Jhonny Mertz and Ingrid Nunes. In this paper we introduce an automated caching approach to automatically identify application-level cache content at runtime, by monitoring system execution and adaptively managing caching decisions. Our approach is implemented as a framework that can be seamlessly integrated into new and existing web applications. In addition to the reduction of the effort required from developers to develop a caching solution, an empirical evaluation showed that our approach significantly speedups and improves hit ratios, with improvements ranging from 2.78% to 17.18%.
To evaluate our approach, simulations were performed using three different caching configurations: (i) no application-level caching (NO), (ii) application-level caching manually designed and implemented by developers (DEV); and (iii) our approach (AP). To assess performance, we used three metrics: throughput (number of requests handled per second), hit ratio and the total number of hits, because they are well-known in the context of web applications and cache performance tests. Our simulation emulated client sessions to exercise applications and evaluate decision criteria. Simulations consisted of variations of 1, 5, 10, 25 and 50 simultaneous users constantly navigating through the application, always at a limit of 500 requests per user. Each simulation was repeated ten times, and the mean of each metric was collected. For all the executions of AP, caches were bounded by a cache size and configured with a TTL, which were both specified and used by developers of our target systems (DEV). As the results may be influenced by the cache policy adopted, in addition to our standard technique based on TTL, we also evaluated our approach combined with popular replacement policies, namely least recently used (LRU) or least frequently used (LFU).
Our evaluation was performed with three open-source web applications, presented in table below, which summarizes the general characteristics of each target system.
| Project name | Domain | LOC |
|---|---|---|
| Cloud Store | e-Commerce based on TPC-W benchmark | 7.6K |
| Pet Clinic | Sample application | 6.3K |
| Shopizer | E-commerce | 111.3K |
Figures below show the throughput obtained for each target application in simulations with different amount of simultaneous users and setups.
Tables below presents the complete results for every combination of our setup.
| A | B | C | D | E | F | G | H | I | J | K | L | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 1 user | |||||||||||
2 | Application | NO | DEV | AP | ||||||||
3 | TR | TR | TR Diff % | Hit Ratio | Hit abs | TR | TR Diff % | Hit Ratio | Hit Ratio Diff % | Hit abs | Hit abs Diff % | |
4 | Cloudstore | 8.37 | 9.13 | 9.08004779 | 73.00249688 | 233.9 | 9.15 | 9.318996416 | 96.66802944 | 32.41742895 | 472.9 | 102.180419 |
5 | petclinic | 7.06 | 7.25 | 2.69121813 | 99.44277754 | 232 | 7.39 | 4.674220963 | 93.18313114 | -6.294722006 | 322.6 | 39.05172414 |
6 | shopizer | 4.65 | 4.86 | 4.516129032 | 73.29752066 | 1773.8 | 5.09 | 9.462365591 | 99.97573143 | 36.39715304 | 7415.2 | 318.0403653 |
7 | ||||||||||||
8 | 5 users | |||||||||||
9 | Application | NO | DEV | AP | ||||||||
10 | TR | TR | TR Diff % | Hit Ratio | Hit abs | TR | TR Diff % | Hit Ratio | Hit Ratio Diff % | Hit abs | Hit abs Diff % | |
11 | Cloudstore | 22.28 | 22.73 | 2.019748654 | 74.25081843 | 1179.4 | 22.9 | 2.782764811 | 97.42390647 | 31.20920217 | 2416.6 | 104.900797 |
12 | petclinic | 7.68 | 8.47 | 10.28645833 | 99.5828896 | 1122.1 | 9 | 17.1875 | 92.70460579 | -6.907094012 | 1606.2 | 43.14232243 |
13 | shopizer | 15.92 | 16.25 | 2.072864322 | 73.44583391 | 8991.9 | 16.96 | 6.532663317 | 99.98468711 | 36.13391227 | 35259 | 292.1195743 |
14 | ||||||||||||
15 | 10 users | |||||||||||
16 | Application | NO | DEV | AP | ||||||||
17 | TR | TR | TR Diff % | Hit Ratio | Hit abs | TR | TR Diff % | Hit Ratio | Hit Ratio Diff % | Hit abs | Hit abs Diff % | |
18 | Cloudstore | 28.84 | 29.21 | 1.282940361 | 74.92189719 | 2374.2 | 29.35 | 1.768377254 | 97.56726821 | 30.22530378 | 7223.1 | 204.2330048 |
19 | petclinic | 8.38 | 8.9 | 6.205250597 | 99.59846147 | 2356.4 | 9.11 | 8.711217184 | 94.31672307 | -5.303032119 | 3232.8 | 37.19232728 |
20 | shopizer | 22.2 | 23.64 | 6.486486486 | 73.47357954 | 18028.8 | 24.56 | 10.63063063 | 99.98417135 | 36.08180243 | 70114.9 | 288.9049743 |
21 | ||||||||||||
22 | 25 users | |||||||||||
23 | Application | NO | DEV | AP | ||||||||
24 | TR | TR | TR Diff % | Hit Ratio | Hit abs | TR | TR Diff % | Hit Ratio | Hit Ratio Diff % | Hit abs | Hit abs Diff % | |
25 | Cloudstore | 30.42 | 30.49 | 0.2301117686 | 74.73433562 | 5900.5 | 30.57 | 0.4930966469 | 97.5072361 | 30.47180429 | 18157.7 | 207.7315482 |
26 | petclinic | 10.41 | 10.75 | 3.266090298 | 99.64961087 | 5659.5 | 10.93 | 4.995196926 | 94.21793745 | -5.450772334 | 7935.6 | 40.21733369 |
27 | shopizer | 26.61 | 27.34 | 2.743329575 | 73.41712005 | 44962.7 | 28.02 | 5.298759865 | 99.98902167 | 36.19305905 | 175781.5 | 290.9496093 |
28 | ||||||||||||
29 | 50 users | |||||||||||
30 | Application | NO | DEV | AP | ||||||||
31 | TR | TR | TR Diff % | Hit Ratio | Hit abs | TR | TR Diff % | Hit Ratio | Hit Ratio Diff % | Hit abs | Hit abs Diff % | |
32 | Cloudstore | 30.45 | 30.5 | 0.1642036125 | 76.90644939 | 13270.9 | 30.59 | 0.4597701149 | 97.53143496 | 26.81827823 | 36285.4 | 173.4207929 |
33 | petclinic | 12.21 | 12.92 | 5.814905815 | 99.66067613 | 11102 | 13.39 | 9.664209664 | 94.12025738 | -5.55928273 | 15271.2 | 37.55359395 |
34 | shopizer | 28.15 | 29.32 | 4.156305506 | 73.38015897 | 89690 | 30.69 | 9.023090586 | 99.9861424 | 36.2577348 | 351383.1 | 291.7751143 |
35 | ||||||||||||
36 | ||||||||||||
37 | ||||||||||||
38 | AP - 1 user | |||||||||||
39 | Application | TTL only | LRU | LFU | ||||||||
40 | TR | Hit Ratio | Hit abs | TR | Hit Ratio | Hit abs | TR | Hit Ratio | Hit abs | |||
41 | Cloudstore | 9.15 | 96.66802944 | 472.9 | 9.14 | 96.83597002 | 465.2 | 9.14 | 96.65709598 | 471.3 | ||
42 | petclinic | 7.39 | 93.18313114 | 322.6 | 7.38 | 93.43000888 | 315.7 | 7.38 | 93.01981662 | 314.5 | ||
43 | shopizer | 5.09 | 99.97573143 | 7415.2 | 5.1 | 99.97566581 | 7395.2 | 5.09 | 99.97539975 | 7315.2 | ||
44 | ||||||||||||
45 | AP - 5 users | |||||||||||
46 | Application | TTL only | LRU | LFU | ||||||||
47 | TR | Hit Ratio | Hit abs | TR | Hit Ratio | Hit abs | TR | Hit Ratio | Hit abs | |||
48 | Cloudstore | 22.9 | 97.42390647 | 2416.6 | 22.89 | 97.42591917 | 2403.4 | 22.88 | 97.44045216 | 2413.6 | ||
49 | petclinic | 9 | 92.70460579 | 1606.2 | 9.01 | 92.86923164 | 1646.2 | 9 | 92.85714286 | 1643.2 | ||
50 | shopizer | 16.96 | 99.98468711 | 35259 | 16.94 | 99.98419407 | 34159 | 16.94 | 99.98424112 | 34261 | ||
51 | ||||||||||||
52 | AP - 10 users | |||||||||||
53 | Application | TTL only | LRU | LFU | ||||||||
54 | TR | Hit Ratio | Hit abs | TR | Hit Ratio | Hit abs | TR | Hit Ratio | Hit abs | |||
55 | Cloudstore | 29.35 | 97.56726821 | 7223.1 | 29.33 | 97.58112493 | 7217.1 | 29.34 | 97.57979514 | 7221.1 | ||
56 | petclinic | 9.11 | 94.31672307 | 3232.8 | 9.12 | 94.28336659 | 3212.8 | 9.11 | 94.29775774 | 3221.4 | ||
57 | shopizer | 24.56 | 99.98417135 | 70114.9 | 24.54 | 99.98419389 | 70214.9 | 24.55 | 99.98424101 | 70424.9 | ||
58 | ||||||||||||
59 | AP - 25 users | |||||||||||
60 | Application | TTL only | LRU | LFU | ||||||||
61 | TR | Hit Ratio | Hit abs | TR | Hit Ratio | Hit abs | TR | Hit Ratio | Hit abs | |||
62 | Cloudstore | 30.57 | 97.5072361 | 18157.7 | 30.56 | 97.53130225 | 18141.7 | 30.54 | 97.52397155 | 18114.2 | ||
63 | petclinic | 10.93 | 94.21793745 | 7935.6 | 10.93 | 94.20968777 | 7923.6 | 10.93 | 94.2041749 | 7915.6 | ||
64 | shopizer | 28.02 | 99.98902167 | 175781.5 | 27.99 | 99.98889533 | 173781.5 | 27.99 | 99.98872998 | 171231.5 | ||
65 | ||||||||||||
66 | AP - 50 users | |||||||||||
67 | Application | TTL only | LRU | LFU | ||||||||
68 | TR | Hit Ratio | Hit abs | TR | Hit Ratio | Hit abs | TR | Hit Ratio | Hit abs | |||
69 | Cloudstore | 30.59 | 97.53143496 | 36285.4 | 30.58 | 97.55371117 | 36225.4 | 30.57 | 97.56485866 | 36279.2 | ||
70 | petclinic | 13.39 | 94.12025738 | 15271.2 | 13.38 | 94.08379431 | 15171.2 | 13.38 | 94.07276704 | 15141.2 | ||
71 | shopizer | 30.69 | 99.9861424 | 351383.1 | 30.67 | 99.98573654 | 341383.1 | 30.66 | 99.98646778 | 359833.1 | ||
Table below presents the number of caching opportunities that DEV and AP were able to selected.
| Application | Total | DEV | AP | Intersection | DEV Only | AP Only |
|---|---|---|---|---|---|---|
| Cloud Store | 812 | 4 | 8 | 4 | 0 | 4 |
| Pet Clinic | 205 | 1 | 4 | 1 | 0 | 3 |
| Shopizer | 5212 | 15 | 22 | 15 | 0 | 7 |