几个jquery分发库速度测评

摘要:jquery 是前端设计中很常用到的一个js库,很多页面都要引用它,那么如何快速的加载这是一个前端优化的问题。         以jquery1.6为例,min版大概90kb左右,不算大,不过就我之前的对一部分博客进行分析的结果,大部分的页面体积都在50kb以内,那么相比较而言,这个jquery的90kb就不能算小了。如果你的网站速度不错,基本能达到普通用户(这里假设大部分是2M宽带用户)的最大

jquery 是前端设计中很常用到的一个js库,很多页面都要引用它,那么如何快速的加载这是一个前端优化的问题。

timg.jpg

以jquery1.6为例,min版大概90kb左右,不算大,不过就我之前的对一部分博客进行分析的结果,大部分的页面体积都在50kb以内,那么相比较而言,这个jquery的90kb就不能算小了。如果你的网站速度不错,基本能达到普通用户(这里假设大部分是2M宽带用户)的最大下载速率200kb左右,那么一切没有问题。但是如果你的网站部署在性能一般的虚拟主机上(这样的虚拟主机很多都限制网速),或者部署在外国服务器上,那么你就必须介意网速了。

 

如何快速加载jquery等常用库呢?使用cdn分发是一个办法。我从网上搜索了一番,发现比较常用且免费的cdn分发js库有4家人,谷歌、新浪、微软、及官方。以jquery1.6为例,他们的网址分别为:

 

网络评论

在网上查询了一番,大部分人都对google的服务存在一定担忧,担心不知道哪天就访问不了了,同时对所有国外产品都存在一样的忧虑。于是大家都比较推荐国内的新浪云(lib.sinaapp.com)提供的分发资源。其实我也是这么认为的。不过具体还是得实测一番。

测试环境

我使用了4个方法进行测试。

利用百度统计的一个功能“网站速度诊断”。 利用单位的10M宽带,本机测试。 利用电信的2M宽带,本机测试。 利用Amazon ec2 东京节点,也就是本博客服务器进行测试。

测试一

使用百度统计的“网站速度诊断”功能。登录百度统计后台,进入该功能页面,分别输入4个网址,记录得分。

 

结果如下:

 

谷歌 新浪 微软 官网 电信 0.30 0.31 1.25 0.92 网通 0.22 0.32 0.41 2.40

似乎新浪和谷歌速度都不错。

 

测试二:

10M移动宽带,本机测试。

我使用python写了一段非常简单的下载功能,用来测试。代码如下:

import urllib2 import time urls=[{\'name\':"jq",\'url\':"http://code.jquery.com/jquery-1.6.min.js"}, {\'name\':"sina",\'url\':"http://lib.sinaapp.com/js/jquery/1.6/jquery.min.js"}, {\'name\':"ms",\'url\':"http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.min.js"}, {\'name\':"google",\'url\':"http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js"}] for url in urls: totalTime=0 for i in range(5): start=time.time() urllib2.urlopen(url[\'url\']) end=time.time() totalTime+=(end-start) print url[\'name\'],totalTime/5

运行后的结果为:

jq 4.34320001602
sina 1.08899998665
ms 2.61820001602
google 0.640999984741

谷歌速度第一,新浪第二。

 

测试三:

东京Amazon ec2 服务器。同样运行上面的python脚本。

运行后结果为:


jq 0.662930107117
sina 0.820287418365
ms 0.174965858459
google 0.18151807785

微软第一,google第二,官网也有不俗表现,国内的新浪悲剧了。

 

测试四:

2M电信宽带,本机测试。同样执行上面的python语句。

运行后结果为:

jq 0.461800003052
sina 1.87899999619
ms 2.12319998741
google 0.244599962234

谷歌第一,新浪跌至第三。

总结

在排除第三个测试,即只考虑国内环境情况下。谷歌依然是最快的,但是基于保稳定,新浪也是很好的选择。

而国外,大公司是不二选择,微软、谷歌都是优秀的。