转自:https://blog.csdn.net/txj236/article/details/38872855

在对系统监控的过程中,发现ClientConnected和ClientBeginRequest之间有超过10秒的间隔时间的情况发生。

例如:

ClientConnected:  09:50:31.066
ClientBeginRequest: 09:50:41.113

查了http://fiddler.wikidot.com/timers,看到了对这种现象的说明

  • ClientConnected- Exact time that the client browser made a TCP/IP connection to Fiddler.
  • ClientBeginRequest– Time at which this HTTP request began. May be much later than ClientConnected due to client connection reuse.

补充查了下资料:

1.很有可能是客户端的请求是通过重用的客户端socket来传输的;

2. ClientConnected是指从浏览器到Fiddler的socket连接时间

3. 计算准确的响应时间:ClientBeginRequest ~ ClientEndResponse

1. Fiddler作为系统代理,所有来自微软互联网服务(WinInet)的http请求都先经过Fiddler再到Web Server

Internet Explorer  <-->  WinInet  <--> Fiddler <--> Web Server

2. Fiddler可以做性能测试,HTTP统计视图

3. 如果一个响应没有包含Cache-Control头,那么就不会被缓存在客户端

  • ClientDoneRequest -浏览器完成将HTTP请求发送到Fiddler的时间。
  • DNSTime - # milliseconds Fiddler spent in DNS looking up the server's IP address.
  • GatewayDeterminationTime - # milliseconds Fiddler spent determining the upstream gateway proxy to use (e.g. processing autoproxy script). Mutually exclusive to DNSTime.
  • TCPConnectTime - # milliseconds Fiddler与服务器建立TCP/IP连接的用时
  • HTTPSHandshakeTime – Amount of time spent in HTTPS handshake
  • ServerConnected – 与服务器建立连接的时间,由于服务器连接的重用,该时间可能比ClientConnected早。
  • FiddlerBeginRequest – The time at which Fiddler began sending the HTTP request to the server.
  • ServerGotRequest - Exact time that Fiddler finished (re)sending the HTTP request to the server.
  • ServerBeginResponse - Exact time that Fiddler got the first bytes of the server's HTTP response.
  • ServerDoneResponse - Exact time that Fiddler got the last bytes of the server's HTTP response.
  • ClientBeginResponse - 开始向客户浏览器返回HTTP响应数据的时间.
  • ClientDoneResponse- 完成向客户浏览器返回HTTP响应数据的时间.

服务器端处理及响应的时间:ServerBeginResponse - ServerGotRequest

网络传输耗时(上传):(ServerGotRequest - ClientDoneRequest) - (DNSTime + TCPConnectTime)

Fiddler的HTTP统计视图(可以优化请求和页面)

Fiddler的统计选项卡中显示了当前Session的基本信息,在选项卡的最上方显示的是文本信息,最下方是个饼图,按MIME类型显示流量。使用Statistics页签,用户可以通过选择多个会话来得来这几个会话的总的信息统计,比如多个请求和传输的字节数。

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

如下所示:

饼图如下:

统计选项卡的一些信息含义如下解释:

Request Count 选中的session数;

Unique Hosts 流量流向的独立目标主机数。如果所有选中的流量都发送到相同的服务器上,则不会显示该字段。

Bytes sent:  HTTP请求头和请求体中向外发送的字节总数。后面括号中分别给出了头和body各自的字节数。

Bytes received: HTTP请求头和请求体中接收到的所有字节数。在全部计数后面的括号中给出了请求头和请求体各自的字节数。

Requests started at: Fiddler接收到的第一个请求的第一个字节的时间点。

Responses completed at: Fiddler发送到客户端的最后一个响应的最后一个字节的时间点。

Sequence(clock) duration:  第一个请求开始到最后一个响应结束之间的 “时钟时间”。

Aggregate session duration: 所有选中的session从请求到响应之间的时间的和。

DNS Lookup time: 所有选中的session解析DNS所花费的时间的总和。

TCP/IP Connect duration: 所有选中session建立TCP/IP连接所花费的时间总和。

HTTPS Handshake duration: 所有选中session在HTTPS握手上所花费的时间总和。

Response Codes: 选中session中各个HTTP响应码的计数。

Response Bytes by content-type: 选中session中响应的各个Content-Type的字节数。

Estimated Performance: 选中的流量在不同语种(local)地区和连接方式下所需时间的初步估计。

最新文章

  1. Python黑帽编程2.8 套接字编程
  2. [2016湖南长沙培训Day4][前鬼后鬼的守护 chen] (动态开点线段树+中位数 or 动规 or 贪心+堆优化)
  3. LuaAlchemy API 介绍
  4. U-BOOT-Linux启动指令bootm分析
  5. excel具有制作甘特图的功能
  6. (转)Genymotion安装virtual device的“unable to create virtual device, Server returned Http status code 0”的解决方法
  7. Chrome 开发者工具有了设备模拟器
  8. POJ-3461 Oulipo(KMP,模式串在主串中出现次数)
  9. Hibernate框架简述
  10. 用twisted 做一个日志收集系统
  11. java_method_删除事务回滚
  12. 超实用,你get了吗?再也不怕本地文件更新到环境用Linux命令重启服务器了。。。
  13. CentOS 7没有ifconfig命令处理
  14. spring mvc在Controller中获取ApplicationContext
  15. 微信官方团队放出了UI库,看来以后前端还要学WeChatUI了,哈哈
  16. 10_ for 练习 _ is Prime Number ?
  17. SqlSever 使用 CROSS APPLY 与 OUTER APPLY 连接查询
  18. C# 结构体和List&lt;T&gt;类型数据转Json数据保存和读取
  19. 从dm_exec_query_stats系统表查询耗时的SQL语句
  20. Java开发岗位面试题归类

热门文章

  1. java 实现树形结构
  2. CF 85E Guard Towers——二分图染色
  3. Extjs5.0 学习之路【结构篇】
  4. xargs 命令使用小记
  5. Angular常犯的错误
  6. Task用法(2)-任务等待wait
  7. 无人零售的黑科技:RFID技术
  8. Java中Exception的种类
  9. 【Android 多媒体应用】使用MediaRecoder录制,MediaPlayer播放音频数据
  10. C语言学习笔记--指针概念