<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Planning on Tarragon</title><link>https://tarrragon.github.io/blog/tags/planning/</link><description>Recent content in Planning on Tarragon</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>Tarragon (CC BY 4.0)</copyright><lastBuildDate>Tue, 12 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://tarrragon.github.io/blog/tags/planning/index.xml" rel="self" type="application/rss+xml"/><item><title>9.6 容量規劃模型</title><link>https://tarrragon.github.io/blog/backend/09-performance-capacity/capacity-planning/</link><pubDate>Tue, 12 May 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/backend/09-performance-capacity/capacity-planning/</guid><description>&lt;h2 id="概念定位">概念定位&lt;/h2>
&lt;p>容量規劃的責任是把「未來 N 個月可能多大」翻成「現在該訂多少 capacity」。這層工作不純靠歷史外推、要結合業務 forecast、事件型成長、頂部風險 buffer。&lt;/p>
&lt;p>跟 &lt;a href="https://tarrragon.github.io/blog/backend/09-performance-capacity/saturation-discovery/" data-link-title="9.4 Saturation Discovery" data-link-desc="找出 throughput plateau 與 latency knee 的方法">9.4 Saturation Discovery&lt;/a> 的關係：9.4 提供「當前配置能撐多少」、9.6 用這個數字加上 forecast 推「該規劃多少」。沒有 9.4 的 baseline、9.6 只是猜；沒有 9.6 的 forecast、9.4 的 baseline 只是 snapshot。&lt;/p>
&lt;p>跟 &lt;a href="https://tarrragon.github.io/blog/backend/09-performance-capacity/scaling-axes/" data-link-title="9.13 擴展軸與 Stateless 前提" data-link-desc="整理垂直 / 水平擴展取捨、stateless vs stateful 前提、auto scaling 操作模型與兩種擴展的 hidden cost">9.13 擴展軸&lt;/a> 的關係：9.13 先決定「沿哪條軸擴」（垂直 / 水平 / Y 軸拆服務 / Z 軸 partition），9.6 才能算出「該擴多少」。同樣是「處理 10 倍流量」、選垂直擴展要算單機規格上限、選水平擴展要算協調成本跟連線池放大、選 Y 軸拆服務要算跨服務 latency budget — 三條軸的容量公式參數完全不同。沒先做 9.13、9.6 的數字會落到錯誤的擴展軸上。&lt;/p>
&lt;p>本章是「規劃決策」的章節、不是執行手冊。讀完後讀者能回答：peak 怎麼預測、headroom 訂多少、autoscaler 怎麼配、不可水平擴的服務怎麼處理。&lt;/p>
&lt;h2 id="容量公式三項">容量公式三項&lt;/h2>
&lt;p>容量規劃的核心公式可以濃縮成三項相乘：&lt;code>容量 = 預期峰值 × (1 + headroom) / 可擴容速度&lt;/code>。每一項都需要獨立分析：&lt;/p>
&lt;p>&lt;strong>預期峰值（peak forecast）&lt;/strong>：歷史 baseline × 預期成長 × 事件因子。三項中最影響整體準度。詳見 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/peak-forecast/" data-link-title="Peak Forecast" data-link-desc="說明預期峰值流量的預測方法 — 容量規劃的第一個輸入">Peak Forecast 卡片&lt;/a>。&lt;/p>
&lt;p>&lt;strong>Headroom budget&lt;/strong>：通常 30-50%、為了應付異常 burst + AZ 故障 + forecast 誤差。不同工作負載 headroom 不同。詳見 &lt;a href="https://tarrragon.github.io/blog/backend/knowledge-cards/headroom-budget/" data-link-title="Headroom Budget" data-link-desc="說明容量規劃中為應付異常 burst &amp;#43; AZ 故障 &amp;#43; forecast 誤差的安全餘量">Headroom Budget 卡片&lt;/a>。&lt;/p>
&lt;p>&lt;strong>可擴容速度（reactive vs predictive）&lt;/strong>：autoscaler 反應時間 vs 流量上升速度。如果流量上升比 autoscaler 快、必須 &lt;em>提前&lt;/em> pre-scale、不能等 reactive 反應。&lt;/p>
&lt;p>這個公式的另一個寫法是「容量 = peak × 安全係數」、安全係數 = (1 + headroom) / 可擴容速度。預測準 + 擴容快 → 安全係數小、容量緊湊；預測差 + 擴容慢 → 安全係數大、成本高。&lt;/p>
&lt;h2 id="peak-forecast-方法">Peak forecast 方法&lt;/h2>
&lt;p>Forecast 方法分三層、按業務型態選用。&lt;/p>
&lt;p>&lt;strong>歷史線性外推&lt;/strong>：拿過去 N 個月的趨勢、按斜率外推到下 N 個月。適合 sustained growth（B2B SaaS 月增 X%）；不適合 event peak（年度活動）跟 surge（產品爆紅）。&lt;/p>
&lt;p>&lt;strong>季節性分解（STL：Seasonal-Trend decomposition using Loess）&lt;/strong>：把長期趨勢、週期成分、殘差分開預測。適合電商（雙 11 / Black Friday）、串流（IPL / Super Bowl）、零售（聖誕節）。需要 &lt;em>至少兩個完整 cycle&lt;/em> 的歷史資料。&lt;/p>
&lt;p>&lt;strong>業務 ML 模型&lt;/strong>：結合 marketing pipeline（廣告投入）、新用戶獲取（acquisition rate）、留存率、產品變化等多 feature。最精準但成本高、需要 ML team。&lt;/p>
&lt;p>&lt;strong>最常見錯誤是「拿去年同期 × (1 + 預期成長 %)」&lt;/strong>：忽略產品改動 + 行銷投入變化 + 外部事件。Prime Day 2025 vs 2024 不只是 +30% — 是 AI shopping assistant 上線、是 ad spend 變化、是新國家上線。&lt;/p></description><content:encoded><![CDATA[<h2 id="概念定位">概念定位</h2>
<p>容量規劃的責任是把「未來 N 個月可能多大」翻成「現在該訂多少 capacity」。這層工作不純靠歷史外推、要結合業務 forecast、事件型成長、頂部風險 buffer。</p>
<p>跟 <a href="/blog/backend/09-performance-capacity/saturation-discovery/" data-link-title="9.4 Saturation Discovery" data-link-desc="找出 throughput plateau 與 latency knee 的方法">9.4 Saturation Discovery</a> 的關係：9.4 提供「當前配置能撐多少」、9.6 用這個數字加上 forecast 推「該規劃多少」。沒有 9.4 的 baseline、9.6 只是猜；沒有 9.6 的 forecast、9.4 的 baseline 只是 snapshot。</p>
<p>跟 <a href="/blog/backend/09-performance-capacity/scaling-axes/" data-link-title="9.13 擴展軸與 Stateless 前提" data-link-desc="整理垂直 / 水平擴展取捨、stateless vs stateful 前提、auto scaling 操作模型與兩種擴展的 hidden cost">9.13 擴展軸</a> 的關係：9.13 先決定「沿哪條軸擴」（垂直 / 水平 / Y 軸拆服務 / Z 軸 partition），9.6 才能算出「該擴多少」。同樣是「處理 10 倍流量」、選垂直擴展要算單機規格上限、選水平擴展要算協調成本跟連線池放大、選 Y 軸拆服務要算跨服務 latency budget — 三條軸的容量公式參數完全不同。沒先做 9.13、9.6 的數字會落到錯誤的擴展軸上。</p>
<p>本章是「規劃決策」的章節、不是執行手冊。讀完後讀者能回答：peak 怎麼預測、headroom 訂多少、autoscaler 怎麼配、不可水平擴的服務怎麼處理。</p>
<h2 id="容量公式三項">容量公式三項</h2>
<p>容量規劃的核心公式可以濃縮成三項相乘：<code>容量 = 預期峰值 × (1 + headroom) / 可擴容速度</code>。每一項都需要獨立分析：</p>
<p><strong>預期峰值（peak forecast）</strong>：歷史 baseline × 預期成長 × 事件因子。三項中最影響整體準度。詳見 <a href="/blog/backend/knowledge-cards/peak-forecast/" data-link-title="Peak Forecast" data-link-desc="說明預期峰值流量的預測方法 — 容量規劃的第一個輸入">Peak Forecast 卡片</a>。</p>
<p><strong>Headroom budget</strong>：通常 30-50%、為了應付異常 burst + AZ 故障 + forecast 誤差。不同工作負載 headroom 不同。詳見 <a href="/blog/backend/knowledge-cards/headroom-budget/" data-link-title="Headroom Budget" data-link-desc="說明容量規劃中為應付異常 burst &#43; AZ 故障 &#43; forecast 誤差的安全餘量">Headroom Budget 卡片</a>。</p>
<p><strong>可擴容速度（reactive vs predictive）</strong>：autoscaler 反應時間 vs 流量上升速度。如果流量上升比 autoscaler 快、必須 <em>提前</em> pre-scale、不能等 reactive 反應。</p>
<p>這個公式的另一個寫法是「容量 = peak × 安全係數」、安全係數 = (1 + headroom) / 可擴容速度。預測準 + 擴容快 → 安全係數小、容量緊湊；預測差 + 擴容慢 → 安全係數大、成本高。</p>
<h2 id="peak-forecast-方法">Peak forecast 方法</h2>
<p>Forecast 方法分三層、按業務型態選用。</p>
<p><strong>歷史線性外推</strong>：拿過去 N 個月的趨勢、按斜率外推到下 N 個月。適合 sustained growth（B2B SaaS 月增 X%）；不適合 event peak（年度活動）跟 surge（產品爆紅）。</p>
<p><strong>季節性分解（STL：Seasonal-Trend decomposition using Loess）</strong>：把長期趨勢、週期成分、殘差分開預測。適合電商（雙 11 / Black Friday）、串流（IPL / Super Bowl）、零售（聖誕節）。需要 <em>至少兩個完整 cycle</em> 的歷史資料。</p>
<p><strong>業務 ML 模型</strong>：結合 marketing pipeline（廣告投入）、新用戶獲取（acquisition rate）、留存率、產品變化等多 feature。最精準但成本高、需要 ML team。</p>
<p><strong>最常見錯誤是「拿去年同期 × (1 + 預期成長 %)」</strong>：忽略產品改動 + 行銷投入變化 + 外部事件。Prime Day 2025 vs 2024 不只是 +30% — 是 AI shopping assistant 上線、是 ad spend 變化、是新國家上線。</p>
<p>對應案例：<a href="/blog/backend/09-performance-capacity/cases/aws-prime-day-extreme-scale-2025/" data-link-title="9.C1 AWS Prime Day 2025：可預期極端峰值的 dogfood" data-link-desc="Amazon 自家服務在 Prime Day 2025 的峰值數字 — 一年一次可預期峰值的容量設計參考">Prime Day 年增率 +30% ~ +77%</a> — 連 Amazon 自家每年成長都不能線性外推；<a href="/blog/backend/09-performance-capacity/cases/disney-plus-content-metadata/" data-link-title="9.C27 Disney&#43;：DynamoDB 撐每日數十億動作的觀看歷史" data-link-desc="Disney&#43; 用 DynamoDB 撐每日數十億動作的觀看歷史、watchlist、播放進度等串流 metadata">Disney+ 新片發布</a> — 事件型 forecast、按過去新片 metric 預估。</p>
<p>Forecast 必須有 <em>誤差範圍</em>、不能單一數字。給上下界（最壞 / 預期 / 最好）、容量規劃才能用 worst-case 訂 baseline。</p>
<h2 id="headroom-budget-設計">Headroom budget 設計</h2>
<p>Headroom 不是 over-provisioning 浪費、是容量規劃的安全邊界。常見比例 30-50%、按 saturation 行為跟工作負載敏感度調整。</p>
<p><strong>為什麼是 30-50% 而不是 10%</strong>：</p>
<ul>
<li>forecast 誤差：預測準度通常 ±20-30%</li>
<li>burst pattern：瞬間 spike 超過 average peak、需要短時間吸收</li>
<li>AZ / region failover：一個 AZ 掛、剩下兩個要承擔全部（多 33% 容量）</li>
<li>系統老化 / drift：軟硬體升級後 saturation 點可能位移</li>
</ul>
<p><strong>不同工作負載不同 headroom</strong>：</p>
<ul>
<li>stateless service：30%（autoscaler 反應快、headroom 可以薄）</li>
<li>DB：50%（不易擴容、要備援足夠空間）</li>
<li>broker / queue：60%（consumer 落後恢復時要瞬間吃下積壓）</li>
<li>consensus DB：80%+（完全不能 reactive 擴）</li>
</ul>
<p><strong>headroom 太低 → 出事</strong>：peak 期間進 cliff、用戶體驗變差。
<strong>headroom 太高 → 浪費錢</strong>：平日成本拉高、CFO 質疑。</p>
<p>對應案例：<a href="/blog/backend/09-performance-capacity/cases/gr8-tech-ai-predicted-betting-peak/" data-link-title="9.C2 GR8 Tech：AI 預測式自動擴容下的體育博彩高峰" data-link-desc="AI 預測 &#43; EKS 自動擴容怎麼在 25ms p95 下承載 54000 TPS 體育博彩峰值流量">GR8 Tech AI 預測</a> — 預測準了可以降 headroom 比例；預測不準必須拉高 headroom 補回安全邊界。</p>
<h2 id="growth-curve-形狀分類">Growth curve 形狀分類</h2>
<p>不同 growth curve 形狀對應不同 forecast 方法跟 review 節奏。</p>
<p><strong>Linear growth</strong>：用戶月增 X%。B2B SaaS 最常見。forecast 線性外推、每季 review、headroom 可以薄（成長可預測）。</p>
<p><strong>Step growth</strong>：每次行銷 / 活動跳一階、之間 plateau。需要 event tier 規劃、每個事件單獨 forecast、headroom 跟 event 強度連動。</p>
<p><strong>Exponential growth</strong>：早期初創、病毒擴散。forecast 容易低估、傳統線性外推會大幅低估；headroom 必須拉到 100%+、不能省。</p>
<p><strong>S-curve growth</strong>：成熟產品、會 saturate。Forecast 初期像 exponential、中期 plateau、晚期 mature。需要識別 inflection point、過了就調 forecast 方法。</p>
<p><strong>Cyclical</strong>：電商季節性。每年 Black Friday / Cyber Monday / Christmas / Chinese New Year 都重複、forecast 用 STL 季節性分解。</p>
<p>對應案例：<a href="/blog/backend/09-performance-capacity/cases/zoom-covid-surge-dynamodb/" data-link-title="9.C18 Zoom：COVID 期間從 1000 萬到 3 億 DAU 的 30 倍突發" data-link-desc="Zoom 在 2020 年 COVID 爆發時、日活從 1000 萬衝到 3 億、用 DynamoDB 撐住會議後端">Zoom 30x COVID</a> — step growth、外部衝擊讓 baseline 永久上移；<a href="/blog/backend/09-performance-capacity/cases/niantic-pokemon-go-fifty-x-surge-gcp/" data-link-title="9.C8 Niantic Pokémon GO：在 GCP 上承載 50 倍突發流量" data-link-desc="Pokémon GO 上線時實際流量達原始預估 50 倍、Google CRE 怎麼即時補容量">Pokemon GO 50x surge</a> — exponential（早期）+ 之後 S-curve；<a href="/blog/backend/09-performance-capacity/cases/asos-cosmos-db-black-friday/" data-link-title="9.C21 ASOS：Cosmos DB 在 Black Friday 撐 1.67 億請求" data-link-desc="ASOS 在 2016 Black Friday 用 Azure Cosmos DB 撐 24 小時 1.67 億請求、3500 req/sec、48ms 平均延遲">ASOS Black Friday</a> — cyclical。</p>
<p>詳見 <a href="/blog/backend/knowledge-cards/growth-curve/" data-link-title="Growth Curve" data-link-desc="說明用戶 / 流量隨時間成長的五種典型形狀、影響容量規劃方法">Growth Curve 卡片</a>。</p>
<h2 id="autoscaling-sizing">Autoscaling sizing</h2>
<p>訂好 capacity 之後、要設計 autoscaler 把這個容量 <em>動態使用</em>。</p>
<p><strong>min / max / target metric 三個參數</strong>：</p>
<ul>
<li>min 太低 → cold start 風險（流量上來時還在 boot）</li>
<li>min 太高 → 平日浪費</li>
<li>max 太低 → 限流（peak 時 autoscaler 不能再擴）</li>
<li>max 太高 → 月底炸帳單（autoscaler 不受控、過 peak 不會主動降）</li>
<li>target 太高 → autoscale 啟動太晚、進 knee 才反應</li>
<li>target 太低 → autoscale 太敏感、頻繁 scale up / down 浪費</li>
</ul>
<p><strong>Predictive vs reactive</strong>：</p>
<ul>
<li><a href="/blog/backend/knowledge-cards/predictive-scaling/" data-link-title="Predictive Scaling" data-link-desc="說明用歷史模式或 ML 模型預測流量、提前擴容的 autoscaler 模式">predictive scaling</a>：根據歷史 pattern 或 ML 模型提前擴</li>
<li>reactive scaling：根據當下指標擴</li>
<li>兩者組合最穩：predictive 處理已知 pattern、reactive 處理 unexpected burst</li>
</ul>
<p><strong>Scheduled vs metric-based</strong>：</p>
<ul>
<li><a href="/blog/backend/knowledge-cards/scheduled-scaling/" data-link-title="Scheduled Scaling" data-link-desc="說明按已知時間表預先擴容的 autoscaler 模式">scheduled scaling</a>：時段觸發（年度活動、daily peak）</li>
<li>metric-based：根據 utilization / queue depth 觸發</li>
<li>三層組合（scheduled + predictive + reactive）最穩</li>
</ul>
<p><strong>不同層的 autoscaler 各自設計</strong>：</p>
<ul>
<li>EC2 Auto Scaling Group：infrastructure 層</li>
<li>Kubernetes HPA / VPA：pod 層</li>
<li>Karpenter：node 層</li>
<li>DynamoDB auto-scaling：DB capacity 層</li>
<li>CloudFront：CDN 層</li>
</ul>
<p>對應案例：<a href="/blog/backend/09-performance-capacity/cases/tixcraft-ticketing-flash-sale-spike/" data-link-title="9.C15 拓元 Tixcraft：售票搶購的瞬間爆量架構" data-link-desc="拓元用 DynamoDB 當寫入緩衝 &#43; 傳統伺服器當慢速消費者、承受 100K&#43; 同時選位 &#43; 30 秒從 6 台擴到 800 台">Tixcraft 30 分鐘擴 130 倍</a> — 6 台 → 800 台靠 ASG + AMI prebuild + ELB warmup；<a href="/blog/backend/09-performance-capacity/cases/aws-prime-day-extreme-scale-2025/" data-link-title="9.C1 AWS Prime Day 2025：可預期極端峰值的 dogfood" data-link-desc="Amazon 自家服務在 Prime Day 2025 的峰值數字 — 一年一次可預期峰值的容量設計參考">Prime Day predictive</a> — pre-scaling 30-77% 年增率提前算進容量。</p>
<h2 id="不可水平擴容服務的容量規劃">不可水平擴容服務的容量規劃</h2>
<p>部分服務不能用「加機器」解決容量問題。這類服務的容量規劃有獨立邏輯。</p>
<p><strong>典型不可水平擴</strong>：</p>
<ul>
<li>consensus DB（RAFT / Paxos）：節點數量是 consensus 一部分、不能臨時增減</li>
<li>single leader DB（PostgreSQL primary、MySQL master）：寫只有一個 leader</li>
<li>中央 coordinator：必須拆解才可擴</li>
</ul>
<p><strong>容量公式變成</strong>：單機極限 × headroom、沒有 elastic 救援。
<strong>設計重點</strong>：</p>
<ul>
<li>預先 provision 到能撐 peak、不依賴 reactive 擴</li>
<li>垂直擴容（更大 instance）為主、不是橫向</li>
<li>留更高 headroom（80%+）、出事沒有第二招</li>
</ul>
<p>對應案例：<a href="/blog/backend/09-performance-capacity/cases/coinbase-ultra-low-latency-exchange-2023/" data-link-title="9.C3 Coinbase International Exchange：超低延遲交易的逆向容量設計" data-link-desc="為什麼 Coinbase 國際交易所選 Cluster Placement Group &#43; z1d 而不是自動擴容 — 延遲敏感型負載的容量取捨">Coinbase pre-provision</a> — RAFT 限制下完全 pre-provision、不 autoscale；<a href="/blog/backend/09-performance-capacity/cases/spanner-planetary-scale-database-gcp/" data-link-title="9.C10 Cloud Spanner：每秒 10 億請求的全球一致性資料庫" data-link-desc="Google Cloud Spanner 內部峰值 10 億 req/sec、跨地區強一致 — 全球分散式 OLTP 容量參考">Spanner 節點即容量單位</a> — 雖然全球可擴、但每個 region 內節點數要預先規劃。</p>
<h2 id="跨地理--跨-region-容量規劃">跨地理 / 跨 region 容量規劃</h2>
<p>跨 region 服務不能用 <em>全球總量</em> 平攤、每個 region 獨立規劃。</p>
<p><strong>為什麼不能聚合</strong>：</p>
<ul>
<li>用戶在哪、流量就在哪、不會自動 spread</li>
<li>跨 region 切流量有延遲（DNS TTL、用戶習慣）、不能即時 rebalance</li>
<li>資料駐留合規可能強制各 region 獨立</li>
</ul>
<p><strong>規劃方法</strong>：</p>
<ul>
<li>每個 region 抽各自的 workload model</li>
<li>各自跑 saturation discovery</li>
<li>各自訂 headroom（區域峰值 + 區域 AZ failover）</li>
<li>跨 region failover plan：哪個 region 掛了、流量去哪、目標 region 要留多少 headroom 接</li>
</ul>
<p>對應案例：<a href="/blog/backend/09-performance-capacity/cases/standard-chartered-aurora-banking/" data-link-title="9.C14 Standard Chartered：受監管銀行的 Aurora 4000 TPS 容量提升" data-link-desc="Standard Chartered 銀行遷移到 Aurora 後吞吐量提升 10 倍至 4000 TPS、跨 7 個受監管市場">Standard Chartered 7 個受監管市場</a> — 跨市場獨立容量規劃；<a href="/blog/backend/09-performance-capacity/cases/genesys-dynamodb-99999-availability/" data-link-title="9.C24 Genesys：用 DynamoDB 在 15 region 跑出 99.999% 可用性" data-link-desc="Genesys 客服平台用 DynamoDB 為預設資料層、跨 15 主 region &#43; 5 衛星 region、達成 12 個月 99.999% 可用性">Genesys 15 region</a> — 15 主 region + 5 衛星 region 各自規劃；<a href="/blog/backend/09-performance-capacity/cases/mercado-libre-latam-bigquery-vertex/" data-link-title="9.C31 Mercado Libre：LatAm 電商在 GCP 上用 Vertex AI 搜尋 1.5 億商品" data-link-desc="Mercado Libre 1 億客戶 &#43; 1.5 億商品、用 GCP Vertex AI Search &#43; BigQuery 提供近即時搜尋與分析">Mercado Libre 18 國</a> — 每國獨立 cycle。</p>
<h2 id="案例對照">案例對照</h2>
<table>
  <thead>
      <tr>
          <th>案例</th>
          <th>教學重點</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><a href="/blog/backend/09-performance-capacity/cases/aws-prime-day-extreme-scale-2025/" data-link-title="9.C1 AWS Prime Day 2025：可預期極端峰值的 dogfood" data-link-desc="Amazon 自家服務在 Prime Day 2025 的峰值數字 — 一年一次可預期峰值的容量設計參考">9.C1 Prime Day</a></td>
          <td>可預期峰值的 forecast + pre-scaling</td>
      </tr>
      <tr>
          <td><a href="/blog/backend/09-performance-capacity/cases/gr8-tech-ai-predicted-betting-peak/" data-link-title="9.C2 GR8 Tech：AI 預測式自動擴容下的體育博彩高峰" data-link-desc="AI 預測 &#43; EKS 自動擴容怎麼在 25ms p95 下承載 54000 TPS 體育博彩峰值流量">9.C2 GR8 Tech</a></td>
          <td>AI 預測式擴容、縮短反應時間</td>
      </tr>
      <tr>
          <td><a href="/blog/backend/09-performance-capacity/cases/zoom-covid-surge-dynamodb/" data-link-title="9.C18 Zoom：COVID 期間從 1000 萬到 3 億 DAU 的 30 倍突發" data-link-desc="Zoom 在 2020 年 COVID 爆發時、日活從 1000 萬衝到 3 億、用 DynamoDB 撐住會議後端">9.C18 Zoom</a></td>
          <td>30x surge 後 baseline 永久上移</td>
      </tr>
      <tr>
          <td><a href="/blog/backend/09-performance-capacity/cases/standard-chartered-aurora-banking/" data-link-title="9.C14 Standard Chartered：受監管銀行的 Aurora 4000 TPS 容量提升" data-link-desc="Standard Chartered 銀行遷移到 Aurora 後吞吐量提升 10 倍至 4000 TPS、跨 7 個受監管市場">9.C14 Standard Chartered</a></td>
          <td>跨市場獨立容量規劃</td>
      </tr>
      <tr>
          <td><a href="/blog/backend/09-performance-capacity/cases/coinbase-ultra-low-latency-exchange-2023/" data-link-title="9.C3 Coinbase International Exchange：超低延遲交易的逆向容量設計" data-link-desc="為什麼 Coinbase 國際交易所選 Cluster Placement Group &#43; z1d 而不是自動擴容 — 延遲敏感型負載的容量取捨">9.C3 Coinbase</a></td>
          <td>不可水平擴的 pre-provision</td>
      </tr>
  </tbody>
</table>
<h2 id="下一步路由">下一步路由</h2>
<ul>
<li>上游：<a href="/blog/backend/09-performance-capacity/workload-modeling/" data-link-title="9.2 Workload Modeling" data-link-desc="把 production traffic shape 翻成可重播的壓測模型">9.2 Workload Modeling</a> / <a href="/blog/backend/09-performance-capacity/saturation-discovery/" data-link-title="9.4 Saturation Discovery" data-link-desc="找出 throughput plateau 與 latency knee 的方法">9.4 Saturation Discovery</a></li>
<li>上游：<a href="/blog/backend/09-performance-capacity/scaling-axes/" data-link-title="9.13 擴展軸與 Stateless 前提" data-link-desc="整理垂直 / 水平擴展取捨、stateless vs stateful 前提、auto scaling 操作模型與兩種擴展的 hidden cost">9.13 擴展軸與 Stateless 前提</a>（先選軸再算數量、不可水平擴容服務的判讀基底）</li>
<li>下游：<a href="/blog/backend/09-performance-capacity/cost-engineering/" data-link-title="9.7 成本邊界與 efficiency" data-link-desc="cost per request、cost curve、降級成本、over-provisioning trade-off">9.7 成本邊界與 efficiency</a>（容量翻成成本）</li>
<li>下游：<a href="/blog/backend/09-performance-capacity/peak-event-readiness/" data-link-title="9.11 高峰事件準備" data-link-desc="活動、季節性流量、推廣事件的 capacity readiness 流程">9.11 高峰事件準備</a></li>
<li>跨模組：<a href="/blog/backend/05-deployment-platform/" data-link-title="模組五：部署平台與網路入口" data-link-desc="整理 Kubernetes、systemd、load balancer、container 與服務生命週期合約">05 部署平台模組</a> autoscaler 實作</li>
</ul>
<h2 id="既建知識卡片">既建知識卡片</h2>
<ul>
<li><a href="/blog/backend/knowledge-cards/peak-forecast/" data-link-title="Peak Forecast" data-link-desc="說明預期峰值流量的預測方法 — 容量規劃的第一個輸入">Peak Forecast</a></li>
<li><a href="/blog/backend/knowledge-cards/headroom-budget/" data-link-title="Headroom Budget" data-link-desc="說明容量規劃中為應付異常 burst &#43; AZ 故障 &#43; forecast 誤差的安全餘量">Headroom Budget</a></li>
<li><a href="/blog/backend/knowledge-cards/growth-curve/" data-link-title="Growth Curve" data-link-desc="說明用戶 / 流量隨時間成長的五種典型形狀、影響容量規劃方法">Growth Curve</a></li>
<li><a href="/blog/backend/knowledge-cards/predictive-scaling/" data-link-title="Predictive Scaling" data-link-desc="說明用歷史模式或 ML 模型預測流量、提前擴容的 autoscaler 模式">Predictive Scaling</a></li>
<li><a href="/blog/backend/knowledge-cards/scheduled-scaling/" data-link-title="Scheduled Scaling" data-link-desc="說明按已知時間表預先擴容的 autoscaler 模式">Scheduled Scaling</a></li>
</ul>
]]></content:encoded></item></channel></rss>