浏览器预连接性能测试

本文探讨了浏览器预连接技术如何提升用户体验并减少服务器性能消耗。研究发现,预连接的连接通常在几百毫秒内发送第一个请求,若超过10秒未使用,浏览器会关闭连接。此外,约6%的TLS连接从未用于HTTP请求,可能增加服务器负担。预连接应在10秒内被利用,以避免浪费资源。
摘要由CSDN通过智能技术生成

640?wx_fmt=jpeg


通过预连接,可以提升用户访问体验,并减少服务器性能消耗。本文来自Akamai 网络性能业务部门架构师Utkarsh Goel,他展示了一系列对比测试。LiveVideoStack对本文进行了摘译。


文 / Utkarsh Goel

译 / 王月美

原文 / https://developer.akamai.com/blog/2018/06/25/experiments-with-browser-preconnects/


为什么有此次实验?


现代Web浏览器采用一套性能优化技术来改善用户的体验。预连接提示就是这些优化中的一种,它允许浏览器发现关键主机名,并主动建立连接,以便在不久的将来提供服务请求。在本文中,将讨论Akamai基础架构收集的几个大型数据集和一些实验室内所做的实验,以及从中观察到的通过预连接提示建立的连接的某些特征。此次工作的主要发现是:


  • 当浏览器建立预连接时,连接上的第一个HTTP请求通常会在建立连接后的几百毫秒内发送,因为预连接发生时,请求可能不可用,因此浏览器必须花费时间来分析HTML,并且寻找可以在连接上发送请求的其他资源。


  • 如果连接建立时间和第一个请求发送的时间间隔大于十秒,浏览器将关闭连接,从而失去发送预连接提示的目的。 开发人员必须确保在前10秒内使用预连接提示。


  • 偶然的情况下,预连接可能永远不会用于发送HTTP请求。那该情况下,服务器基础结构上的CPU负载可能会最小。


介绍


现代网页利用数十个主机名来下载数百种资源。对于这些资源中的每一个,浏览器都会对其TCP高速缓存执行快速查找,以检查是否已经存在与相关主机名的连接,以及该连接是否可用。如果TCP连接不可用,浏览器将对其DNS缓存执行查找,以检查相关主机名是否存在DNS条目。如果DNS和TCP条目在缓存中均不可用,浏览器将执行DNS查找并建立新的TCP连接,然后在需要的地方进行TLS握手。当DNS条目和连接尚不可用时,页面加载时间可能会增加,尤其是需要加载位于网页关键路径上的资源时。


为了避免这些预备任务在网页的关键路径上发生,许多Web开发人员使用preconnect 提示,让浏览器执行DNS查找,并在提示可用时立即与主机建立TCP / TLS会话。一个好的Web开发实践会在所请求的主页 HTML的HTTP响应头中发送preconnect提示,例如


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值