本文介紹了PolarDB PostgreSQL版鏈接地址選擇集群地址時的性能測試結果。

簡介

相較于直接連接PolarDB PostgreSQL版主節點地址,PolarDB PostgreSQL版連接集群地址在以下兩方面進行了優化,提升了整體吞吐:
  • PolarDB PostgreSQL版集群自帶讀寫分離功能。應用程序只需連接一個集群地址,寫請求會自動發往主節點,讀請求會自動根據各節點的負載(當前未完成的請求數)發往主節點或只讀節點。
  • PolarDB PostgreSQL版集群具有事務拆分功能。事務拆分在保證讀寫一致性的前提下,將事務中的讀請求發往只讀節點,以提升性能。詳情請參見事務拆分
說明 具體測試步驟請參見性能測試方法(OLTP)

前提條件

  • 購買的PolarDB PostgreSQL版包含一個主節點和至少一個只讀節點。
  • 連接的地址采用集群地址,而不是主節點地址。采用集群地址后,會根據您的讀寫請求以及負載來決定請求發往主節點還是只讀節點。
  • 建議開啟事務拆分功能,事務拆分在保證讀寫一致性的前提下,將事務中的讀請求發送只讀節點,以提升性能。

測試環境與規格

本次測試主要采用PolarDB for PostgreSQL 14集群,環境和規格如下表所示(除連接地址之外,其他均相同):
環境與規格說明
核數+內存8核 64 GB
PostgreSQL版本14
磁盤性能等級PSL5
節點數量1主節點+1只讀節點+1standby節點
連接地址集群地址/主節點地址
事務拆分開啟
會話/最終一致性會話一致性

測試Workload說明

本次測試采用Sysbench測試,只需將Sysbench測試連接的IP修改為集群地址即可,Sysbench的測試方法具體請參見性能測試方法(OLTP)

為了更好的說明PolarDB for PostgreSQL 14集群性能的提升,本次測試選取了一個典型場景:讀場景(oltp_read_only)。

衡量指標

TPS(Transactions Per Second):即數據庫每秒執行的事務數,以COMMIT成功次數為準。

測試數據量

本次實驗測試數據量如下表所示:
參數說明
表數目8
行數64,000,000
總數據量128 GB

性能結果

讀場景讀場景
TPS/連接地址集群地址主節點地址
2568149.574859.45
5127607.024418.72
10247037.764058.89