申請與使用方式

雲端主機規格怎麼選?用網站流量與應用類型估算 vCPU、記憶體與儲存

教你依網站、API、資料庫與批次工作的特性,估算雲端主機需要的 vCPU、記憶體與磁碟容量,並用壓力測試與監控數據逐步調整,避免一開始就買過大或過小。

更新日期 · 5 分鐘閱讀

雲端主機規格怎麼選?用網站流量與應用類型估算 vCPU、記憶體與儲存

選規格最務實的方法,是先用保守的中等規格上線,再用監控數據往上或往下調整,而不是一開始就憑感覺選最大或最小的方案。雲端的好處就是可以事後調整規格,所以第一步的目標是「不要差太多」,而不是「一次選到完美」。本文提供一套估算方式:先判斷應用類型,再用流量估算負載,最後用壓力測試與監控驗證。

一、先認識四個規格參數

參數意義不足時的症狀
vCPU虛擬處理器數量,決定可同時運算的工作量回應變慢、CPU 使用率長時間接近滿載
記憶體程式與快取可用的空間程序被終止、頻繁使用交換空間導致變慢
儲存容量系統與資料可用空間磁碟滿載導致服務停止、無法寫入日誌
儲存效能與網路讀寫速度、網路頻寬資料庫查詢慢、下載速度被限制

不同業者的 vCPU 定義與效能不完全相同,同樣是「2 vCPU」,實際表現可能有差異;有些方案是共享 CPU,只在短時間內允許爆發,長時間高負載會被限制。要承受持續負載的服務,請選擇獨佔或有效能保證的規格。

二、依應用類型抓起點

  1. 個人網站與部落格(靜態或使用快取):1 到 2 vCPU、1 到 2 GB 記憶體通常足夠,重點是搭配快取或內容傳遞網路。
  2. 使用內容管理系統的企業網站:2 vCPU、4 GB 記憶體是常見起點,因為資料庫與應用程式可能同機運行。
  3. API 與後端服務:看每秒請求數與每個請求的運算量,運算密集的需要更多 vCPU;快取較多的需要更多記憶體。
  4. 關聯式資料庫:記憶體最重要,因為快取大小直接影響查詢速度;同時要選擇效能足夠的磁碟。
  5. 批次與資料處理:以工作完成時間為準,可以選較大的規格短時間完成,再關機,總費用不一定更高。
  6. 容器與微服務:先估算每個容器的資源需求,再算總和並預留餘裕。

以上是常見的起點,不是保證;實際需求取決於程式碼效率、資料量與使用模式。

三、用流量估算負載

可以用下面的粗略公式:

尖峰每秒請求數 ≈ 每日請求數 ÷ 86,400 × 尖峰倍數

示意計算(數字純屬舉例):每日 200,000 個請求,尖峰倍數取 10(尖峰時段流量是平均值的十倍),則尖峰約為 200,000 ÷ 86,400 × 10 ≈ 23 個請求每秒。如果單一請求在一個 vCPU 上平均耗時 50 毫秒,一個 vCPU 理論上每秒可處理約 20 個請求,那麼需要至少 2 個 vCPU,再預留 30% 到 50% 餘裕,約 3 個 vCPU。

這種估算有很多假設,例如請求耗時與快取命中率,所以只能當作起點,之後必須用壓力測試驗證。

四、記憶體與儲存的估算

記憶體可以拆成:作業系統基本占用、應用程式執行環境、資料庫快取、其他服務。把每一項列出來,加起來之後保留約 20% 到 30% 的空間。例如作業系統 0.5 GB、應用程式 1 GB、資料庫快取 2 GB,合計 3.5 GB,加上餘裕,選 4 到 6 GB 的規格較為安全。

儲存容量則是:目前資料量 + 預估一年成長量 + 日誌 + 暫存檔 + 備份檔。許多雲端磁碟可以線上擴大容量,但縮小通常很難,所以初期可以保守,再依用量擴充。需要設定自動清理日誌與暫存檔,避免意外填滿磁碟。

五、用壓力測試與監控驗證

  1. 在測試環境用壓測工具模擬預期的尖峰流量,記錄 CPU、記憶體、磁碟與回應時間。
  2. 找出第一個到達瓶頸的資源,那就是升級的重點。
  3. 上線後觀察至少兩週的監控數據,包含平日與假日、活動與一般時段。
  4. 若 CPU 長期低於 20% 且記憶體使用不到一半,可以考慮降級;若尖峰常超過 80%,需要擴充或加入快取、負載平衡。

調整規格前,先用雲端主機每月費用試算比較升級後的費用差距,也要確認升級是否需要重啟與停機時間。

