标签归档:网站加速

启用Google AMP移动网页加速显示技术

网站速度优化-Google-AMP

早前关注过AMP移动加速显示优化技术(加速移动页面Accelerated Mobile Page)(百度有类似MIP,Facebook有Instant Article),尤其是在Google移动搜索里搜索新闻时候,经常见到排在前面的结果会有AMP闪电符号,打开这种结果网页也是异常地快速与简洁。

2016年8月,Google宣布AMP移动搜索结果将适用于所有网站(Google取消了移动友好页面的Mobile Friendly标志就是为了给AMP标志让路)。百度、搜狗、雅虎日本最近也宣布支持收录AMP网页,表明此技术应用越来越广泛。大势所趋,土木坛子现在也开始使用AMP技术来加速移动端加载速度。

只需在WordPress后台安装官方AMP插件(不建议安装第三方的插件, 插件的中文翻译支持参考该文章),开启插件即可——不需要任何设置。对于非移动端,直接在每篇文章页面链接的最后加上AMP就可以看到AMP显示效果。也可以使用Chrome的AMP插件来检查页面上可能的HTML语法错误。

配置好AMP后,之后等待Google爬虫来索引就可以了——也可以手工去Google Webmaster后台提交。我的网站在开启AMP后24小时不到,就可以看到Google已经开始在移动端提供部分搜索结果的AMP(需要在Google手机移动端点击,平板和PC桌面Google都不行)网页了。

AMP加速移动显示

AMP本质技术原理其实就是一个简洁版并内置CSS的HTML静态网页(AMP HTML),禁止掉第三方JavaScript而只用少量特定版本的AMP JavaScript,再加上从Google移动搜索结果里面出来的AMP网页全部都由Google全球CDN网络提供Cache高速缓存(AMP Cache),因此在手机上的网页加载速度,即使在移动网络下,也确实达到了异常之快,闪电秒加载,有效提高访客用户体验。

采用AMP技术的网站加载速度比全站CDN还要快,Google在搜索结果里就开始预加载AMP页面,而且AMP页面本身的元素也已经极度精简。通过Google手机端搜索进入本文后页面的域名都直接变成Google, 比如本文的链接变成:

https://www.google.com/amp/s/tumutanzi.com/archives/15640/amp

使用Google AMP技术的网页本身支持Google Analytics统计,也支持显示AdSense广告。但这种简洁页面的并不是没有代价和缺点:去除了除内容之外的所有其它功能,包括各种JavaScript代码,它甚至可能会有小问题——这项开源技术还在发展中,它的设计目的也不是为了适合所有类型的网站(但非常适合新闻类和博客类等含有静态内容的网站)。这也是有些互动内容较多的网站不愿意使用的原因。

其实我的网站本身足够简洁,对手机的响应式显示也很友好,并且我也用了CloudFlare的CDN加速服务,因此,Google AMP带来移动端的加载速度提升本身并不会太明显。我使用AMP更主要的原因是因为这项技术是Google推出,为了获取AMP下更好的Google搜索排名优点(SEO),启用它应该利大于弊。

由于是Google主推的开源服务,所以国内无法看到Google提供的AMP网页,因为在中国大陆无法使用Google搜索。而我的网站主要的访客都是从Google搜索过来,移动搜索所占比重也越来越多,为了更好的服务这些访客——节省他们的时间,开启Google AMP服务支持也无可厚非。而且,增加AMP支持原来不影响网站原来的任何东西,纯粹加分项。

长期来看,AMP可能只是一个历史过渡期的产物,将来的移动网速只会越来越快,硬件性能也越来越好,网页加载速度也自然跟着提升。不过在目前,我觉得启用AMP还算是拥抱新技术。一万年太久,只争朝夕。

试用Google牌CDN: Google PageSpeed Service

Google

Update: Google 2015年8月3日要关闭这个免费服务了,以下是公告原文:

On July 28, 2011 we announced PageSpeed Service, an online service to automatically speed up web pages. In the last 4½ years, PSS has delivered millions of pages for thousands of sites, all for free. While a number of sites continue to enjoy the benefits of PageSpeed Service, we see much broader adoption of PageSpeed technology through our open-source products and have therefore decided to focus our efforts on improving those.

Today we are announcing that PageSpeed Service will be turned off on 3rd August 2015. Users must change their DNS to point away from the service by this time, or their sites will cease to function. We have created a migration page that includes assistance for changing DNS as well as information on other ways PageSpeed technology can be employed on websites. Please see https://developers.google.com/speed/pagespeed/service/Deprecation.

At the same time we are also announcing the deprecation of PageSpeed integration with Google App Engine. If you are using PageSpeed integration on Google App Engine, it will continue to function until 1st December 2015, after which PageSpeed optimizations will no-longer be applied to your app. No action is required on the part of App Engine users; after this date apps will continue to operate, except without the benefit of the PageSpeed optimisations. Users that wish to pre-emptively disable PageSpeed can follow the instructions at https://cloud.google.com/appengine/docs/adminconsole/pagespeed#disabling-pagespeed.

The open source PageSpeed server modules mod_pagespeed and ngx_pagespeed and the PageSpeed Optimization Libraries are unaffected by this announcement and development on these will continue.

The PageSpeed team.

