zoukankan      html  css  js  c++  java
  • http连接过程遇到的各种性能瓶颈

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

      1. DNS查询

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

         对应的昨天流程图中的:

         

      2.建立连接

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

       

      3.TTFB

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

        

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

      4 TTLB

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

      5 开始渲染时间

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

        

      6.文档加载完成时间

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

        

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

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

  • 相关阅读:
    div嵌套盒子模型
    java.lang.ClassNotFoundException: com.mysql.jdbc.Driver的问题
    java用class.getClassLoader().getResourceAsStream方式读取properties文件路径问题
    JDBC学习链接----非常好的视频
    数据库用户权限管理
    MySQL 数据备份与还原
    存储过程--触发器和事件
    Mysql常用函数
    Mysql使用终端操作数据库
    python网络-动态Web服务器案例(30)
  • 原文地址:https://www.cnblogs.com/qunincey/p/9528791.html
Copyright © 2011-2022 走看看