一秒鐘幾十萬上下,網頁載入速度真的很重要

評論
評論

編按:原文刊載於 gigpeppers,作者為 Cucumbertown 食譜網站的共同創辦人 Cherian Thomas。

Amazon 的網頁載入時間每多一秒,該公司的年度營收就減少 16 億美元;Google 的搜尋時間每多 0.4 秒,每天的搜尋次數就會減少 8 百萬。這些都告訴我們網頁的載入時間長短非常重要,而 Inside 先前也寫過一篇「科技發展使人們開始失去耐心?」談影片的載入時間與使用者行為的關係,那麼網頁的載入時間是不是也是這樣子呢?

Cucumbertown 用了許多不同的策略,以確保網頁可以在 2 秒內載完,最多 3 秒。我們非常熱衷於改善這件事,甚至還設定了一些提醒機制以防載入時間超過 3 秒。

然而,就在 Chris Zacharias 寫了「Page Weight 很重要(Page Weight 只的不單是網頁檔案大小,還包括網頁自動執行的動作多寡等)」(註一)這篇文章之前,一封 Google Analytics 寄來的信通知了我們,網頁的載入時間超過了 20 秒,我們立刻放下手邊的一切去找出究竟發生了什麼事。

通常網頁載入的延遲發生之後,就會馬上被隨機測試或是我們的重度使用者給發現,但這次並沒有,提醒機制甚至隔了一天才啟動。這把你嚇壞了,一個你還沒有搞清楚的未知問題,比起一些大的臭蟲來說更加危險。

我們便開始進行探測,而結果就如下圖所看到的:

當然,Google Analytics 分析了平均載入時間,而這分析影響了結果。但將這與其他分析結果放在一起看,似乎還是可以得出一些結果。Cucumbertown 的連結被放在一個奈及利亞的美食頻道和一個泰國的知名部落格上,導致大量的流量湧入。網頁載入速度在這些國家就如同你所看到的,可笑的慢。

我們的 Cucumbertown 是一個內容很多的網站,即便利用 requireJS 延遲以及基於使用者需求來載入 JavaScript,與網頁腳本載入有關的成本還是相當顯著。即便載入文件物件模型(Document Object Models)都要花時間。

在美國地區的網頁載入時間為 2.5 秒證實了這件事,DSL 裝置的 43 毫秒載入時間普及全球(註二),現在是時候開始考慮內容傳遞網路(Content Delivery Network)了。

我們在 Zynga 一開始是依賴 Akamai(編按:作者為前 Zynga 資深軟體工程師),隨後換成 LimeLight 。但最近我們發現 CloudFlare 在 Hacker News 上有一些活動,而且他們提供的功能也很吸引人去一探究竟,於是我就決定做個小小嘗試。

現在這個部落格(gigpeppers)就是透過 CloudFlare 來提供的服務,並透過內容傳遞網路來傳遞內容。當網站有大量的流量湧入的時候,這個模式帶來的體驗非常的棒,但如果沒有持續的請求時,這個模式反而會讓之後的網頁載入效率變差,但效率依然還是可以漸漸回到 1.5~2 秒之間。(編按:有點類似靜摩擦力的啟動阻力比動摩擦力還要大的概念。)

我依然認為內容傳遞網路是一種企業用的昂貴方式。但我們這樣一個新創公司現在就正在使用,並把服務提供給全世界,而且這似乎是一個很重要的解決方法。

 

(註一)Page Weight Matters
(註二)What the FCC’s new metrics tell us about U.S. broadband


精選熱門好工作

Campaign Associate 資深線上活動策劃專員

樂購蝦皮股份有限公司
臺北市.台灣

獎勵 NT$20,000

整合行銷經理

FunNow
臺北市.台灣

獎勵 NT$20,000

系統架構師

GliaCloud 集雅科技股份有限公司
臺北市.台灣

獎勵 NT$20,000

評論