SECURITYGUIDE · HOW-TO7 SOURCES

電商活動當天網站掛了:流量暴增的緊急處理與事後升級

整點開賣、直播導購後網站撐不住?依序說明怎麼判斷卡在主機還是資料庫、暫停哪些功能、怎麼掛 503 公告頁、恢復後如何核對付款與訂單,以及事後負載測試與升級 VPS 的時機。

凱斯騰編輯部 EDITORIALSSL 與資安 · UPDATED 2026-10-25LINE 諮詢
黑暗中亮起的轉速表
示意照片
CONTENTS · 12 段
  1. 常見情境:限時搶購、直播導購、週年慶開跑當天網站撐不住
  2. 現在立刻做的事:先排除攻擊,再找出卡住的環節
  3. 保住結帳:暫停非必要功能、排程與耗資源的頁面
  4. 公告頁與排隊頁:用 503 告訴客人與搜尋引擎「暫時」無法服務
  5. 快取、CDN 與臨時提升規格:哪些當天做得到
  6. 確認付款與訂單狀態:網站恢復後先對帳
  7. 事後檢討:找出瓶頸,用負載測試確認撐得住多少
  8. 什麼時候該從虛擬主機升級 VPS 或專屬伺服器
  9. 下次活動前的檢查清單:依時間點準備
  10. 找凱斯騰協助前,先準備這些:活動當機的檢討資料
  11. 常見問題
  12. 參考資料

電商活動當天網站掛了,先別急著重開主機或連夜搬家。先判斷卡在主機資源還是程式與資料庫,接著關掉非必要功能、把資源留給結帳,撐不住時換上輕量的公告頁,再處理快取與臨時提升規格;網站恢復後,第一件事是確認付款與訂單狀態。活動結束後,用負載測試找出瓶頸,再決定是否從虛擬主機升級到 VPS 或專屬伺服器。

01常見情境:限時搶購、直播導購、週年慶開跑當天網站撐不住

以下是幾種常見情況,均為示意,用來說明不同處境該先看哪一段。

02現在立刻做的事:先排除攻擊,再找出卡住的環節

網站撐不住時,建議照這個順序處理,每個動作都記下時間:

  1. 確認不是攻擊:流量集中在少數 IP 或國家、訂單卻沒有增加,就改依 DDoS 攻擊的應變步驟處理。
  2. 用下表判斷卡在主機資源還是程式與資料庫。
  3. 暫停非必要功能與排程。
  4. 完全撐不住時換上輕量公告頁。
  5. 檢查快取設定,再決定是否臨時提升規格。
  6. 恢復後確認付款與訂單狀態。
  7. 在官網、社群、LINE 等通路發布同一段說明。
看到的現象比較可能卡在哪裡當下可以做的事
整站打不開或大量逾時,控制台顯示 CPU、記憶體或執行程序數撞頂主機方案的資源上限請主機商確認能否暫時放寬,同時減輕每個請求的負擔
首頁、商品頁正常,加入購物車、登入、結帳很慢或失敗無法快取的動態頁面,多半是資料庫或 PHP 執行程序不夠關掉結帳以外的動態功能
出現資料庫無法連線或連線數過多的錯誤資料庫負荷過重暫停報表、匯出與排程,請主機商查看慢查詢紀錄
只有某一頁或某個功能出錯活動前新加的外掛、程式或設定停用最後加上的元件

前台打得開,不代表客人能下單。最可靠的方式是自己用手機、在未登入狀態下實際走到付款頁。網站平常就慢的話,檢查順序請看 WordPress 很慢怎麼辦。

03保住結帳:暫停非必要功能、排程與耗資源的頁面

流量超過主機能承受的量時,與其讓所有功能一起變慢,不如主動犧牲次要功能。Google 的網站可靠性工程(SRE)文件把這種做法稱為優雅降級:負載接近上限時,改提供較簡化、運算成本較低的結果,讓系統繼續做有用的事,而不是整個倒下。放到購物網站,就是把資源留給商品頁、購物車與結帳。可以先暫停的項目:

運費計算、折價券驗證、發票資料欄位這些和結帳綁在一起的功能不能關。每關掉一項,就重新走一次結帳流程,確定沒有連帶壞掉。

