The Medusa Proxy a Tool for Exploring User-Perceived Web Performance
Total Page:16
File Type:pdf, Size:1020Kb
The Medusa Proxy A Tool For Exploring User-Perceived Web Performance Mimika Koletsou and Geoffrey M. Voelker Department of Computer Science and Engineering University of California, San Diego 9500 Gilman Dr., MS 0114 La Jolla, CA 92093-0114 USA g fkoletsou,voelker @cs.ucsd.edu Abstract example, it is not uncommon for users to believe that Web caches impose noticeable overhead to browsing, or for content distribu- In this paper we describe the Medusa proxy, a tool for explor- tion network (CDN) companies such as Akamai [1] to make ag- ing user-perceived Web performance. The Medusa proxy is a gressive claims about improvements in download performance. non-caching forwarding proxy used in conjunction with a user’s Currently, though, there is no convenient way for users to vali- browser. The two key features that the Medusa proxy provides date those beliefs or claims. are (1) the ability to simultaneously mirror HTTP requests from Characterizing user-perceived Web performance is challenging the browser to different Web delivery systems and directly com- because of the difficulty of generalizing conclusions about per- pare the results, and (2) the ability to transform requests, e.g., to formance results across a wide range of user environments and transform Akamai URLs back into URLs to the customer’s origin network locations. Rather than try to generalize our conclusions server. across a diverse group of users, we have developed the Medusa We show how the Medusa proxy can be used to explore user- proxy as a convenient tool with which individual users can ex- perceived Web performance using two experiments that deter- plore their Web performance, and the impact of various Web de- mine (1) to what extent using large-scale caching systems like livery systems on that performance, from their desktop. the NLANR cache hierarchy improve user-perceived latency, and The Medusa proxy is a non-caching forwarding proxy used in (2) to what extent content distribution networks like Akamai im- conjunction with a user’s browser. The Medusa proxy provides prove latency compared with using their customer’s origin server. two key features for experimenting with user-perceived Web per- We found that the NLANR cache hierarchy served 63% of HTTP formance. The first feature is the ability to simultaneously mirror requests in our workload at least as fast as the origin servers, re- HTTP requests from the browser to different Web delivery sys- sulting in a decrease of average latency of 15%. By transforming tems and directly compare the results. For example, the Medusa and mirroring Akamai URLs to both Akamai edge servers and proxy can mirror requests to a proxy cache and to the origin server their customer’s origin servers, we find that Akamai edge servers to evaluate the effectiveness of the proxy cache on reducing la- are able to serve HTTP requests an average of 5.7 times as fast tency. The second feature is the ability to transform HTTP re- as their customers. However, because requests to Akamai edge quests. For example, users can install a filter that transforms an servers are only 6% of our workload, we find that using Akamai Akamai URL into the URL to the original object on the Aka- reduces overall mean latency by only 2% for our workload. mai customer’s origin server. By transforming and mirroring re- quests, the Medusa proxy can then simultaneously download the Keywords: User-Perceived Web Performance, Web Proxy, Web object from an Akamai edge server and the customer origin server Caching, Content Distribution Networks and evaluate the effectiveness of having Akamai deliver that cus- tomer’s content to the user. In this paper we describe the features of the Medusa Web proxy 1 Introduction and its uses for exploring Web performance, such as examining HTTP request headers, mirroring requests and monitoring perfor- In this paper, we describe the Medusa proxy, a tool for explor- mance, recording and replaying traces, transforming requests for ing user-perceived Web performance. There has been extensive privacy or experimentation, validating responses from experimen- work evaluating the macroscopic impact of Web infrastructure tal delivery systems, and accelerating performance; in this paper, for improving overall Web performance, such as caching systems we focus on user-perceived latency as the primary performance (e.g., [2, 6, 7, 9, 16, 17, 19, 21, 25, 30, 32, 34]), prefetching systems metric, although the Medusa proxy can be used to explore other (e.g., [4, 11, 15, 18, 27, 29]), and to a limited extent content dis- performance metrics such as bandwidth, request rate, etc. We tribution networks (e.g., [20, 22]). Surprisingly, however, there then use the Medusa proxy to answer the following performance has been relatively little work characterizing the impact on Web and optimization questions: performance as perceived by the user of various Web delivery systems. Although we have a relatively good understanding of To what extent do large-scale cache systems like the how improvements in Web infrastructure impact overall latency, NLANR cache hierarchy improve user-perceived latency? server load, and network utilization for large groups of users, we What is the potential of using the Medusa proxy as a Web do not have a good understanding of how those improvements accelerator, returning the fastest-of-n mirrored parallel re- affect individual users at the desktop. In particular, there is no quests? convenient mechanism by which users can determine the impact new developments in Web infrastructure, such as caching, con- To what extent do content distribution networks like Akamai tent distribution, or prefetching, have on their Web browsing. For improve user-perceived latency over the performance of the 1 customer’s origin server? single user to all accessed services through a potential set of Web delivery systems. The rest of this paper is organized as follows. Section 2 dis- There has been comparatively little work experimentally evalu- cusses related work. Section 3 describes the features and im- ating the performance of content distribution networks. In one re- plementation of the Medusa proxy. Section 4 describes our ex- cent study, Johnson et al. compare the performance of two CDNs, perimental methodology and results for evaluating the NLANR, Akamai and Digital Island, in terms of their ability to select the Akamai, and Squid Web delivery systems on user-perceived Web servers with minimum latency to the client [22]. However, they performance, and Section 5 concludes. do not evaluate the impact of the CDNs on user-perceived latency, only on the relative performance of server selection within the CDN. There are tools that report user Web download performance, 2 Related Work such as Net.Medic [28], but they do not enable users to answer exploratory questions such as whether a proxy cache is degrad- The work most closely related to the Medusa proxy is the Simulta- ing their performance, or how much added value CDNs are actu- neous Proxy Evaluation (SPE) system proposed by Davison [13]. ally providing to them. Commercial systems such as the Lateral The SPE system has a similar goal in that it proposes to use mir- Line Network from Appliant.com [3] and various services from roring to compare the performance of Web delivery systems such Keynote [24] report on the health and performance of customer as proxy caches from the perspective of clients. However, the Web sites from the perspective of many distributed users. How- goals of comparing a Web delivery system with the origin servers, ever, as with the personal Web performance tools, these services or transforming requests, is not proposed (although it would seem do not compare alternative delivery systems and their impact on straightforward to incorporate). SPE was not implemented when performance. originally proposed, but Davison and Krishnan are currently im- plementing it as the Rutgers Online Proxy Evaluator (ROPE) [14]. There have been a number of studies investigating Web user behavior and client performance using passive monitoring. Cunha 3 Medusa Proxy et al. collected an early client trace at Boston University by instru- menting the Mosaic browser used by people in their department, The Medusa proxy is a non-caching forwarding proxy that sup- ports the Proxy Request form of HTTP requests. Since it was de- and derived statistical characteristics of the client workload such signed to explore user-perceived latency, it is typically configured as object size and popularity [12]. Catledge and Pitkow also col- as a personal proxy for the Web browser and it executes alongside lected a trace of Mosaic events from users at Georgia Tech, and the browser on the same machine. It can also serve as a proxy for used it to study methods of user interaction with the browser as well as user navigation patterns [8]. Kelly has recently collected multiple clients, but we have yet to explore its use in that way. For a very large anonymized client trace from WebTV, and has used portability, we implemented the Medusa proxy in Java to support widespread use. Finally, our support for HTTP 1.1 persistent and it to explore browser cache performance, reference locality, and pipelined connections is ongoing, and the Medusa proxy currently document aliasing [23]. All of these studies have used passive only supports HTTP 1.0. measurement to explore user behavior and client performance, whereas we use the Medusa proxy to compare the performance The Medusa proxy has a number of features for exploring user- of various Web delivery systems using active measurement. perceived Web performance: Krishnamurthy and Wills [26] studied end-to-end Web per- Mirroring. The Medusa proxy can be configured to mirror HTTP formance from a collection of client sites distributed around the requests from multiple incoming sources to multiple destinations.