我們如何測試分散式 PostgreSQL 效能和可擴展性

YugabyteDB 不僅僅是另一個分散式 SQL 資料庫。還不止這些。它提供了可擴展且永不失敗的分散式 PostgreSQL 。

在 Yugabyte,我們致力於提供強大且高效能的分散式 PostgreSQL 資料庫,並以廣泛且嚴格的測試為後盾。

為了實現這一目標,我們的工程團隊利用各種基準和測試工具。

 

他們使用這些來驗證 YugabyteDB 的效能、可擴展性、事務一致性、高可用性和 PostgreSQL 相容性。

本部落格是解釋我們如  羅馬尼亞 電話號碼庫 何測試分散式 PostgreSQL 資料庫的系列文章中的第一篇。在本部落格中,我們將重點放在效能和可擴展性,並詳細介紹我們的綜合測試框架。

標準性能測試
我們的標準效能測試可確保YugabyteDB在各種工作負載中一致地提供高效能。

這些測試大致分為宏觀基準和微觀基準,每晚運行,以驗證 YugabyteDB 的基本運作能力。這種雙重方法幫助我們維護一個強大且可擴展的分散式 PostgreSQL 資料庫,以滿足不同應用程式的需求。微基

 

準對於識別和優化效能瓶頸至關重要。

 

透過測試不同類別的 283 個查詢,我們確保每個資料庫操作都能以最佳方式執行。透過隔離這些單獨的操作,微基準測試允許我們測試資料庫中的特定查詢路徑,確保每個操作正確執行。

這種粒度等級的測試在開發過程中特別有用,使我們能夠及早發現錯誤並微調目標查詢類型的效能。

 

電話號碼庫

為了確保 YugabyteDB 能夠線性擴展並在高負載下表現良好,我們進行了全面的可擴展性測試。這些測試幫助我們驗證資料庫是否可以在不影響效能的情況下處理不斷增加的工作負載。擴展操作對於適應不斷變化的工作負載至關重要。我們在縮小(減少節點)並縮小(新增節點)之前、期間和之後測量了 YugabyteDB 的效能,以確保無縫可擴展性。

大規模10萬倉庫TPCC運行

目標:使用大規模 TPCC 基準進行壓力測試。

頻率:每兩週一次
配置: 59 個 c5d.9xlarge 類型實例,RF3 YugabyteDB 集群,具有 7TB 未複製(21TB 複製 rf3)資料。 40 個 TPCC 應用程式實例,每個實例有 150 個資料庫連線(總共 6000 個連線),每秒產生約 120 萬個交易 (Tpmc)
大規模10萬倉庫TPCC運行
X 軸:YugabyteDB 構建,Y 軸:TPMC。
為了模擬極高負載的場景,我們使用 59 個 c5d.9xlarge 類型實例運行了 100,000 個倉庫的 TPCC 基準測試。此壓力測試驗證資料庫 銀行資料策略 – 零方、第一方、第二方和第三方資料入門 在最嚴苛條件下的效能。

叢集運行測試
確保 YugabyteDB 在叢集運作期間保持高效能對於運作可靠性至關重要。這些測試評估各種維護和管

 

理操作對資料庫效能的影響。

 

備份和復原效能
目標:評估備份和復原作業對效能的影響。
頻率:每日
場景:使用 Sysbench 將資料載入到 YugabyteDB 中,並在備份作業之前、期間和之後執行oltp_read_only工作負載。我們也測量備份所需的時間。
備份和復原效能
X 軸:YugabyteDB 構建,Y 軸:延遲(以毫秒為單位)。
定期備份對於資料保護至關重要。我們測試備份和復原作業的影響,以確保執行這些操作時不會顯著

 

影響正在進行的工作負載。

 

增量備份效能
目標:測試增量備份的效率和影響。
場景:在增量備份作業之前、期間和之後執行 Sysbench oltp_read_write工作負載(執行讀取、寫入和更新查詢的混合)。
增量備份效能
X 軸:YugabyteDB 構建,Y 軸:延遲(以毫秒為單位)。
增量備份比完整備份更有效,但必須確保它們  ws資料庫 不會影響效能。我們評估增量備份的效能影響以驗證其效率。

滾動升級性能

 

目標:測量升級前後的性能。

情境:從 YugabyteDB 的較低版本(例如 2.20.0.0)開始,然後將其升級到更高版本(例如 2024.0.0.0),同時資料庫上執行 TPCC 等複雜工作負載。
滾動升級性能
X 軸:YugabyteDB 構建,Y 軸:延遲(以毫秒為單位)。
資料庫升級對於引入新功能和改進是必要的。我們在升級之前、期間和之後測量了 YugabyteDB 的性能。這可確保升級不會引入回歸,並且資料庫在滾動升級期間繼續運行。

CDC 表現

目標:分析使用和不使用變更資料擷取 (CDC) 的效能

場景:在設定 CDC 設定之前、期間和之後執行 Sysbench 等工作負載。
疾病預防控制中心參考
CDC 表現
X 軸:YugabyteDB 構建,Y 軸:延遲(以毫秒為單位)。
YugabyteDB 的原生 gRPC 變更資料擷取複製協定 (CDC) 可使用 gRPC 實現高效、可靠的資料變更流傳輸。這提供了跨分佈式節點的高效能、低延遲通信,保持一致性並支援可擴展的複製。

我們測試啟用和停用 CDC 對效能的影響,以確保即時數據追蹤不會降低整體效能。

 

結論
進行這種廣泛且多樣化的效能和可擴展性測試可確保 YugabyteDB 仍然是可靠且高效能的分散式 PostgreSQL 資料庫,非常適合處理關鍵任務、全球規模的應用程式。

我們對徹底測試和持續改進的承諾使我們能夠為用戶提供強大且可擴展的資料庫解決方案。

想了解更多嗎?
最近的 YugabyteDB 週五技術講座討論瞭如何在 YugabyteDB 中實現高可用性和連續可用性
本次 YugabyteDB 週五技術講座深入探討了使用 YugabyteDB 的變更資料擷取連接器
立即下載,體驗相容 PostgreSQL 的 YugabyteDB的內建彈性、無縫可擴展性和靈活的地理分佈。

返回頂端