网络请求 - 瀑布图

请求瀑布图:

瀑布图展现了浏览器为渲染网页而加载的所有资源。包括加载的顺序和每个资源的加载时间,分析这些资源是如何加载的

以浏览器自带瀑布路为例

每一行都是一次单独的浏览器请求,瀑布图越高代表加载页面时请求的越多,每一行彩色条的宽度代表下载资源的时间


image.png

image.png

1.深绿色(DNS Lookup): 在浏览器和服务器进行通信之前,必须经过DNS查询,将域名转换为ip地址(并非所有请求都经过这一阶段)
2.橙 色(TCP 连接):在浏览器发送请求之前,必须建立TCP连接,这个过程仅仅发生在瀑布图中的开头几行
3.紫 色(SSL/TLS 连接): 如果页面通过SSL/TLS 这类安全协议加载资源,这段时间就是浏览器建立安全连接过程
4,绿色(Time To Byte): TTFB是浏览器请求发送到服务器的时间+服务器处理请求时间+响应报文的第一字节到达服务器的时间
5,蓝色(Downloading):这就是浏览器用来下载资源所用的时间,时间越长,说明资源越大

根据瀑布图进行性能优化

1.首先,减少所有资源的加载时间.亦即减少瀑布图的宽度,网站的访问速度越快
2.其次,减少请求数量 也就是降低瀑布图的高度,瀑布图越矮越好
3.最后,通过优化资源请求顺讯加快渲染速度,将绿色的“开始渲染”线左移,这条线向左移动的越远越好

优化瀑布变窄

通过降低每一个资源的下载时间达到瀑布图变窄,瀑布图的每一行使用不同的颜色代表获取资源的不同阶段。不同颜色使用不同的优化手段提升网页的整体速度

  • 橙色:橙色出现的比较多!
    橙色代表你的网站初始化TCP连接时间,对于同一个域名,只有最开始的2到6个请求需要建立TCP连接,那之后, 已存在的连接会被复用. 如果你在图上看到很多的橙色, 说明你的网站没有使用持久连接(长连接).
    举例:


    image.png

    一旦使用了长连接,每一行的请求宽度都会缩短一半(不用每个请求都建立新的连接)

  • 紫色:紫色是用在SSL/TLS协商的时间.
    紫色是用在SSL/TLS协商的时间. 如果你看到同一个网站一次又一次的出现紫色, 这说明你没有优化TLS. 在下面这个截图中, 可以看见2个HTTPS请求

  • 蓝色:蓝色是服务端响应之后, 浏览器下载资源所用的时间
    如果一行有很长的蓝色条, 八成是说明这个资源非常的大. 提升网站速度的一个妙招就是简单的把需要传到客户端的数据量减少,举个例子, 在下图中我们看到, 下载PNG图片用了很长时间, 因为蓝条特别长.深入研究一下, 我们发现这个图片有1.1MB那么大! 这说明设计师在PS之后忘了把图片导出成合适的尺寸. 用图片优化技术就能缩短这一行并且使整体页面加载的更快.

  • 绿色: 绿条是等待获取内容的时间
    你可能经常看到绿条(等待时间)有80或者90毫秒, 而资源下载时间仅用了1毫秒. 减小绿条的最好方法就是把你的静态资源, 比如图片, 放到离你用户比较近的CDN上去.更多关于这个的话题, 以后再说.

降低瀑布图的高度

如果瀑布图很高,说明浏览器加载页面需要很多的请求. 减少请求的最佳方法就是看看你页面中包含的所有内容然后想想这个内容是否是必需的
举例:

  • 看到一大堆CSS和JS文件,如果你的网站请求很多独立测CSS或JS文件,你需要用CMS插件或者作为构建过程进一步把它们合并
  • 看到很多"小的"(不到2kb)JS文件和CSS文件了吗? 考虑一下用<script>, <code>或者<style>标签直接把这些内容内联到html文件中.(这个链接加的太蛋疼了, 不知道怎么翻译) Consider including the contents of those files directly in your HTML via inline <script>, <code>, or <style> tags.
  • 看到很多302重定向吗? 重定向在图中是高亮的黄色行. 代表你页面上的链接经常过期或者出错. 这些过期或者出错, 产生了没必要的重定向, 这玩意儿没什么用, 只能把你的瀑布图变高. 把那些链接替换成新的URL吧.
image.png

提升渲染时间

开始渲染时间代表用户首次从空白页面到看到加载出东西的时间

你的渲染开始时间如何? 如果超过1.5秒, 就得优化了. 说到优化, 先看一下开始渲染线(垂直的绿线)的"上边和左边"的所有资源. 这些东西就是为了提升渲染时间所要优化的东西.
提示:

  • 看到加载JS库了吗? 引入JS会阻塞页面的渲染, 如果可能的话, 把这些JS放到页面的下边.
  • 看到很多单独的CSS请求吗? 浏览器在渲染页面之前会等待所有CSS下载完成. 能不能合并这些CSS或者把一些CSS内联到HTML中
  • 看到额外的字体了吗? 当使用了额外的字体, 浏览器不会绘制任何东西直到下载了 那个字体. 可能的话, 要尽量避免使用额外加载的字体. 如果避免不了, 确认去掉了任何为了加载字体而做的没什么用的302跳转, 或者(更好的情况) 把那个字体copy一份, 放在你自己的服务器上.
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354

推荐阅读更多精彩内容