• http连接过程遇到的各种性能瓶颈


    昨天写了http中的流程,今天针对这个流程,归纳几个可能遇到的性能瓶颈

      1. DNS查询

         域名解析虽然只要一次,本地就会缓存,但是有时候后端的服务可能绑定在二级域名下,这样解析复杂度就上去了,而一些大厂关联的域名可能更多,每一个域名解析都会增加响应时间,更为耗时的是之后还要tcp三次握手,

         对应的昨天流程图中的:

         

      2.建立连接

       这里就是我觉得最为耗时的tcp三次握手了,如果是TLS连接还要加上TLS的网络耗时,除此之外,TLS协议本身还要浏览器和服务器解析,这也是耗时操作,这一部分对应:

       

      3.TTFB

        time to first bytes 首字节时间,这个就要服务器响应速度了,以及主页面的资源排布了,对应的地方是

        

        注意这个部分算的是往返操作,就是说不单单是客户端的发出,还要算上服务端的响应

      4 TTLB

        请求资源最后到达的的时间

      5 开始渲染时间

        这里开始就是浏览器的部分,浏览器屏幕上开始响应内容的时间,就是用户等待页面的时间,这是这一部分的

        

      6.文档加载完成时间

        这一部分就是所有页面资源加载的时间,对应的是

        

      最后,大体上每个链接步骤都是耗时操作,在这篇博文中虽然我把他们分开讲,是为了让我自己分清楚,实际上里面有些概念是子集和父集的概念,例如TTFB时间实际上包含了前面DNS解析和TCP三次握手的时间,和别人装逼的时候一定要注意

      还有一点,上面的每一个资源的增加都会造成性能的下降,例如引用的js文件如果增加,页面加载完成时间也会增加

  • 相关阅读:
    js数据类型转换与字面量
    CSS精灵图与字体图标
    CSS元素的显示与隐藏
    .net core依赖注入学习
    WebAPI 参数问题
    .net EF code first 注意事项
    C#面向对象
    家用电信光纤内网IP改为公网IP
    页面JS引用添加随机参数避免页面缓存
    JS处理URL中的中文
  • 原文地址:https://www.cnblogs.com/qunincey/p/9528791.html
Copyright © 2020-2023  润新知