Performance 自托管AMP框架-性能方面

Performance 自托管AMP框架-性能方面,performance,cdn,amp-html,Performance,Cdn,Amp Html,Matt Mower发布了一篇文章,解释如何自托管AMP框架 他认为其中一个好处是: 从同一主机提供AMP页面和框架,可能会缩短内容交付时间 在读这篇文章之前,我认为在性能上没有区别,因为HTML只从我的服务器提供一次,然后异步调用从官方CDN传输AMP框架文件。如果是自托管的,AMP框架文件仍将以几乎相同的方式提供,但来自我的服务器。那么,自宿主AMP框架是如何更好地执行的呢?请记住,虽然AMP库是异步加载的,但AMP运行时(v0.js)仍然会对您的页面进行渲染阻塞(这是特意使用的,它会在运行

Matt Mower发布了一篇文章,解释如何自托管AMP框架

他认为其中一个好处是:

从同一主机提供AMP页面和框架,可能会缩短内容交付时间


在读这篇文章之前,我认为在性能上没有区别,因为HTML只从我的服务器提供一次,然后异步调用从官方CDN传输AMP框架文件。如果是自托管的,AMP框架文件仍将以几乎相同的方式提供,但来自我的服务器。那么,自宿主AMP框架是如何更好地执行的呢?

请记住,虽然AMP库是异步加载的,但AMP运行时(
v0.js
)仍然会对您的页面进行渲染阻塞(这是特意使用的,它会在运行时加载之前隐藏页面内容)

假设您的服务器支持HTTP/2,那么将运行时托管在您的网站旁边可以让您利用并避免连接到其他服务器(AMP CDN),这通常会增加DNS查找和连接开销

但是,自托管框架有一些缺点:

  • 您的页面无效(这将在将来更改)

  • AMP的CDN是全球分布的,性能非常好-如果您自己不使用类似质量的CDN,CDN性能可能会超过将运行时托管在与您的网站相同的服务器上所带来的优势

  • 如果您以前访问过另一个AMP网站,浏览器可能已经缓存了AMP CDN提供的AMP运行时(这不适用于使用类似Chrome的浏览器)



底线是,如果您希望在AMP页面上获得更高的性能,最好从和中概述的提示开始。自托管框架可能会带来额外的性能优势,但对于大多数网站来说,这可能可以忽略不计。

主题是“库主机”,而不是“内容主机”。您的“托管”站点将指向托管javascript,而不是amp javascript。您需要检查您的内容(带有托管LIB)是否在amp缓存中(如果不检查,我记不起来了)。添加了两个选项:1。AMP验证器将来将支持自托管AMP运行时。2.浏览器现在只缓存每个源的脚本,因此跨源缓存不再是从cdn.ampproject.org加载AMP运行时的好处。