Google公司在全世界有很多的数据中心和服务器,我曾经想,要是Google提供它的资源为我们的普通网站加速,那就太厉害了。没想到,Google还真早在2011年就提供这样的服务,叫作Google PageSpeed Service,目前依然免费。

我去Google PageSpeed Service网站用我的英文网站申请开通了账户,不到几个小时就收到了回复,申请通过。简单设置几下以后,网站就开始经由Google的全球网络加速,极速体验且免费不限流量,还支持HTTPS SSL。

我的英文网站搭建在戈戈主机上,由于位置在美国,所以想利用Google PageSpeed Service加速美国以外的网站速度。现在用上Google PageSpeed Service,网站在全世界都有着相当于Google搜索的速度(中国大陆和朝鲜除外)。

和普通的CDN有些不一样,Google PageSpeed Service利用它的全球数据中心为网站加速之前,还会对网页内容重新编写、压缩合并CSS, JavaScript和图片,并且使用SPDY协议分发从而减少网页请求数,进一步提高网站的传输速度。完全可以理解为免费的Google牌高级CDN服务。唯一的缺点是不支持裸域名(即不能是 tumutanzi.com 形式)。

很奇怪,Google于2011年就开启了Google PageSpeed Service服务,到现在还没有进入到大规模使用。虽然官方声称将来有收费计划,不过我估计,就算收费也可能会有免费的产品。

Google PageSpeed Service目前在国内还属于可用状态,也许是由于Google在中国大陆的状态,使得国内众多网站主不敢使用Google PageSpeed Service加速网站,谁也说不准什么时候Google PageSpeed Service就被墙了。

CDN加速实际效果和理论性能差距太大

天下武功,唯快不破!

网页速度很重要

作为一个博客网站,最为重要的当然是注重于内容。在呈现内容的时候,保持简洁很有必要:重点突出想要给读者阅读的内容,除此之外,还有一个因素也非常重要:页面打开的速度。你能花10秒钟的时间等待一个网页打开吗?即使是再有名的网站也会让把人等跑,现在的人们都没有耐心,何况浪费别人的时间更无异于谋杀别人的生命。

影响博客打开速度的原因很多,软的方面比如页面优化、静态化等技术手段自然不必说。难以改变的是硬件方面,主机服务器性能是否足够好?服务器所在的地理位置离目标读者远近如何?这些因素一般在购买主机后,就难以改变了:一分钱一分货,古今中外,概莫能外。

CDN网站加速

CDN技术的出现,似乎为改善网站的性能提供了一条可行之路,至少理论上可行。为什么新浪、搜狐等门户网站在国内任何一个地方的访问速度几乎一样快?放眼全球,YouTube在全球的访问速度为什么都那么快(暂不包括中国大陆)?答案就是他们都运用了CDN技术——分布式内容分发网络,对于每一个访客都采用最近的线路分发内容。

个人博客也可以采用这样的思路来加速访问速度,何况还有这么多免费的CDN加速服务,无论你的博客是否备案,都有相应的服务。不过我最近发现免费的CDN加速服务理论与实际差距太大。由于没有备案,我选择了CDNZZ来加速,因为这个服务相比起其它的服务,有位于香港的加速主机,理论上比其他的国外服务要好些。

CDN实际加速效果

首先看看DNS解析速度,未用CDN之前,使用DNSPod.cn的解析服务:

最快:美国20毫秒,最慢:深圳[联通]392毫秒,电信平均:259毫秒,联通平均:299毫秒

使用CDN之后:

最快:德国9毫秒,最慢:河南[多线]556毫秒,电信平均:285毫秒,联通平均:215毫秒

DNS的解析速度不相上下,看不出来有提升。

然后看在线速度测试结果。下图是加速前的在线速度测试结果,1个IP,平均加载总时间为1.624S,下载速度21.983K/秒,在大部分省份的速度都是不错的。

网站CDN加速后实际效果和理论性能差距太大

再来看采用CDN加速后的结果,6个IP,8.058S,下载速度16K/秒,没有加速,反而还变慢了,简直是全国山河一片红

网站CDN加速后实际效果和理论性能差距太大

原因分析和结论

理论上CDN应该加速网站的加载速度,然而测试结果并不买账,无论是DNS解析还是网页加载时间。我想原因可能以下几点:

  1. 实际硬件的局限性,尤其是免费的CDN硬件资源未必就一定强劲;
  2. 智能计算需要时间开销,确定从哪个地点加速,如何加速等一系列进程需要额外时间,而加速前只需直接到服务器存取内容就行了;
  3. 有限的资源分配给每位用户时难以保证,这体现在免费的CDN服务上尤其明显——免费就是要付出代价——没有人为你保证质量。

虽然这只是一家免费的CDN测试结果,但从我了解到其他博客主的CDN使用情况来看,定性方面的结果都类似,即CDN实际加速效果并不好。因此,从这些结果和分析来看,还是老老实实地用自己的购买的主机服务器最为可靠——除非主机服务器实在太烂。对于资金雄厚的朋友,当然可以买虚拟独立主机,或者直接的独立主机,不过那种情况对于一般访问量的博客主实在没有必要。

希望此文对于那些想使用免费CDN来实现网站加速的博客主和站长们有所参考。