04公告頁與排隊頁:用 503 告訴客人與搜尋引擎「暫時」無法服務

網站已經完全撐不住時,換上一頁說明狀況的公告頁,比讓客人看空白頁好。這一頁要做對兩件事:

Google 也說明,網站回應 5xx 時檢索器會暫時放慢檢索,恢復回應 2xx 後再逐步調回;持續回應伺服器錯誤的網址,最後會被移出索引。公告頁只是短期措施,網站恢復後要立刻撤掉。

公告頁要寫清楚:發生了什麼、預計何時恢復、已付款的客人怎麼查詢訂單。排隊頁(虛擬候位室)則讓超過容量的訪客先在外面等候、再依序放行,通常要靠 CDN 或防護服務的功能事先設定並測試,當天才導入多半來不及。

05快取、CDN 與臨時提升規格:哪些當天做得到

快取:首頁、活動頁、商品頁這類每位訪客看到都一樣的頁面,最適合交給頁面快取,讓請求不必執行 PHP、查資料庫。WooCommerce 官方文件要求購物車、我的帳號與結帳頁排除在快取之外,因為它們顯示的是個別客人的資料。已有快取的網站,當天要看快取有沒有真的發揮作用:活動網址帶著廣告追蹤參數,可能被當成不同頁面而各自重算;開賣前一刻清除全站快取,第一波訪客會全部直接打到主機。

CDN:當天才導入要改 DNS,生效需要時間,設定錯誤還可能讓整站連不上。比較實際的做法是縮小活動主圖、拿掉首頁自動播放的影片,直接減少主機要送出的資料量。

臨時提升規格:先確認瓶頸真的在主機資源。CPU、記憶體或執行程序數持續撞頂,加規格才有用;若是某段程式或查詢卡住,加再多資源也只是晚一點倒。虛擬主機能不能當場換到較高方案,要直接問主機商;VPS 調整規格通常較快,但可能需要重新開機,選在流量低的空檔做。不建議當天整站搬家:DNS 生效需要時間,新舊主機之間的訂單也可能對不起來。

06確認付款與訂單狀態:網站恢復後先對帳

網站在結帳途中當掉,常見的後遺症是客人付了錢、網站卻沒有有效訂單,或同一位客人重複下單。原因多半是付款完成後,付款服務回頭通知網站更新訂單時,網站剛好撐不住。以 WooCommerce 為例,官方文件定義的訂單狀態與活動後的處理方式:

訂單狀態代表的意思活動後要做的事
待付款(Pending payment)已收到訂單,尚未收到付款比對付款服務的交易紀錄,確認客人是否其實已經付款
保留(On hold)等待付款確認,庫存已扣除多見於需要人工確認的轉帳,核對入帳後再改狀態
處理中(Processing)已收到付款,可以出貨檢查同一位客人有沒有重複訂單
失敗(Failed)付款失敗或被拒絕聯絡客人確認是否要重新下單

要特別留意「保留庫存(分鐘)」設定:時間一到,系統會自動取消仍是「待付款」的訂單並釋出庫存,「保留」狀態的訂單則不受影響。付款通知沒送到時,已付款的訂單可能就這樣被取消,名額又被別人買走。對帳完成前,可以考慮暫時延長這個時間。核對以付款服務的交易紀錄為準,有疑問的單先聯絡客人,不要直接取消或重複出貨。

07事後檢討:找出瓶頸,用負載測試確認撐得住多少

活動結束後,先整理時間軸:幾點開賣、幾點開始變慢、做了哪些處置、何時恢復。向主機商調閱同一時段的 CPU、記憶體、執行程序數、資料庫連線與錯誤紀錄,對照分析工具的同時在線人數與下單時間,找出最先撐不住的環節。

接著用負載測試確認改善後能承受多少。Google 的 SRE 文件建議每個元件都要測到撐不住為止,因為事先不知道哪一個會先碰到上限;流量要同時測逐步增加與瞬間湧入兩種模式,因為快取會讓兩者結果不同;也要看負載退去後,系統能不能自行恢復。整點開賣、直播貼出連結,都是典型的瞬間湧入。要注意:

