您的上網可以更快

上一篇高登教大家「找出最快的 Facebook 主機」,相信很多人試了之後會有一大堆問號???

為什麼連到比較遠的美國 Facebook 主機反而會比較順,是什麼原因造成這種現象?


事實上有許多人都有「網站呈現的速度跟網站主機的位置有關」這種觀念,但是您知道嗎?網站主機位置並不是網站速度的唯一因素,這一點我相信您已經實際體會到了,不是嗎?

影響網站速度的因素

這篇文章要來探討一下如何讓網站以最快的速度呈現在網友的瀏覽器,我先歸納幾個因素:

  1. 網站主機的地理位置
  2. 網站主機連線的頻寬
  3. 網站主機的硬體規格
  4. 網站佔用的主機資源
  5. 網站主機程式的設置及優化
  6. 網頁資料的大小

而這些因素是環環相扣的,只要其中有一項表現不佳,網站速度的整體表現就會差很多,現在我一一解釋每一項因素的影響。

網站主機的地理位置

這就是一般人認為網站主機在台灣的會比在國外快的刻板印象,但是您知道嗎?高登工作室開站五年多來,除了剛開始主機在台灣以外,已經使用美國主機有四年多的時間了。

那您在瀏覽高登工作室網頁的時候會覺得慢嗎?會讓您馬上想到這個網站是放在國外的?

我想我不說您應該都不知道吧?

所以網站主機的地理位置並不是決定網站速度的唯一因素,而且重要性比起下列的因素可能都還要低。

除了一種例外:當台灣跟美國之間的網路不通的時候,那就會有很大的影響了!

網站主機連線的頻寬

當您家裡動不動就是 50M, 100M 的網速在上網的時候,網站主機對外的頻寬會比第一項因素來得重要。

曾經有台灣的主機商來找高登合作,想叫我將網站寄放在他們的主機,但是我看了看他給的規格就沒再談下去了。

因為他們提供的最大頻寬只有 1Mb?!

以 1Mb 的頻寬,多幾個人同時瀏覽本網站就會互相影響,而且大家用高速頻寬連到低速網站主機,所得到的網速當然就是你跟大家均分那 1Mb 之後的速度,您想那會很快嗎?

這就是大家常在講的網路塞車最主要的原因:就好像高速公路連續假期湧入太多的車輛,遠遠超出它能負擔的流量,這樣百分之兩百一定塞車。

所以高速公路避免塞車的一個作法是:「增加道路線數」,這就是跟頻寬一樣的東西。

四線道可以容納的車流一定是兩線道的兩倍左右,這一點大家應該同意吧?

但是一般在台灣的網站因為基礎建設的頻寬值本來就比國外低很多,所以會把公路的線數減少(頻寬降低),這是目前台灣網路建設的最大問題所在。

網站主機的硬體規格

網站主機也是跟您用的個人電腦一樣一直在出更新更快的規格,您應該不知道在台灣主機商的機房裡面,超過使用四、五年古董主機的一大堆。

更別提國外主機已然慢慢在普及的 Raid 磁碟陣列,甚至是用固態硬碟 SSD 組成的磁碟陣列。

還有 CPU 的運算效能也是差很大,如果你家裡新的 i7 四核心主機跟舊的 P4 主機做同一樣一件運算的作業(影片轉檔或算 3D 圖),那花費的時間會是差好幾倍的。

所以新規格的主機一秒鐘可以處理的程序數目,是那些古董主機的好幾倍,這也是影響網站主機速度的另一個重要因素。

網站佔用的主機資源

但是就算是採用了最先進的硬體,如果一台主機放100個網站跟放1000個網站您覺得哪一個會比較快?

用膝蓋想也知道同一台主機放越少的網站速度會越快!

但這個比較是大家的網站規模都一樣才有意義,因為一個大型的網站所吃的資源可能等於1000個小網站所別的資源。

而這也就是一般虛擬主機 Virtual Host 跟 VPS 甚至是獨立主機的差異:一般低價的虛擬主機是所有網站共用資源的,當同一台主機有耗用極大資源網站的時候,其他的網站速度就會受到拖累。

而好的 VPS 主機則會保證每一個網站都能保有一定百分比的資源,所以比較不會被其他網站拖垮。

