Mahimahi使用教程
目录
1.链路模拟--link emulation
1.1 mm-delay
1.2 mm-loss
1.3 mm-intermittent
1.4 mm-onoff
1.5 mm-link
mm-link uplink-log:具体功能未知。
mm-link --meter-uplink:绘制上行链路吞吐量-时间
mm-link --meter-downlink:绘制下行链路吞吐量-时间图
mm-link --meter-downlink-delay:绘制下行链路排队时延-时间图
mm-link --once:未知
2.脚本分析--analysis scripts
2.1mm-throughput-graph:
2.2 mm-webreplay:
3.链路观察--observation
3.1mm-meter
mm-meter --meter-uplink: 显示上行链路的实况
mm-meter --meter-downlink:显示下行链路的实况
4.录制和回访网站的请求和响应--record and replay multi-origin websites
4.1 mm-webrecord
4.2 mm-webreplay
注1:运行Mahaimahi请在“~”目录下,/home目录都是不行的!
注2:本文的内容是个人学习记录,有很多地方都是根据自己的猜测+实践写的,如果有错误的地方欢迎大家在评论区里或私信指出错误
Maihimahi原理:相当于一个位于客户端的“信号监听器”

主要功能模块及使用演示:(注:图中的一些错误示范只供参考)
1.链路模拟--link emulation
1.1 mm-delay
单位是毫秒(milliseconds)
格式:mm-delay time

1.2 mm-loss
表示丢失的百分比,0~1的数字 (Packets are lost at the given rate.)
格式:mm-loss uplink/downlink rate

1.3 mm-intermittent
intermittent意为不稳定的,表示会在连接(connected)和未连接(disconnected)两个状态来回切换.
格式:mm-intermittent uplink/downlink on-time off-time(单位:second)

1.4 mm-onoff
与mm-intermittent类似,都是在连接和未连接两个状态间切换,但是mm-onoff后面跟的是上行链路或下行链路的平均不稳定时间,而mm-intermittent后面跟的是不稳定状态的开始和结束时间。
格式:mm-onoff uplink/downlink mean-on-time mean-off-time

1.5 mm-link
此模块后跟的参数较多,
格式:mm-link uplink downlink [options] [command]
注 : --uplink-log、--downlink-log等都属于options
mm-link uplink-log:具体功能未知。
实践可得(见下图):uplink和downlink的文件要配套(示例三),--uplink-log和--downlink-log的文件可以不用配套(示例四),uplink、downlink和--uplink-log、--downlink-log这两组文件可以不用配套(示例二)

mm-link --meter-uplink:绘制上行链路吞吐量-时间


mm-link --meter-downlink:绘制下行链路吞吐量-时间图


mm-link --meter-uplink-delay:绘制上行链路排队时延-时间图


mm-link --meter-downlink-delay:绘制下行链路排队时延-时间图


mm-link --once:未知
(猜测是只模拟一次,假定一般情况下Verizon-LTE-short.up和Verizon-LTE-short.down文件是循环播放的)

2.脚本分析--analysis scripts
2.1mm-throughput-graph:
没有看懂,猜测是说在mm-link模块中可以看到(如上)线路吞吐量-时间图

2.2 mm-webreplay:
github上没有看到什么信息,大家可以自行查看
3.链路观察--observation
3.1mm-meter
显示进入或离开容器的传输速率的动画实况图。
mm-meter --meter-uplink: 显示上行链路的实况


mm-meter --meter-downlink:显示下行链路的实况
![]()

4.录制和回访网站的请求和响应--record and replay multi-origin websites
4.1 mm-webrecord
记录本机上的web请求和响应,具体保存到了哪里,我没有找到。
猜测只是可以在webrecord和webreplay模块下设置delay、package loss等参数,要实现绘图还需要进一步操作将记录的信息转化为数字信息(不是很确定)。
使用格式:mm-record directory
directory 是使用时创建的之前并不存在

web-record 有两个选项:--no-check-certificate和--ignore-certificate-errors。
这两个都是用于解决浏览器证书(CA)的问题。鉴于mahimahi发行论文中说的mahimahi在大部分浏览器中都可以直接被默认,确实事件中也是如此,这两个选项就不深入了解了。
4.2 mm-webreplay
重播上次记录的会话。特点:只在客户端内部作用,没有与外部网络相连接。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