容量規劃,是把測出的上限和下一檔活動的預估流量相比,預留足夠餘裕。SRE 文件也提醒,容量規劃能降低出事機率卻無法完全避免,流量超出預期時,仍要靠降級與限流保住核心功能。

08什麼時候該從虛擬主機升級 VPS 或專屬伺服器

虛擬主機是多個網站共用一台伺服器,每個帳號都有資源上限,平常夠用,活動尖峰卻可能在幾分鐘內撞頂。從活動檢討的角度,出現下列情況就值得評估換主機類型:

VPS 分配獨立的運算資源,可以依活動需求調整規格與伺服器設定;流量長期偏高、資料庫負擔重,或因資安與合規要求需要獨占硬體時,再考慮專屬伺服器。換主機類型也代表要有人照顧系統層的維護,評估時把代管一併算進去。升級不能取代程式與資料庫的改善:檢討出的程式瓶頸先處理,再搬家;搬家排在活動淡季,預留測試與 DNS 切換的時間,不要壓在下一檔活動前幾天。

09下次活動前的檢查清單:依時間點準備

大部分風險要在活動前處理掉,可以照這張表排進行事曆:

時間點要確認的事
活動前一個月完成負載測試並處理瓶頸;確認主機規格是否足夠、需要升級時怎麼做;和主機商約定活動時段的聯絡窗口與緊急處理方式
活動前兩週凍結網站變更,不再裝新外掛或改版型;活動頁做成可快取的版本;準備好靜態公告頁並實際測過切換與撤回
活動前一週把備份、匯入、同步、電子報等排程移開活動時段;完整備份一次並確認能還原;確認 SSL 憑證與網域不會在活動期間到期
活動前一天用手機實際走一次下單流程,含折價券、運費與發票欄位;確認監控警示會送到當天有人看的信箱或手機;分配誰看主機、誰看訂單、誰回客服
活動當天開賣前後各看一次資源使用狀況;對外公告的文字先寫好範本,出狀況時直接發布

大型活動的曝光度高,也可能引來惡意流量。若網站曾經被打過,或活動規模比以往大很多,活動前一個月就要向主機商確認防護的啟用方式與聯絡流程,不要等到當天才問。

10找凱斯騰協助前,先準備這些:活動當機的檢討資料

不論是想檢討這次的當機,還是規劃下一檔活動,先整理好下列資料,判斷會快很多:

凱斯騰能協助的是主機這一端:依檢討結果評估要不要換主機類型、規劃活動前的主機環境,以及在大型活動期間搭配 DDoS 防護過濾惡意流量。付款服務的設定與帳務核對,仍需由貴公司與付款服務商處理。資料整理好後,可以透過聯絡表單或來信 [email protected],說明下一檔活動的日期與需求。

FAQ常見問題

Q.01活動當天網站卡住,可以直接重開主機嗎?

重開只能暫時釋放卡住的程序,流量還在時很快又會滿,而且重開的那幾分鐘,正在結帳的客人會全部中斷。比較好的做法是先關閉非必要功能、減輕負載,再依主機商的判斷決定要不要重開。

Q.02掛了幾小時的 503 公告頁,會不會讓網站從 Google 消失?

Google 的說明是,回應 5xx 期間檢索會放慢,網站恢復正常回應後再逐步回升;持續回應伺服器錯誤的網址才會被移出索引。整站停用最多只適合幾天,恢復後記得撤掉公告頁,並確認首頁回應正常的 200。

Q.03客人說已經付款,卻沒收到訂單確認信,該怎麼處理?

先到付款服務的後台查這筆交易,再看網站上的訂單是停在待付款、已被自動取消,還是根本沒有成立。確認款項入帳後,在後台更新訂單狀態或補建訂單,並主動回覆客人處理結果,避免對方重複付款。

Q.04臨時加大的主機規格,活動結束後要改回來嗎?

要看檢討結果。如果尖峰只出現在少數幾天,平常資源用量很低,可以改回原規格,下一檔活動前再調整;如果平常也經常接近上限,維持較高規格或換主機類型會比較省事。調整前先確認是否需要重新開機,以及計費方式如何變動。

需要協助評估?把網域、主機與網站狀況告訴我們,真人協助判斷下一步。