@conference {300481, title = {Mahimahi: Accurate Record-and-Replay for HTTP}, booktitle = {USENIX ATC}, year = {2015}, address = {Santa Clara, CA}, abstract = {This paper presents Mahimahi, a framework to record\ traffic from HTTP-based applications, and later replay it\ under emulated network conditions. Mahimahi improves\ upon prior record-and-replay frameworks in three ways.\ First, it is more accurate because it carefully emulates the\ multi-server nature of Web applications, present in 98\%\ of the Alexa US Top 500 Web pages. Second, it isolates\ its own network traffic, allowing multiple Mahimahi instances\ emulating different networks to run concurrently\ without mutual interference. And third, it is designed as\ a set of composable shells, providing ease-of-use and extensibility. We evaluate Mahimahi by: (1) analyzing the performance\ of HTTP/1.1, SPDY, and QUIC on a corpus of 500\ sites, (2) using Mahimahi to understand the reasons why\ these protocols are suboptimal, (3) developing Cumulus,\ a cloud-based browser designed to overcome these\ problems, using Mahimahi both to implement Cumulus\ by extending one of its shells, and to evaluate it, (4) using\ Mahimahi to evaluate HTTP multiplexing protocols\ on multiple performance metrics (page load time and\ speed index), and (5) describing how others have used\ Mahimahi.}, url = {http://scholar.harvard.edu/files/mickens/files/mahimahi.pdf}, author = {Ravi Netravali and Anirudh Sivaraman and Somak Das and Ameesh Goyal and Keith Winstein and James Mickens and Hari Balakrishnan} }