转自: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)地区和连接方式下所需时间的初步估计。

Fiddler系统监控参数解读的更多相关文章

  1. flask+sqlite3+echarts3 系统监控

    总的而言,分三部分: 1.监控器(monitor.py): 每秒获取系统的四个cpu的使用率,存入数据库. 2.路由器(app.py): 响应页面的ajax,获取最新的一条或多条数据. 3.页面(in ...

  2. linux基础-第十一单元 系统监控

    第十一单元 系统监控 系统监视和进程控制工具-top和free top命令的功能 TOP是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序 ...

  3. Linux系统监控命令及如何定位到Java线程

    >>PID.TID的区分 uid是user id,即用户id,root用户的uid是0,0为最高权限,gid是group id,用户组id,使用 id 命令可以很简单的通过用户名查看UID ...

  4. Ubuntu系统监控cpu memery 磁盘Io次数 IO速率 网卡 运行时间等信息的采集

    实验室最近在做的项目要做ubuntu系统监控,要获得系统的一些信息并返回给web服务器. web服务器与ubuntu主机的通信我写的程序用的是socket,至于为什么不用java程序ssh到对应的主机 ...

  5. ava如何实现系统监控、系统信息收集、sigar开源API的学习(转)

    ava如何实现系统监控.系统信息收集.sigar开源API的学习(转) 转自:http://liningjustsoso.iteye.com/blog/1254584 首先给大家介绍一个开源工具Sig ...

  6. Linux系统之压缩、解压缩,vi编辑器,系统初始化服务和系统监控

    一.正文处理,压缩与解压缩 1.内容重定向>与>> >:覆盖,将>号左边的结果覆盖到>号右边的文件中,如果文件不存在,则先创建一个新的空文件并覆盖 >> ...

  7. StatsD!次世代系统监控的核心

    在互联网业务蒸蒸日上的今时今日,系统架构日渐复杂,随着软件产品和工程团队的变革,许多开源的监控工具应运而生,其中有一些相当出名,比如 Zabbix.Nagios 还有 StatsD.也有一些问题被大家 ...

  8. Linux 服务器系统监控脚本 Shell【转】

    转自: Linux 服务器系统监控脚本 Shell - 今日头条(www.toutiao.com)http://www.toutiao.com/i6373134402163048961/ 本程序在Ce ...

  9. 【linux之进程管理,系统监控】

    一.进程管理 前台进程:一般是指占据着标准输入和/或标准输出的进程后台进程:不占据默认开启的进程都是前台进程ctrl+C 中断ctrl+z 从前台转入后台bg 后台进程编号 让其在后台运行ls -R ...

随机推荐

  1. 增加虚拟机ubuntu的硬盘

    20150526更新验证日记: (1)首先在虚拟机中增加ubuntu的硬盘大小. (2)在ubuntu中使用Gparted软件对新的空间进行分配(傻瓜式) (3)不能直接将磁盘挂载到home下,只能先 ...

  2. kindeditro.js乱码问题

    kindeditor.js是用于显示新建邮件时的菜单栏的一个插件,比较好用,但是在引入的时候会出现乱码问题,主要有几个方面原因. 1.编码方式不对,要设置成utf8. <script chars ...

  3. laravel 多个where的连接使用

    在查询的时候需要用到多个where条件来查询 1.直接多个where连接 ->where()->where() 2.把查询条件 放到where数组$where中 然后 ->where ...

  4. Spring Boot 集成RabbitMQ

    在Spring Boot中整合RabbitMQ是非常容易的,通过在Spring Boot应用中整合RabbitMQ,实现一个简单的发送.接收消息的例子. 首先需要启动RabbitMQ服务,并且add一 ...

  5. Contiki学习笔记

    http://blog.chinaunix.net/uid-9112803-id-2975824.html

  6. java流类基础练习。

    总结:BufferedReader.InputStreamReader.字节与字符的区别. package com.ds; import java.io.*; //从控制台输入字符串,输到sdd时停止 ...

  7. mycat 实践扩容

    实践扩容, travelrecord表定义为10个分片,尝试将10个分片中的2个分片转移到第二台MySQL上 1--定义10个分片<table name="travelrecord_t ...

  8. Git 之Windows环境下学习系列

    Git .SVN .TFS   相同点 不同点 Git     版本控制 优点: 分布式版本控制.无需联网就能版本提交 开源 缺点 入门学习难度高 SVN   优点: 集中式版本控制. 个人开源 缺点 ...

  9. distinct可以用in代替(小技巧)

    distinct可以用in代替,in的好处是直接能获取所有数据,而distunct只能获取distinct的字段,不过效率肯定高一些.

  10. java 字符串和集合互相转换

    今天在写项目的时候遇到一个问题,就是要把得到的一个集合转换成字符串,发现 import org.apache.commons.lang.StringUtils; 有这么一个简单的方法:String s ...