http连接过程遇到的各种性能瓶颈
Posted qunincey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了http连接过程遇到的各种性能瓶颈相关的知识,希望对你有一定的参考价值。
昨天写了http中的流程,今天针对这个流程,归纳几个可能遇到的性能瓶颈
1. DNS查询
域名解析虽然只要一次,本地就会缓存,但是有时候后端的服务可能绑定在二级域名下,这样解析复杂度就上去了,而一些大厂关联的域名可能更多,每一个域名解析都会增加响应时间,更为耗时的是之后还要tcp三次握手,
对应的昨天流程图中的:
2.建立连接
这里就是我觉得最为耗时的tcp三次握手了,如果是TLS连接还要加上TLS的网络耗时,除此之外,TLS协议本身还要浏览器和服务器解析,这也是耗时操作,这一部分对应:
3.TTFB
time to first bytes 首字节时间,这个就要服务器响应速度了,以及主页面的资源排布了,对应的地方是
注意这个部分算的是往返操作,就是说不单单是客户端的发出,还要算上服务端的响应
4 TTLB
请求资源最后到达的的时间
5 开始渲染时间
这里开始就是浏览器的部分,浏览器屏幕上开始响应内容的时间,就是用户等待页面的时间,这是这一部分的
6.文档加载完成时间
这一部分就是所有页面资源加载的时间,对应的是
最后,大体上每个链接步骤都是耗时操作,在这篇博文中虽然我把他们分开讲,是为了让我自己分清楚,实际上里面有些概念是子集和父集的概念,例如TTFB时间实际上包含了前面DNS解析和TCP三次握手的时间,和别人装逼的时候一定要注意
还有一点,上面的每一个资源的增加都会造成性能的下降,例如引用的js文件如果增加,页面加载完成时间也会增加
以上是关于http连接过程遇到的各种性能瓶颈的主要内容,如果未能解决你的问题,请参考以下文章