about 10 years ago

今天路過 FB 看到朋友蔡校長寫了一篇政治文章,這篇文章的話題性之高( Visit 40,000+、Pageview 130,000+) 意外的衝倒了部落格本家。蔡校長不是不想解決,也一直為 Scaling 屢次搬家所苦,只是他遇到的狀況,會跟網路上能夠 Google 到的答案都不太一樣。剛好我在創業前,就是在 某科技網站 專注做 CMS ,這個主題還算略懂,所以打算寫篇文章來分享給有類似之苦的朋友。

(此篇文章特別的目標讀者是:針對使用 Wordpress 架站,並且苦惱一天到晚倒站的內容生產者)

You Should Use 3-party Blog

我在兩年前的 Startup : 如何挑選適合的 Hosting Plan? 其實約略寫過一些類似的內容。但坦白來說,當年的文章只是總綱而已,我並沒有深入寫 Detail,還有後面的技術轉折。

首先。把結論寫在最前面:如果你想創業,想先弄個基本內容網站。我的首選還是當年該篇文章的建議

  • 「Facebook 粉絲頁 + 別人的 Blog」撐過 10000 daily PV。
  • 接著再每個月花個 200 USD 租台 Dedicated Hosting 換成 Customized CMS 如 ( Wordpress )。
  • 撐過 10 萬 daily PV 後,再養個專人或者是外包 System Admin 幫你做 scaling。

如果你的困難點是沒有預算做這件事。那我委婉的建議只能是,也許你的 business model 需要調整。

Why? And fully exaplained

用 Tumblr 或者 Blogspot 架站,其實某種程度上來說,是犧牲了「彈性」換取「PV Scaling」。也就是站長不能隨心所欲的安裝五花八門的布景,和安裝很多外掛。只能使用限定語法做有限的功能擴充,但這事實上是為了保證一件事:「PV 大的時候絕對不會倒站」。

99% 的 Solution: 「找台灣的主機商租便宜的主機空間丟 Wordpress」

做內容的人,對 CMS 架設的方案會有三大需求:

  1. 主機讀取速度要快
  2. 容易依需求高度客製
  3. 容易學習上手
  4. ( Addition : 便宜)

這會導致大家最後只有一個殊途同歸的 solution:

  1. 主機讀取速度要快:找台灣的主機商
  2. 容易依需求高度客製 : 使用 Wordpress
  3. 容易學習上手: 後台使用 Cpanel
  4. Shared Hosting

「找台灣的主機商租便宜的主機空間丟 Wordpress」

嗯。但是...其實你的 Blog 只有 500 daily pageview 才適合這個 solution ...XD

Shared Hosting / VPS / Dedicated Hosting

這個小標其實是很少人專文解釋的議題。也是我要講的重點。希望這邊我不會講的太技術。我會解釋為什麼「找台灣的主機商租便宜的主機空間丟 Wordpress」是一個不太可行的架構。

我們在這裡做一些名詞代換。也許就能夠讓你很快的理解

主機商做你的生意的方式是這樣。他在機房擺了一檯專屬主機 。

  • 一般的 VPS 租賃可以想像成是,房東租了一棟大樓 16 樓 (Dedicated Hosting),你租了「一層公寓」。
  • 一般的 Shared Hosting ( 空間)租賃,可以想像成是,房東租了一棟大樓 16 樓,又把每一樓隔成了 10 間房間,你租了其中一間「套房」。

平常你只有 5 個朋友會常來逛(對比為500PV/day)。所以這樣的量對一個 5 坪套房還算 OK。但是某天 100 個朋友(對比 10000 PV/day) 要來你家開 Party。會發生什麼事?

  1. 被室友投訴噪音無法居住(CPU 用量過高)
  2. 跳電,缺水。(頻寬不敷使用)

所以房東會對你做出什麼處置?沒錯就是

(1) 罰款 (2) 不租你

Shared 主機商,你還可以代換成另外一種角色。他其實不是真正的房東,而是租賃公司,所以服務程度取決在該租賃公司的管理。有些租賃公司朝九晚五,沒有保火險。(上班時間才會幫你處理 Bug,也沒有備份)

它們不是惡人也沒有很爛。純粹只是「不適合你」。因為家裡開始常常有人會辦 Party。硬要在 5 坪套房辦 100 人 Party 只會被房東趕走、停 Keycard、有公共危險之虞。

Wordpress 的優點與極限

Wordpress 常常被人家推薦架站。理由是擴充性高,布景多。想要換個漂亮布景嗎?沒問題,挑一挑就有。想要上個 SEO 套件?沒問題,Google 搜尋安裝一下就有。甚至要架購物網站賣東西,用 Wordpress 也是可行的(好像妖術)。

它的好處就「方便取得」「裝潢容易」。要更容易代換想像的話,可以想成「北歐某知名傢俱」IXXA。

但如果愛用 IXXA 的人,應該知道使用該牌傢俱的代價是什麼...

雖然 Wordpress 取得套件容易。但是你不知道他的隱藏成本是什麼。這些套件雖然取得容易,但往往也是倒站的元凶

  1. 某套件 PHP 語法效能不彰。導致 CPU 使用率因為一個小功能無限飆高。
  2. 某套件 SQL 語法效能不彰。導致資料庫效能低落,吃光主機所有資源(很多網站通常資料庫跟網頁同一檯主機)。

其他倒站的原因不能怪罪於 Wordpress 但也有相當程度相關的原因有以下

  • Website Request 太多導致 Process / CPU 不夠用
  • 圖檔 / CSS / JS (小檔)請求太多,HTTPD 不夠撐...
  • MySQL 語法不好,Query 過多導致資料庫連線數量過多
  • ...

四年前曾經某媒體網站的 Case 就是 Daily PV 30000+。是 Dedicated Hosting 卻始終無法 Scale 上去,是因為每天早上十點,下午三點,晚上十點各會倒站 30 分鐘....XDDD

(剛好是人潮最洶湧的時間)

坦白說如果站長「不懂」或「找不到人」如何 Tune / Trouble Shooting Wordpress 的話,PV 到一個程度就只能靠換租更大規模的 Dedicated Hosting 撐上去。

(待續(

本系列

← 談新聞網站在 Mobile 上的設計細節 談成長中 CMS 的 Scaling 之道 (2) →
 
comments powered by Disqus