獨立開發 App 怎麼做壓力測試:DDoS、併發、故障復原與 AI 程式開發成本

真正要測的是:100 人同時操作會怎樣?資料已寫入,但成功回應在網路中消失怎麼辦?截止時間和最後一票撞在一起呢?付款通知來兩次呢?故障恢復後所有人一起重新連線呢?

閱讀功能說明

收聽會朗讀正文;速讀會依序顯示短語,速度可調。語言練習可對照現有的不同語言版本。收藏儲存在本瀏覽器中,可從播放器的收藏清單再次開啟。

分享這篇文章
廣告
廣告

AI 把開發速度拉滿之後,最危險的是「我已經做完了」的錯覺

AI 寫程式真的很快。房間能建、使用者能進、內容能發、票也能投。腦袋立刻宣布:

完成。

伺服器回答:

你剛剛只測了一個人。

真正要測的是:100 人同時操作會怎樣?資料已寫入,但成功回應在網路中消失怎麼辦?截止時間和最後一票撞在一起呢?付款通知來兩次呢?故障恢復後所有人一起重新連線呢?

一次小型多人 Web App 的程式碼審查最後擴充成 324 個測試項目。這不代表找到了 324 個 Bug。當時 324 項全部都是尚未執行的測試。

1. 只看 DDoS 不夠

Cloudflare 在所有方案上都有自動 DDoS 偵測與緩解,但官方仍建議搭配 rate limiting 等應用層防護,因為大型攻擊仍可能影響應用。[1]

對獨立開發者來說,第一個撞上限的甚至可能不是攻擊,而是正常使用者。

若客戶端每 3 秒輪詢一次:

同時裝置 每小時狀態請求
10 12,000
30 36,000
100 120,000
1,000 1,200,000

這不是實際容量預測。退避和快取可以降低,發文、圖片、收件匣、多分頁、排程工作又會增加。

截至 2026 年 10 月 5 日,Workers Free 列出每日 100,000 次請求;D1 Free 為每日讀取 500 萬列、寫入 10 萬列、單一資料庫 500MB、每次 Worker 呼叫 50 個查詢。[2][3] 單一 D1 資料庫也會逐一處理查詢,併發過高會排隊,最後可能出現 overloaded 錯誤。[3]

所以可怕的不只是「一百萬個攻擊者」。

100 個正常使用者同時玩得很開心,也可能就是壓力測試。

2. 為什麼變成 324 項

範圍最後涵蓋 16 類:入口與濫用、容量、併發與復原、排程、房間與權限、圖片、文字輸入、投票、截止時間、結果開放、公開房、長連線、裝置與重連、外部服務、付款、發布與監控。

不用同時全部做完。先抓會造成資料損壞、越權、流程卡住、額度耗盡、錯誤扣款的項目。

3. 上線前優先打的 23 個點

  1. 應被拒絕的請求是否仍進入昂貴的 DB 處理。
  2. 自己的用量統計是否真的覆蓋所有高成本路徑。
  3. 限流是否能跨重新啟動與多個執行位置維持。
  4. 「沒有變化」的輪詢是否仍大量讀 DB。
  5. 一個座位能否建立無限長連線。
  6. HTTP 與長連線是否套用同一套限制。
  7. 緊急停止後,已連線客戶端是否也停止。
  8. 排程延遲時,截止後操作是否會被誤收。
  9. 部分寫入失敗時,房間是否仍向前推進。
  10. 修復工作重跑時,統計是否重複加總。
  11. 遊戲尚未真正建立前,是否先消耗了開始次數。
  12. 寫入成功但回應消失後重試,是否產生兩筆回答。
  13. 全形半形、空白差異是否能繞過名稱唯一性。
  14. 最後一個位置是否能被兩人同時搶到。
  15. 排程是否可能累積到永遠追不上。
  16. 是否監控整個 DB 與索引,而不只是圖片。
  17. 遺失裝置後,別人是否能接管身分。
  18. 圖片格式、像素、metadata、定位資訊是否安全處理。
  19. 歷史越多,每次顯示是否越昂貴。
  20. 復原後同時重連是否造成第二次故障。
  21. 付款是否測過重複、延遲、失敗、取消、恢復。
  22. 是否把本機測試通過誤認成正式環境通過。
  23. DB 掛掉時,監控是否也一起失明。

4. Bug 最喜歡組合拳

高價值情境:

100 人同時投票 → 20 人重新整理 → 10 人斷線 → 部分寫入成功但成功回應遺失 → 重試。

接著看是否重複計票、過期票混入、畫面回退、同一操作跑兩次。

OWASP 也把併發 session、異常輸入與錯誤處理分開列為測試主題。[4]

5. 「寫入成功」和「使用者收到成功」不是同一件事

伺服器寫成功,網路回應卻沒了。使用者只看到失敗,所以再按一次。