這也就是 VPS 主機會比一般虛擬主機還貴的原因:因為主機商能賣的口數有限制,比較不會像虛擬主機一樣嚴重超賣。

網站主機程式的設置及優化

網站主機的程式也跟您家裡用的作業系統一樣有好壞之分,好的作業系統可以讓您用最少的硬體資源達成相同的工作。

而這個部份就是網站系統管理員要作的功課了,在相同的硬體條件下,一個優化良好的主機程式環境,可以讓網站同時瀏覽人數增加好幾倍,您相信嗎?

事實上電腦軟體產業也跟硬體產業一樣,每年都會進步許多,甚至以前許多人想都不敢想的叢集主機、異地備援都已經可以用很少的費用就達成。

還有現在也有許多台灣的網站主選擇國外的內容傳遞網路 CDN (例如 CloudFlare)來分擔大部份的網站負載,這也是主機程式差異的代表。

雖然有人對台灣網站掛國外機房的 CDN 嗤之以鼻,在您看完了這一篇的分析之後,或者也會同意這是一個不錯的作法。

網頁資料的大小

不同大小的網頁載入的速度一定會有差異,需要載入比較多檔案、圖片的網頁一定比較慢。

就算是一樣大小的圖片,有優化跟沒優化會讓圖片檔案的大小差好幾倍,所以載入網頁的速度也會差好幾倍。

而高登工作室這個網站因為太貪心,所以網頁放了一大堆的外加程式及廣告碼,但是您在瀏覽本網站的時候會覺得很卡嗎?

其實我是有一點故意讓網站那麼肥,為的就是測試主機的能耐。

如果很卡一定要告訴我喔!

Facebook 的奇幻旅程

現在就以上篇文章所提到的找尋最快的 Facebook 主機來說明這一趟旅程,首先我也是跟大家一樣,沒去特別注意到底連線的 Facebook  主機在哪裡。

直到有一陣子一直感覺 Facebook 瀏覽的速度很卡,常常按右上角的首頁要等幾秒鐘才會有內容出現。

於是就用 nslookup 去查了一下 Facebook 的主機 IP 位址,於是發現到 Google Public DNS 將 Facebook 主機指向了香港的機房。

我就以這張國道5號的替代道路圖來說明一下:
圖片來源:交通部高速公路局

本來 HiNet 都是叫你走北宜公路從台北到宜蘭,但是我卻發現了一條捷徑可是 HiNet 都沒有叫大家走的國道5號(香港線)。

於是我就偷偷地走了國道5號一段時日,而且速度真的也都飛快,直到暑假一開始國道5號的塞車惡夢就來了。

原因可能是太多人大陸網站看連續劇或是影片,這時候我終於瞭解為什麼 HiNet 不敢指引大家走比較近的香港機房的原因:台灣連香港的頻寬嚴重不足,甚至還要分一大部份給去大陸的流量。

最後山不轉路轉我又找到了日本這條路線,走起來竟然意外的順暢,讓人在一種走越遠反而越快到達的驚喜。

這就是最後找到的一條又遠又快的路:北濱。

我推測原因有兩個:1. 日本連到美國的頻寬足夠大 2. 日本 Facebook 的使用者不多,所以 Facebook 走這條路就很順(在日本比較紅的社群是 Twitter)。

根本的解決之道

或許您又會有疑問:Facebook 能在香港設機房,難道不能在台灣也設機房嗎?

問題的癥結還是在 HiNet,因為一定是雙方的條件談不攏,要不然 HiNet 怎麼會要大家連 Facebook 都出國,浪費那「貴森森」的國際頻寬呢?

我甚至曾經去參觀過號稱耗資上億元台幣,本來要當 Facebook 台灣資料中心的機房,本來大家都有這個計劃的,但是為什麼喊卡就不是我們這局外人能瞭解的。

所以我們可以要求不管是 Facebook, HiNet 甚至是任何一家電信商快點把 Facebook 台灣機房建起來嗎?

還有那先前說得很好聽的 Google 台灣機房,不知道是雷聲大雨點小?還是快要下大雨了?

大旱望雲霓啊!

或許「YouTube 很卡嗎?試試這一招看看」可以先解大家的渴。