• fiddler模拟弱网


    fiddler模拟限速的原理

    可以通过fiddler来模拟限速,因为fiddler本来就是个代理,它提供了客户端请求前和服务器响应前的回调接口,我们可以在这些接口里 面自定义一些逻辑。Fiddler的模拟限速正是在客户端请求前来自定义限速的逻辑,此逻辑是通过延迟发送数据或接收的数据的时间来限制网络的下载速度和 上传速度,从而达到限速的效果。

    他提供了一个功能,让我们模拟低速网路环境…启用方法如下:

    Rules → Performances → Simulate Modem Speeds :模拟调制解调器的速度

    启动fiddler需要进行如下设置:

    1.设置端口号:

     

    allow remote computers to connect “允许远程计算机连接”为设置的代理可以连接到fiddle上,必须勾选

    2.重启fiddle;

    3.设置模拟调制解调器的速度:

    4.设置手机代理

    手机代理设置“ip地址为本机的ip,端口号为之前设置的端口号(确保端口号不被占用)”

    5.手动设置设置上行,下行速率,模拟网路速度的原理,每上传/下载1KB 要delay 多久…

    网络取值的算法就是 1000/下载速度 = 需要delay的时间(毫秒),比如50kb/s  需要delay200毫秒来接收数据。

    查找代码如下:

    if (m_SimulateModem) {

                //Delay sends by 300ms per KB uploaded. //每延迟300ms发送1kb的数据,也就是每1s发送3kb的数据

               oSession["request-trickle-delay"] = 300

                //Delay receives by 150ms per KB downloaded.

               oSession["response-trickle-delay"] = 150//每延迟150ms下行1kb的数据

            }

    请注意,当你存档之后,原本已经勾选的SimulateModem Speeds 会被取消勾选,要记得再到Rules → Performances → Simulate Modem Speeds 勾选喔!

    6.设置完成后,清空原有的log,并使用你的app进行弱网条件下的操作,

    选择第一个请求和最后一个请求,可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多,从而对页面的访问进行访问速度优化

    如下图:

    不同请求耗时多少的图形表,获取那种资源耗时最大,进而进行优化:

    如下图

  • 相关阅读:
    内存泄漏 Memory Leaks 内存优化 MD
    Handler Thread 内部类引起内存泄露分析
    为什么不取消注册BroadcastReceiver会导致内存泄漏
    WebChromeClient 简介 API 案例
    WebViewClient 简介 API 案例
    java.net.URI 简介 文档 API
    android.net.Uri 简介 API
    RV 多样式 MultiType 聊天界面 消息类型 MD
    JS函数声明与定义,作用域,函数声明与表达式的区别
    CSS中table tr:nth-child(even)改变tr背景颜色: IE7,8无效
  • 原文地址:https://www.cnblogs.com/yelinfeng/p/9239863.html
Copyright © 2020-2023  润新知