TY - GEN
T1 - Mahimahi
T2 - 2015 USENIX Annual Technical Conference, USENIX ATC 2015
AU - Netravali, Ravi
AU - Sivaraman, Anirudh
AU - Das, Somak
AU - Goyal, Ameesh
AU - Winstein, Keith
AU - Mickens, James
AU - Balakrishnan, Hari
N1 - Publisher Copyright:
© 2015 USENIX Annual Technical Conference.
PY - 2015
Y1 - 2015
N2 - 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.
AB - 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.
UR - http://www.scopus.com/inward/record.url?scp=85071908121&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85071908121&partnerID=8YFLogxK
M3 - Conference contribution
AN - SCOPUS:85071908121
T3 - Proceedings of the 2015 USENIX Annual Technical Conference, USENIX ATC 2015
SP - 417
EP - 429
BT - Proceedings of the 2015 USENIX Annual Technical Conference, USENIX ATC 2015
PB - USENIX Association
Y2 - 8 July 2015 through 10 July 2015
ER -