若沒有 operation ID 或其他去重機制,就可能多一筆回答、多一個房間、多一票、多一則通知,甚至多扣一次錢。

重試必須被設計。

6. 壓力測試要逐級增加

在自己控制的測試環境中從 10 → 30 → 100 增加。

同樣 100 人也要換分布:同一房集中、多房分散、同時加入、同時最後投票、故障後同時重連、與排程重疊、中途模擬儲存失敗。

不要對沒有權限測試的系統送大量流量。先定預算與停止條件。

7. 沒掛掉不等於合格

可先設定像「95% 一般請求 1 秒內、99% 3 秒內、非預期 5xx 低於 0.1%」的性能目標。

但以下應是 0 件:

  • 他人資料外洩;
  • 越權;
  • 重複計分;
  • 已提交資料遺失;
  • 重複扣款。

8. 測試設計 9 分,執行證據 0 分,很正常

324 項與 23 個優先風險做得好,代表設計成熟。

但還沒執行以前,證據就是 0。

這不是失敗,而是從「不知道要測什麼」進到「知道該去哪裡把它弄壞」。

9. 接著可能先爆的是 AI 的每週額度

如果一整天讓 AI 讀大型 repo、實作、修正、review、再實作,先到極限的可能不是伺服器,而是 AI 訂閱額度。

截至 2026 年 10 月 5 日,Claude Max 20x 網頁方案每月 200 美元。20x 指相對 Pro 的每個 session 容量。session 限制每 5 小時重置,但 Max 還有所有模型共用的每週限制。[5]

所以 20x 不是無限。

實際消耗依模型、context、工作內容而變,最可靠的是看 Settings > Usage。

10. 「Fable 很貴」看數字也說得通

Max 可使用 Fable 5 與 5.1,但 Fable 最多可使用每週額度的 50%,而且 Anthropic 說它比其他 Claude 模型更快消耗額度。[6]

按 token 計價:

模型 每 100 萬輸入 token 每 100 萬輸出 token
Sonnet 5.5 $2 $10
Opus 5.5 $4 $20
Fable 5.1 $10 $50

Fable 5.1 的輸入與輸出單價都是 Opus 5.5 的 2.5 倍。雖然 Fable 5.1 降低了快取讀取成本,官方估計典型工作比 Fable 5 便宜約 25%,長時間 agent 工作最高可省約 45%,絕對價格仍高。[6][7][8]

API 價格不能直接換算成 Max 每週額度,但「重模型跑很久會很貴」這個方向沒有變。

11. 不要每顆螺絲都叫吊車

Sonnet 5.5:日常修正、已知 Bug、重複工作、範圍清楚的實作。

Opus 5.5:原因不明問題、大型設計、跨檔案審查、上線前關鍵判斷。

Fable 5.1:只有在最難工作上,能力提升值得更高成本與額度消耗時使用。

這不是模型排行榜,是每個任務的成本控制。

12. AI 不會消滅瓶頸,只會移動瓶頸

以前:想法 → 開發數週 → 測試。

現在:想法 → 快速實作 → 測試、營運、伺服器額度、AI 額度一起撲上來。

「一天做完 App」更精準的說法是:

「一天做到終於可以認真把它弄壞的階段。」

這才是真正的上線準備。

資料

參考資料(8筆)

  1. Cloudflare DDoS Protection developers.cloudflare.com
  2. Cloudflare Workers Limits / Pricing: / https://developers.cloudflare.com/workers/platform/pricing/ developers.cloudflare.com
  3. Cloudflare D1 Limits / Pricing: / https://developers.cloudflare.com/d1/platform/pricing/ developers.cloudflare.com
  4. OWASP WSTG wstg.owasp.org
  5. Anthropic Max plan support.claude.com
  6. Anthropic Fable models support.claude.com
  7. Claude Opus 5.5 anthropic.com
  8. Claude Sonnet 5.5 anthropic.com

今天讀這篇

每一篇都回答讀完本文後常有的下一個問題。

瀏覽全部文章更多「AI」文章

廣告

再來一篇?有沒有好玩的?

讀完順便看看:幾篇相近的,還有幾篇完全不同但很有意思的。

  1. 相近的話題聯名餐從哪裡開始變得「看起來難吃」?用藍色毛怪義大利麵、鹿糞巧克力、昆蟲與瀧奈聖代解析「食品NG線」
  2. 完全不同,但很有趣沒有人是渣,為什麼還是分手了?一段戀愛走向結束的結構
  3. 別讓人開打前先當倉管第9彈進攻夢魘,從紅以太不夠開始的「窮人牌組工廠」
  4. 「海鰻軍團水泥管水槽」為什麼這麼好看?
  5. 為什麼我看不進「共鳴系」動畫

尋找其他文章

所有文章

Mendoi-chan

本站經營者

Mendoi-chan

把工作與日常生活中的麻煩整理成清楚的結構與下一步行動。