通过依赖追踪优化网页加载时间

日期:2016/3/5 / 人气:

网页臃肿的问题越来越严峻。因此,旨在加速网页加载速度的技术通常专注于数据压缩也就不奇怪了。

但麻省理工学院计算机科学和人工智能实验室 (CSAIL) 的研究人员们另辟蹊径,试图将网页扫瞄中的一些冗余部分去除。他们推出了一款名为 Polaris 的工具,称能够减少 34% 的网页加载时间。

他们的技术专注于测绘网页中不同对象之间的连接(又称依赖),从而动态推断扫瞄器加载不同依存元素的最有效路径。

虽然以前也有人尝试过“依赖追踪”,但他们称自己的方法能更“精细”地描绘这些联系,其余方法则专注于通过 HTML 标签来比较词法联系,因此不能捕捉到“更细微的依赖”。

博士生拉维·内卓瓦利 (Ravi Netravali) 在谈到 Polaris 和其余方法的不同之处时说道:“之前的工具依据其依赖图所做的事是,尽量符合现在扫瞄器加载页面的方式。因此,载入页面时会先猎取 HTML 文件。HTML 文件中列出了许多东西,且按照肯定的顺序排列。这一顺序就是这些工具看待依赖的方式。因此,如果某个对象出现在另一个对象上方,它们就认为扫瞄器应该先猎取出现在上面的对象。”

“我们发现,这么做并不肯定对。这并不肯定就是这些对象的真实依赖联系。因此,我们的 Polaris 就以更精细的程度去追踪这些对象的依赖联系。某个对象是不是在写入一些其余对象读取的数据?如果是,这就是依赖。但如果它们完全在做不相干的事,它们就没有任何共享状态,这样你就应该并发地猎取并处置它们,因为它们之间并不依赖。”

那么网络赌博其余人没有想到过更精确地测绘网页对象依赖,从而提高扫瞄器的效率和页面加载速度呢?拉维·内卓瓦利认为,向移动计算的改变让人们更加关切页面加载逻辑,人们在之前主要关切其余地方来进行优化。

拉维·内卓瓦利说道:“直到几年前,许多人专注于改进扫瞄器、让 Javascript 引擎变得更快,让 HTML 处置器运行得更快。因此,像 Chrome 和火狐这样的通宝222欧洲娱乐城扫瞄器都通过了大批优化。但我想,考虑到移动计算的崛起,现在的关切重点正转向这些延迟。这些移动网络中的往返时间让页面加载速度慢了非常多。”

“当人们主要通过桌面电脑扫瞄网页时,访问服务器的成本就低很多。而在移动网络中,这类时间就高了几个数量级,而我们的方法能节省一秒多。近年来有很多研究表明,从内容提供者的角度来说,页面加载时间每增加几十毫秒,都会流失大批收入和用户。”

Polaris 需要安装到服务器上,它还包括一个名为 Scout 的工具,以便在服务器本地加载页面,提取页面中的依赖来发明可供 Polaris 使用的依赖图,进而优化页面加载方式。

“当客户端要求到达服务器时,依赖图已经生成。生成依赖图不是由用户触发的”,拉维·内卓瓦利说道。不过,他也证实,如果网站发生重大改变,就需要重新进行依赖分析,以便继续加速网页。

“现在当网页更新时,无数索引会在服务器上更新,以确保这些索引有内容,它们还会索引之前的内容,以便总是能够回复,因此我觉得这种依赖追踪也能够加入到这个工作流中。”

这些研究人员在众多网络环境中下测验了 Alexa 排名前 200 的网站。这些测验的中位数据是节省了 34% 的加载时间。拉维·内卓瓦利表示,加速取决于网页的复杂度。非常简单的页面不会从这一技术中得到多少好处,越复杂的页面能节省越多的加载时间。

麻省理工学院当前对 Polaris 的计划是“最终”开源,但其最近的希望是能鼓舞扫瞄器开拓商嵌入这一技术。

拉维·内卓瓦利表示:“我们做的一大决策是用 Javascript 来开拓 Polaris。这是个研究项目,但我们希望它能被一些主流商业扫瞄器所采纳。把 Polaris 嵌入到这些扫瞄器中会很有用。因为扫瞄器的原生源代码自然运行得比 Javascript 快。”

“在扫瞄器中处置 Javascript 有优点也有缺点。到当前为止,我们的想法是开源它,但我们的最终目的是让一些主流扫瞄器采纳它。当然,网络服务器也能够采纳它。”

 

作者:88娱乐 娱乐场下载科技


Go To Top 回顶部