• Fiddler弱网测试


    1、进行弱网设置 

      

    2、设置成功

      

     3、Fiddler弱网的原理

      选中 Rules>Customize Rules

      

    4、点击确认

       Rules—>Cutomize Rules打开CustomRules.js 文档

      

      在文件中搜索关键字,m_SimulateModem

       

    让我们来分析一下这几行代码:

    注释说明: request-trickle-delay中的值代表每KB的数据被上传时会被延时多少毫秒;response-trickle-delay则对应下载时每KB的数据会被延时多少毫秒。比如你要模拟上传速度100KBps的网络,那上传延迟就是1KB/100KBps=0.01s=10ms,就改成10。

    当勾选了Simulate Modem Speeds时,request-trickle-delay与response-trickle-delay就会被设置,如果本身网速已经相当快的话,这里设置的值就可以近似地推算出开启模拟后的上传和下载带宽了,比如默认设置下上传延时为300ms下载延时为150ms,可以推算出大致的模拟带宽为:

    上传带宽 = 1KB/300ms = (1 * 8/1000) /0.300 ≈ 0.027Mbps
    下载带宽 = 1KB/150ms = (1 * 8/1000) /0.150 ≈ 0.053Mbps
    (1MB = 1024 KB ≈ 1000 KB 这里为了运算简便就用了1000的倍数,忽略误差)

    实际情况下得到的带宽可能会有误差,受各种外因影响不会这么精确。

    不懂公式换算的可以去看https://www.jianshu.com/p/492a1564d16dhttps://www.jianshu.com/p/f417d328e0df
    由此可见下载带宽是上传的两倍,也就是延时越小,带宽越大。带宽和这里的延时是成反比的

     5、调整网络环境参数

    Fiddler默认的Simulate Modem Speeds速度实在太慢了,而这个限速的参数是可以调整的,如果需要再快一点可以修改配置文件Fiddler2ScriptsCustomRules.js。(如若修改勿忘备份原文件)在fiddler官网http://www.fiddlerbook.com/Fiddler/dev/ScriptSamples.asp可以找到参考示例

    查找到if (m_SimulateModem)语句,修改代码。下面的脚本实现了一个随机延时量设置,使得网络带宽不是恒定为一个低速的值,而是会在一定范围内随机抖动:

    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(1,50);

        // Delay receives by 150ms per KB downloaded.

        oSession["response-trickle-delay"] = ""+randInt(1,50);

    }

    修改后保存配置文件(Ctrl+S)或者清掉缓存(Rules –> Performances –>Disable Caching),再次勾选Rules –> Performances –> Simulate Modem Speeds 进行测速。注意:每次编辑并保存配置文件后,Simulate Modem Speeds选项会被取消,请重新勾选。
    限速完毕一定要取消勾选,不然会影响上网。像第二种方法由于请求和响应都延迟3秒,会导致访问网页很慢。

     

  • 相关阅读:
    JAVA网络编程-客户端Socket
    JAVA网络编程-URLConnection
    React Native push操作
    Mac电脑输入特殊符号
    iOS sizeForItemAtIndexPath方法在iOS14下变化
    iOS NSDictionary与模型(JSONModel、YYModel)的对比
    iOS UICollectionView实现动态标签(单选、多选)
    iOS Masonry 使用小记(MASConstraint、center、centerX、edges、equalTo、greaterThanOrEqualTo)
    linux上搭建 python虚拟环境
    linux进程和线程查看
  • 原文地址:https://www.cnblogs.com/wanglisen/p/14076193.html
Copyright © 2020-2023  润新知