PostgreSQL 性能與成本分析(共 23 種 AWS EC2 實例類型)
PostgreSQL 性能與成本分析(共 23 種 AWS EC2 實例類型)
執行摘要
對於需要 33,000 次請求每秒(RPS)且資料集為 1 GB 的工作負載,使用 gp3-baseline 儲存的 m8g.large 實例是最具成本效益的配置,月成本約為 $82。雖然 c8i.large 提供了每美元最高的原始吞吐量,但基於 Graviton(arm64)的實例通常在 PostgreSQL 部署上提供更佳的性能與成本平衡。
33,000 RPS 的成本‑性能前緣
在目標 33,000 RPS、1 GB 資料集的情況下,52 種測試配置中有 30 種符合需求。最佳實例的選擇取決於是以絕對最低成本為優先,還是以最高效率為目標。
最便宜的配置
- 實例:m8g.large
- 儲存:gp3-baseline
- 架構:arm64(Graviton)
- 成本:≈ $82/月
- 性能:45,515 RPS(1.4 倍目標值)
每美元最高 RPS
- 實例:c8i.large
- 儲存:gp3-baseline
- 架構:x86-64
- 性能:52,203 RPS
- 效率:451,476 RPS/€·hr
實例族群的比較分析
不同 EC2 族群的性能差異顯著,較新一代與 Graviton 處理器在吞吐量與延遲上展現出明顯優勢。
Graviton(arm64) vs. x86-64
Graviton 實例(在原始資料中以綠色標示)常出現在成本‑性能前緣。例如,使用 gp3-baseline 儲存時,m8g.large(arm64)在成本($82/月 vs $90/月)與吞吐量(45,515 RPS vs 41,305 RPS)上均優於 m7i.large(x86-64)。
隨實例規模的性能擴展
隨著實例規模增大,吞吐量通常會提升,但每美元的 RPS 往往會隨實例變大而下降:
- m8g.large:45,515 RPS(≈ $82/月)
- m8g.xlarge:70,871 RPS(≈ $147/月)
- m8g.2xlarge:81,451 RPS(≈ $278/月)
儲存配置的影響:gp3-baseline vs. gp3-max
儲存配置對月成本影響顯著,卻不一定能成比例提升吞吐量。
以 c8i.large 為例:
- gp3-baseline:52,203 RPS,約 $84/月
- gp3-max:53,444 RPS,約 $184/月
在此情境下,升級至 gp3-max 使月成本增加超過 100%,但每秒請求數僅略有提升,顯示對此工作負載而言,baseline gp3 儲存已足夠。
低階性能(T 系列實例)
T 系列實例(t3、t4g)不適合高吞吐量的 PostgreSQL 工作負載。這些實例始終未能達到 33,000 RPS 的目標,多數僅提供 2,800 至 5,300 RPS。例如,使用 gp3-baseline 的 t4g.small 只達到 2,842 RPS,速度比 m8g.large 慢了數個量級。
摘要: 對 23 種 AWS EC2 實例類型進行的 PostgreSQL 基準測試顯示,搭配 gp3-baseline 儲存的 m8g.large 是實現 33,000 RPS 時最具成本效益的選擇。
標題: PostgreSQL 性能與成本分析(共 23 種 AWS EC2 實例類型)