對於初入雲端開發的工程師來說,Serverless 資料庫最大的吸引力在於它能根據流量自動調整資源,不需要手動監控 CPU 或記憶體來決定何時升級規格。然而,自動擴展(Auto Scaling 永遠存在一個核心痛點:反應時間。如果流量瞬間暴增,但資料庫擴展速度跟不上,應用程式就會出現延遲甚至崩潰。
AWS 最近發布的 Aurora Serverless 平台版本 4(Platform Version 4)正是針對這個問題進行優化。這次更新的核心目標在於縮短資源增加的反應時間,並提升整體執行效率。
理解 ACU 與自動擴展的運作
在進入性能數據前,我們需要先理解 Aurora Serverless 的計費與資源單位 ACU(Aurora Capacity Unit)。ACU 是 AWS 定義的一組資源組合,包含 CPU 與記憶體。Serverless 版本會根據需求,以 0.5 ACU 為單位遞增或遞減。
理想情況下,資料庫應該像呼吸一樣自然地隨流量起伏。但在舊版本中,從低負載快速切換到高負載的過程(Ramp-Up)可能存在延遲,導致在流量尖峰的最初幾分鐘內,系統性能受限。
版本 4 的三大核心改進
首先是擴展速度的提升。官方數據顯示,版本 4 在面對需求激增時,容量擴展速度提升了約 45%。這意味著當你的 API 服務突然爆量時,資料庫能更快地分配到更多資源,大幅降低因擴展延遲導致的 Request Timeout 或 503 錯誤。
其次是吞吐量的增加。透過優化資源調度(Resource Scheduling)以及更聰明的工作負載感知擴展演算法(Workload-aware Scaling),資料庫的整體效能提升了最高 30%。在 HammerDB 的 TPROC-C 基準測試中,無論是 MySQL 還是 PostgreSQL 引擎,新版本的每分鐘新訂單處理量(NOPM)比版本 3 提升了 27% 到 34%。
最後是成本與效率的連動。由於執行效率提升,同樣的工作量現在可以用更少的 ACU 資源在更短的時間內完成。根據 Sysbench 的測試,在相同容量設定下,版本 4 完成任務的速度快了 27%,且成本降低了 28%。
實務上的影響與應用場景
這次更新對哪些開發場景最有幫助?最明顯的是那些具有高度不確定性流量的應用,例如繁忙的 Web 應用程式或 API 服務。在這些場景中,多個任務會競爭有限的資料庫資源,更靈敏的擴展演算法能有效緩解資源爭搶導致的性能下降。
此外,從成本維度來看,這次更新與 AWS 之前的 Database Savings Plans 結合後,對企業具有較大的吸引力。由於性能提升導致 ACU 消耗量下降,加上預留方案的折扣,Serverless 資料庫的總體持有成本(TCO)將進一步降低。
如何啟用新版本
對於新建立的 Aurora Serverless 集群,系統會自動套用最新版本。而對於現有的集群,工程師可以透過調整 ServerlessV2PlatformVersion 這個參數來手動升級到版本 4。
總結來說,Aurora Serverless v4 並非改變了資料庫的功能,而是優化了底層的資源管理邏輯。對於工程師而言,這意味著我們可以更放心地將不穩定流量的業務交給 Serverless 處理,而不用過度擔心擴展延遲帶來的性能抖動。
來源:infoq.com
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。