Mahimahi: A lightweight toolkit for reproducible web measurement

Ravi Netravali, Anirudh Sivaraman, Keith Winstein, Somak Das, Ameesh Goyal, Hari Balakrishnan

Research output: Contribution to journalConference articlepeer-review

6 Scopus citations

Abstract

This demo presents a measurement toolkit, Mahimahi, that records websites and replays them under emulated network conditions. Mahimahi is structured as a set of arbitrarily composable UNIX shells. It includes two shells to record and replay Web pages, RecordShell and ReplayShell, as well as two shells for network emulation, DelayShell and LinkShell. In addition, Mahimahi includes a corpus of recorded websites along with benchmark results and link traces (https://github.com/ravinet/sites). Mahimahi improves on prior record-and-replay frameworks in three ways. First, it preserves the multi-origin nature ofWeb pages, present in approximately 98% of the Alexa U.S. Top 500, when replaying. Second, Mahimahi isolates its own network traffic, allowing multiple instances to run concurrently with no impact on the host machine and collected measurements. Finally, Mahimahi is not inherently tied to browsers and can be used to evaluate many different applications. A demo of Mahimahi recording and replaying a Web page over an emulated link can be found at http://youtu.be/vytwDKBA-8s. The source code and instructions to use Mahimahi are available at http://mahimahi.mit.edu/.

Original languageEnglish (US)
Pages (from-to)129-130
Number of pages2
JournalComputer Communication Review
Volume44
Issue number4
DOIs
StatePublished - Feb 25 2015
Externally publishedYes
EventACM SIGCOMM 2014 Conference - Chicago, United States
Duration: Aug 17 2014Aug 22 2014

All Science Journal Classification (ASJC) codes

  • Software
  • Computer Networks and Communications

Keywords

  • Page load time
  • Record-and-replay
  • Web measurements

Fingerprint

Dive into the research topics of 'Mahimahi: A lightweight toolkit for reproducible web measurement'. Together they form a unique fingerprint.

Cite this