zoukankan      html  css  js  c++  java
  • Fiddler弱网测试流程

    Fiddler 如何做弱网测试

    前言:限速原理

    是以网络延迟的方式实现的,网络延迟时间*网速=传输字节数
    

    实现方式

    点击Rules – Customize Rules(快捷键Ctrl + R)打开Fiddler ScriptEditor,或者直接点开右侧主页签的FiddlerScript
    

    方法1

    # 在代码里找到onBeforeRequest,这里定义了在发送请求前做什么。加入如下代码可以实现延迟:
    oSession["request-trickle-delay"]="3000";  //请求阶段延迟3秒
    oSession["response-trickle-delay"]="3000";  //响应阶段延迟3秒
    

    方法2

    Ctrl + F 查找m_SimulateModem标志位,可以看到如下代码,修改配置后,勾选了Simulate Modem Speeds(Rules - Performance - Simulate Modem Speeds)时,request-trickle-delay与response-trickle-delay就会被设置,每次设置后都需要重新勾选
    
    说明:request-trickle-delay中的值代表每KB的数据被上传时会被延时多少毫秒;response-trickle-delay则对应下载时每KB的数据会被延时多少毫秒。比如你要模拟上传速度100KBps的网络,那上传延迟就是1KB/100KBps=0.01s=10ms,就改成10。
    

    默认设置下上传延时
    1Mbps = 128 KB/s = 0.125MB/s
    上传带宽 = 1KB/300ms = 1/128/0.3 Mbps ≈ 0.027Mbps
    下载带宽 = 1KB/150ms = 1/128/0.15 Mbps ≈ 0.053Mbps
    

    方法3 - (随机延时量设置)

    # 使得网络带宽不是恒定为一个低速的值,而是会在一定范围内随机抖动,修改配置后,勾选了Simulate Modem Speeds,即生效:
    # 添加位置,附图
    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);
    }
    


    拓展(Bit和Byte的区别)

    拓展(带宽与流量的区别)

    以上参考和转载博文:https://www.jianshu.com/p/b9e349b8f411 ; https://www.jianshu.com/p/492a1564d16d ; https://www.jianshu.com/p/f417d328e0df
    如有侵权,联系删除

  • 相关阅读:
    CDH健康检查报DATA_NODE_BLOCK_COUNT告警
    log4net 日志不能输出
    beetsql 入门学习
    http headers详解
    python3 urllib学习
    python学习疑难1 -- 解决python3 UnicodeEncodeError: 'gbk' codec can't encode character 'xXX' in position XX
    Filter的应用
    SQL简单存储过程
    脑残问题收集
    core 标签简单使用
  • 原文地址:https://www.cnblogs.com/luckyqh/p/13031000.html
Copyright © 2011-2022 走看看