网站监测的明星指标

1.可用性

2.响应时间(8秒或4秒)

3.首屏响应时间

网站浏览过程简介

从输入url开始

1.解析域名获得服务器IP

浏览器本身是可以缓存dns域名解析的

查询系统界别的dns缓存

查询本机hosts记录

dns服务器发出递归查询请求

2.连接服务器

在获得最终服务器IP后,与该IP的网页服务端口(http的80)建立tcp连接

3.发送请求

成功连接上对应端口之后,浏览器开始发送http请求。

http请求包括请求方法,url和协议版本三个最基本的要素,以及种类繁多的各式http header。

一个http请求实例

 

GET /ga.js HTTP/1.1
Host:
www.baidu.com

文件位于虚拟主机名www.baidu.com下
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive

 

本次请求响应完成后,所建立的连接继续保持,以便下次请求继续使用

Referer: http://stackoverflow.com/

本次请求是由http://stackoverflow.com/页面引入

If-Modified-Since: Mon, 31 Aug 2009 17:13:58 GMT

客户端本地已经有一个缓存的副本,其最后修改时间为 Mon, 31 Aug 2009 17:13:58 GMT

If-None-Match:“737060cd8c284d8af7ad3082”  

客户端本地已经有一个缓存的副本,其Etag值为737060cd8c284d8af7ad3082

Cookie:PHPSESSIONID=123456789

客户端在之前的请求响应中,已经收到过服务器返回的set-cookie结果为PHPSESSIONID=123456789

X-Forwarded-For:129.78.138.66,129.78.64.103

客户端请求在到达服务器之前已经经过了failing服务器,IP为129.78.138.66,129.78.64.103

 

4.等待响应

动态页面的内容,需要服务器端进行数据库查询等复杂操作

静态内容,需要服务器进行磁盘寻到读取

代理服务器或挂在nfs文件系统需要消耗内部网络交互

第一字节响应时间或首保响应时间

5.传输响应内容

取决网络状况 

6.浏览器渲染处理

浏览器接受完全部响应内容后开始在本地进行渲染

html文件,相当快速,dns解析并稍后开始建立连接

css/js文件,需要在浏览器上编译运行的

浏览器渲染是单线程的,css和js的执行都会阻塞整个页面的效果

 

7.并发请求

dns解析并稍后开始建立连接,建立连接在浏览器端是可以并发进行和控制的

                                    http1.1                        http1.0

IE6,7                                 2                                4

IE8                                   6                                   6

firefox3                          6                                   6        

chrome3                           4                                4