Ravi Netravali, Anirudh Sivaraman, Keith Winstein, Somak Das, Ameesh Goyal, Hari Balakrishnan
ACM SIGCOMM 2014, Chicago, IL, August 2014
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 of Web pages,
present in approximately 98% of the Alexa U.S. Top 500, when re-
playing. 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/.
[PDF (153KB)]
http://mahimahi.mit.edu
Bibtex Entry:
@inproceedings{netravali2014mahimahi, author = "Ravi Netravali and Anirudh Sivaraman and Keith Winstein and Somak Das and Ameesh Goyal and Hari Balakrishnan", title = "{Mahimahi: A Lightweight Toolkit for Reproducible Web Measurement (Demo)}", booktitle = {ACM SIGCOMM 2014}, year = {2014}, month = {August}, address = {Chicago, IL} }