六、垂直擴充與水平擴充

垂直擴充是換更大的主機,簡單但有上限,也常需要短暫停機;水平擴充是增加主機數量並用負載平衡器分流,彈性高也提高可用性,但應用程式必須是無狀態的,並且要處理工作階段與資料共享。小型專案通常先垂直擴充,成長到一定規模後,再設計水平擴充。

七、常見錯誤

  • 把「峰值」當成「日常」,買了長期閒置的大型主機。
  • 只看 CPU,忽略記憶體與磁碟效能,結果資料庫成為瓶頸。
  • 沒有設定磁碟容量警示,直到服務停止才發現。
  • 把測試環境與正式環境用相同大型規格,增加不必要的費用。
  • 沒有考慮資料庫與應用程式分機的網路延遲與跨區流量費。

八、一個完整的估算範例

以下是虛構的示意案例,說明如何把前面的步驟串起來。某家社群活動網站使用常見的網站框架與關聯式資料庫,預期每日 30,000 次瀏覽,每次瀏覽約產生 5 個後端請求(頁面、API、圖片處理等),活動報名期間流量會是平日的八倍。

  1. 每日請求數為 30,000 × 5 = 150,000。
  2. 平均每秒請求數為 150,000 ÷ 86,400,約 1.7;尖峰倍數取 8,則尖峰約 14 個請求每秒。
  3. 假設單一請求平均占用 CPU 80 毫秒,一個 vCPU 約處理 12 個請求每秒,因此尖峰需要約 1.2 個 vCPU,加上 50% 餘裕,取 2 個 vCPU。
  4. 記憶體:作業系統 0.5 GB、網站程式 1.5 GB、資料庫快取 2 GB,合計 4 GB,加餘裕後選 6 到 8 GB 之間的方案。
  5. 儲存:目前 20 GB,一年預估成長 30 GB,日誌與暫存 20 GB,合計約 70 GB,選 100 GB 並設定容量警示。

得出的起點是 2 vCPU、8 GB 記憶體、100 GB 磁碟。接著用壓測驗證,若尖峰 CPU 超過八成,就先加入快取或升級;若平日 CPU 低於兩成,則考慮降級。這個流程的價值,在於每個數字都有理由,日後調整時可以知道是哪個假設與現實不符。

九、規格與費用的取捨

規格不是愈高愈好。把規格提高一級,費用通常接近倍增,但效能不一定倍增,因為瓶頸可能在資料庫查詢、外部服務或程式碼本身。在加錢升級之前,先檢查:有沒有缺少索引的查詢、有沒有可以快取的重複運算、有沒有同步呼叫外部服務造成的等待。這些最佳化的成本常常遠低於升級規格,而且效果更持久。完成最佳化後再用雲端主機每月費用試算比較不同規格的費用,才是合理的順序。

十、雲端規格調整的實務提醒

調整規格時要注意幾件事:多數業者在變更虛擬主機規格時需要重新啟動,會有幾分鐘的停機,應選擇離峰時段並事先通知;變更規格後,原本綁定的固定 IP、磁碟與網路設定通常會保留,但還是要在變更前確認;若使用承諾方案,要先確認規格變更是否影響承諾的適用範圍。

另外,不同世代與不同架構的處理器,在價格與效能上差異很大。在同樣的 vCPU 與記憶體數量下,較新世代的類型通常有更好的效能價格比,值得在選型時比較。若你的軟體支援不同的處理器架構,也可以評估使用價格較低的架構,但要先測試相容性與效能,不要只看單價就決定。

十一、規格估算檢查清單

項目要確認的事
應用類型是運算密集、記憶體密集、還是輸入輸出密集
流量估算平均與尖峰請求數,有沒有明確依據
資料量目前與一年後的預估,以及成長速度
磁碟效能資料庫與日誌是否需要較高的讀寫效能
餘裕是否保留 30% 到 50% 的容量餘裕
監控是否設定了 CPU、記憶體、磁碟與回應時間警示
調整計畫達到哪個門檻時升級,誰負責,停機時間多久

把這張表填完,再去詢價或使用官方價格計算器,得到的報價會貼近實際需求,而不是憑感覺買來的規格。

常見問題

一開始應該選多大的規格?

選中等偏小的規格並設定監控,通常比選最大規格更合理,因為可以隨時升級,而多買的資源會持續計費。

記憶體不夠可以用交換空間代替嗎?

交換空間只能救急,效能會大幅下降,不適合長期使用。請增加記憶體或最佳化應用程式。

要不要先做壓力測試?

正式環境如果有明確服務水準要求,建議做。成本低的小網站,可以用上線後的監控逐步調整。

參考來源

相關指南