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 實例類型)

Sources