AMP技术,提升您的移动网络体验

通过郭盛华老师

AMP技术,提升您的移动网络体验


移动互联网的使用量在过去十年中呈爆炸式增长,到2025年移动网络用户数量预计将达到59亿。智能手机越来越普遍,在过去三年中,移动设备已经超越桌面作为浏览网络的主要设备。尽管明显转向移动浏览,但大部分网络都是针对有线连接上的台式机设计的。

加速移动项目(AMP)是谷歌最近开展的一项努力,其目标是改善移动浏览体验,为内容创建者提供基本上是标准Web开发工具的精简版和优化版。一些轶事证据表明AMP确实可以改善用户的网络浏览体验。

什么是AMP?

Google的AMP首次在2016年宣布,它是一个网络组件框架,旨在通过降低网站复杂性和利用Google在整个网络浏览渠道中的庞大基础架构和存在来提高移动网络性能。当用户通过启用AMP的浏览器执行搜索时,搜索结果可能会包含启用AMP的页面,并标有小闪电标记。当用户点击任何这些AMP链接时,将快速呈现AMP页面。

图1 – Google搜索结果页面中的AMP链接

图2 – AMP页面示例

快速页面加载主要来自三个来源:更简单的页面,AMP CDN中的缓存和页面搜索结果的预呈现。

首先,AMP大大简化了原始网页,并以高性能方式自行替换了一些标准HTML标签。此外,AMP限制使用作者编写的JavaScript并包含CSS文件,以便最小化文件大小并缩短加载时间。特别是AMP团队努力防止JavaScript和CSS在初始页面加载期间阻止DOM呈现,并使对象懒惰加载。

其次,AMP利用Google的AMP CDN进行缓存。最后,搜索结果中用户可能潜在点击的一些AMP页面(例如,最高结果)是预先渲染的,以便进一步减少加载时间。这种特殊技术可以实现对目标页面的即时访问。

不同版本在某种程度上有助于隔离AMP不同功能的贡献。

在非AMP版本就是这样,一个AMP网页的常规HTML版本,它可以在AMP页页眉的“链接”字段中很常见。该AMP原来的页面是由内容提供商或CDN其服务的AMP页面。

通常,AMP原始页面不会直接提供给用户,但首先会在Google自己的专用CDN上验证并缓存为AMP缓存版本。该AMP观众的版本是AMP缓存页面的渲染过的版本,潜在预渲染,甚至在其上的用户点击之前。

图3显示了这些版本的PLT(平均三个)

图3 – 不同AMP版本的页面加载时间(PLT)的累积分布函数(CDF)。

该图显示,对于大多数页面,任何版本的AMP都具有比非AMP版本更好(更低)的PLT,平均PLT从7.7秒下降到3.06秒,是2.5倍的改进。

正如预期的那样,AMP缓存具有最佳性能,因为它是最优化的版本,AMP页面之间的性能差距远小于AMP和非AMP页面之间的差异。

AMP查看器版本比此图表中的缓存版本更差,因为此图不会捕获预渲染的影响。

性能改进来自哪里?

最大的性能优势来自AMP中加载的各种对象数量的急剧减少。例如,AMP页面包括一半的HTML和平均四分之一的图像,而不是非AMP版本。除了节省提取和渲染这些附加对象的时间之外,更少的对象也意味着更少的DNS请求。

AMP或不AMP?

我们发现AMP确实可以降低网页的复杂性,这种降低确实可以显着提高移动用户的QoE性能。尽管围绕AMP的争议及其对网络健康的影响,随着谷歌继续推动AMP和用户认识到其优势,我们预计移动网络中越来越多的部分将选择类似AMP的技术。 

更多信息来自郭盛华博客:https://www.guoshenghua.com

关于作者

郭盛华老师 administrator

黑客防御、网络安全、开发各类系统、想学技术的朋友,可加QQ/微信 1602007,微信公众号:郭盛华