移动互联网的使用量在过去十年中呈爆炸式增长,到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
关于作者