「如果以後有一千、三千、甚至更多學員,自己的課程網站撐得住嗎?」這是很多講師在評估自有網站時會問的問題。
這個問題沒有一個通用的「幾位學員=幾核心 CPU」換算表。因為一千個幾乎不同時登入的學員,和兩百個人在直播結束後同時登入、結帳、查訂單,對網站造成的負載完全不同。
所以評估課程網站承載力,應該先看使用情境,再看主機規格。
先看 4 種負載,不要只看會員總數
| 負載來源 | 常見情境 | 主要影響 |
|---|---|---|
| 公開流量 | 文章、首頁、銷售頁大量瀏覽 | 頁面傳輸、靜態資源 |
| 會員動態流量 | 登入、我的課程、會員資料 | PHP、Session、資料庫 |
| 交易流量 | 購物車、結帳、付款、訂單建立 | 資料庫、金流串接、即時運算 |
| 影音流量 | 大量學員同時播放影片 | 頻寬、連線、影音傳輸 |
這四種工作對伺服器的要求不同。只有知道高峰時大家在做什麼,才知道網站需要擴充哪一層。
會員總數和同時在線人數是兩回事
學員帳號平常只是資料庫裡的一筆資料。只有當學員登入、讀取會員權限、送出表單、查詢課程、建立訂單時,網站才需要即時處理更多動態工作。
因此「網站有 1,000 位會員」本身不能直接推導出:
- 一定需要哪種主機。
- 一定需要多少 CPU。
- 一定需要多少記憶體。
- 一定可以承受多少人同時上線。
比較重要的是尖峰時段的同時操作量,以及這些操作有多少可以被快取、分流或交給其他服務。
公開頁可以快取,但購物車、結帳與會員頁不能亂快取
WordPress 官方效能文件指出,快取可以減少伺服器重複產生頁面的處理負擔;對公開文章、首頁、一般介紹頁來說,這非常有幫助。
但課程網站還有大量個人化內容。
WooCommerce 官方目前明確要求 Cart、Checkout、My Account 這類頁面保持動態,不應被一般共用頁面快取,因為它們顯示的是目前客戶與購物車的專屬資訊。
因此「快取越多越快」並不是正確目標。課程網站要做的是:
- 公開內容盡量減少重複運算。
- 登入、購物車、結帳與會員資料維持正確。
- 不要為了追求快取命中率,把個人化內容錯誤共用給不同使用者。
CDN 能分擔回源,但不能取代動態會員系統
內容傳遞網路(CDN)可以把圖片、CSS、JavaScript 等可快取資源放在較接近訪客的節點,減少每次都回到來源主機。
Cloudflare 的官方文件也說明,邊緣快取可以降低回源請求與延遲;但登入驗證、會員資料等動態工作,仍需要來源伺服器與資料庫參與。
所以 CDN 很適合分擔:
- 圖片。
- 樣式檔。
- JavaScript。
- 其他可安全快取的公開內容。
它不能把登入、課程權限、訂單與付款這些動態工作全部「變不見」。
影片不要和會員、訂單搶同一台主機資源
課程影片通常是整個網站裡檔案最大、傳輸量最高的內容。
如果大量學員同時播放高畫質影片,而且影片全部直接從網站主機傳送,主機就要同時負責:
- 會員登入。
- 課程權限。
- 資料庫。
- 結帳與訂單。
- 大檔案影音傳輸。
這些工作全部擠在一起,擴充會比較困難。
比較常見的分工,是讓課程網站負責會員、課程、訂單與權限;影音則交給適合影片儲存與傳輸的服務。這樣網站主機可以把資源留給動態功能。
資料庫會隨著訂單與會員成長,不能只看主機 CPU
WordPress 官方效能文件把資料庫調校、物件快取、軟體最佳化與硬體升級都列為效能改善方向。這代表網站變慢時,不應只看 CPU 或記憶體。
課程網站成長後,可以觀察:
- 資料庫查詢是否變慢。
- 暫存資料與排程是否堆積。
- 某些外掛是否產生大量查詢。
- 訂單與會員搜尋是否開始延遲。
- 登入後頁面是不是比公開頁明顯慢很多。
如果瓶頸在資料庫或外掛邏輯,單純換更大的主機可能只能暫時掩蓋問題。
主機規格怎麼判斷,可延伸看課程網站主機規格怎麼看?CPU、記憶體、資料庫與尖峰流量 9 項判斷。
開賣、直播與發信後的尖峰,比平日平均更值得測
課程網站最容易出現負載問題的時間,通常不是平常。
常見尖峰包括:
- 直播結束後大量人同時打開方案頁。
- 招生截止前集中結帳。
- 新課開放時大量學員登入。
- Email 或社群在短時間導入大量流量。
這也是為什麼只看「一天總流量」不夠。相同的一萬次瀏覽,如果平均分散在 24 小時,和集中在 10 分鐘內,風險完全不同。
活動前的完整準備,可延伸看開賣或 Webinar 當天網站撐得住嗎?課程網站尖峰流量 10 步準備。
什麼訊號代表網站真的該升級?
比起先猜未來會有多少學員,以下訊號更適合用來決定是否升級:
| 訊號 | 先確認什麼 |
|---|---|
| 尖峰時反覆 502/504 | 主機資源、PHP、資料庫、上游服務 |
| 登入後頁面明顯變慢 | 會員查詢、Session、外掛與資料庫 |
| 結帳高峰容易失敗 | 動態頁、金流、快取、安全規則 |
| CPU/記憶體長期接近上限 | 是否為真實負載或異常程式造成 |
| 資料庫查詢持續變慢 | 索引、外掛、暫存與資料量 |
| 現有主機限制必要設定 | 是否需要更高控制權或不同環境 |
先找瓶頸,再升級資源,比「學員一多就直接換最大規格」更有依據。
VPS 是其中一種升級方式,不是唯一答案
當網站需要更多資源、更多伺服器控制權,或現有共享環境限制開始影響營運時,可以評估 VPS 或其他可擴充主機方案。
但 VPS 不會自動修好外掛衝突、錯誤快取、低效率查詢或影片全部塞在同一台主機的問題。
要不要升 VPS,可以延伸看VPS 是什麼?課程網站真的需要嗎?7 個判斷條件。
課程網站承載力,可以用這 7 項一起判斷
- 同時在線:高峰時有多少人正在操作。
- 動態比例:有多少請求需要登入、會員、訂單或資料庫即時處理。
- 影音分流:影片是否由適合影音傳輸的服務承擔。
- 快取策略:公開內容與個人化內容是否正確分開。
- 資料庫:訂單、會員與外掛資料增加後是否仍能快速查詢。
- 資源餘裕:CPU、記憶體與儲存是否在尖峰仍有空間。
- 升級路徑:主機、CDN、資料庫與應用層是否能逐步擴充。
這七項比單獨問「可以放幾個學員」更接近實際營運。
常見問題
有一千位學員,就一定要用很大的主機嗎?
不一定。總學員數只是規模資訊,還要看同時在線、登入、結帳、資料庫工作量與影音分流。
同時有很多學員看影片,網站一定會慢嗎?
不一定。如果影音由專門服務負責傳輸,網站主機主要處理帳號、課程與權限,壓力會和「影片全部由網站主機直接傳送」不同。
CDN 可以解決所有高流量問題嗎?
不能。CDN 可以分擔適合快取的內容,但登入、購物車、結帳、會員與資料庫等動態工作仍要正確處理。
網站平常很快,為什麼開賣時會突然變慢?
因為尖峰時會在短時間出現大量瀏覽、登入與結帳。平日平均速度不能完全代表高峰承載能力。
什麼時候才需要升級主機?
當監控與實際使用已顯示資源瓶頸、尖峰異常、資料庫延遲,或現有環境限制必要功能時,再升級比較有依據。
能不能保證某個主機可以同時承受多少學員?
不能只用主機規格做固定保證。網站程式、外掛、快取、資料庫、操作行為與測試情境都會影響結果;較可靠的方式是依自己的網站流程做監控與壓力測試。
結論:要的是可擴充的網站,不是一開始就買到最大
學員變多本身不是問題,沒有監控、沒有分流、沒有升級路徑才比較麻煩。
前期先把公開內容、會員動態頁、影片與資料庫的責任分清楚;正式招生後持續看尖峰表現與資源使用,再依證據逐步升級。
這樣網站可以跟著課程事業成長,而不是在還沒有第一批學員前,就先為想像中的高流量付出過大的技術成本。
參考資料
WooCommerce Developer Documentation|How to configure caching plugins for WooCommerce。
WordPress Developer Resources|Optimization。
Cloudflare Learning Center|What is an origin server?。
Cloudflare Docs|Cloudflare Cache。
