美文网首页
[学习笔记] fiddler 模拟网络环境

[学习笔记] fiddler 模拟网络环境

作者: 亭子青年 | 来源:发表于2018-06-20 13:45 被阅读168次

    简介

    难能可贵的是执着与坚持

    使用fiddler模拟网络环境

    1. 点击菜单栏Rules=》Customize Rules,打开FiddlerScript,也可以直接在fiddler的右边窗口找到“FiddlerScript”标签打开。


      打开script的方式1.png
      打开script的方式2.png

      备注:其默认位于用户目录的文档目录下的\Fiddler2\Scripts 位置,后缀名是js,其内容实质是JScript.NET——微软对ECMAScript规范的实现,与日常使用的javascript是属于同一个规范下的,但是在扩展的细节实现存在一定的不同。

    2. 打开文件,可以搜索“m_SimulateModem”的关键字,修改相关的代码
    //默认的配置
    if (m_SimulateModem) {
        // Delay sends by 300ms per KB uploaded.
        oSession["request-trickle-delay"] = "300";
        // Delay receives by 150ms per KB downloaded.
        oSession["response-trickle-delay"] = "150"
    }
    

    request-trickle-delay:上传时每kb的数据上传会被延时多少毫秒
    response-trickle-delay:下载时每kb的数据会被延时多少毫秒
    默认是300和150,大致模拟出来的带宽如下

    上传带宽=(1*8/1000)/0.300≈0.053Mbps 
    下载带宽=(1*8/1000)/0.150≈0.027Mbps
    

    实际贷款是在计算所得的基础上乘2。也就是说

    上传带宽=((1*8/1000)/0.300)*2.0≈0.106Mbps 
    下载带宽=((1*8/1000)/0.150)*2.0≈0.053Mbps
    

    至于为什么,没有研究。
    比如我模拟一个2M左右的带宽的设置如下

    if (m_SimulateModem) {
       // Delay sends by 300ms per KB uploaded.
       oSession["request-trickle-delay"] = "8";
       // Delay receives by 150ms per KB downloaded.
       oSession["response-trickle-delay"] = "8";
    
    模拟2M带宽.png

    关于怎么看上传和下载带宽的问题,可以在点击http://www.speedtest.net/这里进行测试。

    1. 设置fiddler的Rules,注意只有设置改rule,才会使用方才配置的参数。


      image.png
    2. 怎么模拟上下波动的带宽
      模拟网络带宽不是恒定的一个低速的值,而是一定范围内随机抖动:

    static function randInt(min, max) {
        return Math.round(Math.random()*(max-min)+min);
    }
    if (m_SimulateModem) {
        // Delay sends by 300ms per KB uploaded.
        oSession["request-trickle-delay"] = ""+randInt(100,300);
        // Delay receives by 150ms per KB downloaded.
        oSession["response-trickle-delay"] = ""+randInt(1,50);
    }
    

    end

    相关文章

      网友评论

          本文标题:[学习笔记] fiddler 模拟网络环境

          本文链接:https://www.haomeiwen.com/subject/hgatyftx.html