@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\&nbsp;traffic from HTTP-based applications, and later replay it\&nbsp;under emulated network conditions. Mahimahi improves\&nbsp;upon prior record-and-replay frameworks in three ways.\&nbsp;First, it is more accurate because it carefully emulates the\&nbsp;multi-server nature of Web applications, present in 98\%\&nbsp;of the Alexa US Top 500 Web pages. Second, it isolates\&nbsp;its own network traffic, allowing multiple Mahimahi instances\&nbsp;emulating different networks to run concurrently\&nbsp;without mutual interference. And third, it is designed as\&nbsp;a set of composable shells, providing ease-of-use and extensibility.

We evaluate Mahimahi by: (1) analyzing the performance\&nbsp;of HTTP/1.1, SPDY, and QUIC on a corpus of 500\&nbsp;sites, (2) using Mahimahi to understand the reasons why\&nbsp;these protocols are suboptimal, (3) developing Cumulus,\&nbsp;a cloud-based browser designed to overcome these\&nbsp;problems, using Mahimahi both to implement Cumulus\&nbsp;by extending one of its shells, and to evaluate it, (4) using\&nbsp;Mahimahi to evaluate HTTP multiplexing protocols\&nbsp;on multiple performance metrics (page load time and\&nbsp;speed index), and (5) describing how others have used\&nbsp;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}
}
