幾個jquery分發庫速度測評

        jquery 是前端設計中很經常使用到的一個js庫,不少頁面都要引用它,那麼如何快速的加載這是一個前端優化的問題。前端

        以jquery1.6爲例,min版大概90kb左右,不算大,不過就我以前的對一部分博客進行分析的結果,大部分的頁面體積都在50kb之內,那麼相比較而言,這個jquery的90kb就不能算小了。若是你的網站速度不錯,基本能達到普通用戶(這裏假設大部分是2M寬帶用戶)的最大下載速率200kb左右,那麼一切沒有問題。可是若是你的網站部署在性能通常的虛擬主機上(這樣的虛擬主機不少都限制網速),或者部署在外國服務器上,那麼你就必須介意網速了。python

 

        如何快速加載jquery等經常使用庫呢?使用cdn分發是一個辦法。我從網上搜索了一番,發現比較經常使用且免費的cdn分發js庫有4家人,谷歌、新浪、微軟、及官方。以jquery1.6爲例,他們的網址分別爲:jquery

http://code.jquery.com/jquery-1.6.min.jsweb

http://lib.sinaapp.com/js/jquery/1.6/jquery.min.jsajax

http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.min.jsapi

http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js服務器

那麼要選哪一個好呢,標準很簡單,哪一個快哪一個好。因此下面進行一個測試。網絡

網絡評論app

        在網上查詢了一番,大部分人都對google的服務存在必定擔心,擔憂不知道哪天就訪問不了了,同時對全部國外產品都存在同樣的憂慮。因而你們都比較推薦國內的新浪雲(lib.sinaapp.com)提供的分發資源。其實我也是這麼認爲的。不過具體仍是得實測一番。前端優化

測試環境

         我使用了4個方法進行測試。

  • 利用百度統計的一個功能「網站速度診斷」。
  • 利用單位的10M寬帶,本機測試。
  • 利用電信的2M寬帶,本機測試。
  • 利用Amazon ec2 東京節點,也就是本博客服務器進行測試。

測試一

        使用百度統計的「網站速度診斷」功能。登陸百度統計後臺,進入該功能頁面,分別輸入4個網址,記錄得分。

web-speed

結果以下:

 

  谷歌 新浪 微軟 官網
電信 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

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

總結

在排除第三個測試,即只考慮國內環境狀況下。谷歌依然是最快的,可是基於保穩定,新浪也是很好的選擇。

而國外,大公司是不二選擇,微軟、谷歌都是優秀的。

相關文章
相關標籤/搜索