Measurement toolkit for identifying congestion control algorithms in the wild
- Mahimahi (install instructions here)
- Use pip to install : matplotlib, pprint, textwrap, datetime.
- Install google-chrome since all selenium clients use chrome.
- Update choice of client in
scripts/client.sh
. - Launch
scripts/run_test.sh <descriptor> <pre-ow-delay> <post-ow-delay> <bottleneck linkspeed in Kbps> <Buffer size in BDP>
For example,./run_test.sh sample-test 1 50 200 2
. - Run a post test analysis using
analysis/pif-tcp-perflow.py <descriptor>
. For example,python3 pif-tcp-perflow.py sample-test
.
-
Run
analysis/semantics-perflow.py <descriptor>
. For example,python3 semantics-perflow.py sample-test
. The summary json file, summary text file and the charts will be stored inNebby/logs/results/
as<descriptor>.json, <descriptor>.txt and <descriptor>.png
. -
To get the detailed information about the port, go to
Nebby\analysis
. Runpython3 port_info.py <descriptor>
. This file reads the json data file and asks you for the port you want the info about. Enter the port number and press enter to look at the data for that port.
- Run
scripts/clean.sh
to clear old files, queues, etc. before a fresh test - While measuring video, choose a relatively higher bandwidth (>500kbps). 200kbps is sufficient for static webpages.