本文介紹了PolarDB for PostgreSQL 14與同類PostgreSQL 14云原生數據庫的OLTP負載性能測試結果。

簡介

相對于同類PostgreSQL云原生數據庫,PolarDB PostgreSQL版在以下幾方面進行了優化,提升了整體性能:
  • 采用了領先硬件技術,包括使用3DXpoint存儲介質的Optane存儲卡、NVMeSSD和RoCE RDMA網絡等。
  • 基于新的硬件,實現了一整套在用戶態運行的IO和網絡協議棧,獲得了更高的性能、更低的延遲。
  • 通過Polar CSN(Commit Sequence Number)技術,將原生PostgreSQL xid事務替換為單調遞增的64位整型來提升高并發下OLTP性能。
  • 借助預讀、預擴展、rel_size_cache技術,可以有效減少IO讀寫次數,提升性能。
說明 具體測試步驟,請參見性能測試方法(OLTP)

測試環境與規格

PolarDB for PostgreSQL 14和同類PostgreSQL 14云原生數據庫的環境和規格如下表所示:
說明PolarDB for PostgreSQL 14同類PostgreSQL云原生數據庫
核數+內存8核 64 GB8核 64 GB
并發數256256
PostgreSQL版本1414
磁盤性能等級PSL5默認配置
說明 關于內核參數,PolarDB for PostgreSQL 14和同類PostgreSQL 14云原生數據庫的參數均采用默認參數。

測試Workload說明

在Sysbench中,有七類場景,包括oltp_insert、oltp_point_select、oltp_read_only、oltp_read_write、oltp_update_index、oltp_update_non_index、oltp_write_only。各種場景的測試內容說明如下:
參數場景測試內容
寫場景oltp_insert插入表。
oltp_update_index更新帶索引的表。
oltp_update_non_index更新不帶索引的表。
oltp_write_only插入、更新、刪除表混合測試。
讀場景oltp_point_select點查詢。
oltp_read_only點查詢+范圍查詢。
讀寫混合oltp_read_writeoltp_write_only+oltp_read_only混合測試。

衡量指標

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

測試數據量

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

性能結果

  • 寫場景寫場景
    TPS/實例類型PolarDB for PostgreSQL 14同類PostgreSQL 14數據庫
    oltp_insert26894.3212787.40
    oltp_update_index26794.948112.62
    oltp_update_non_index27799.4910037.60
    oltp_write_only10254.724227.12
  • 讀場景讀場景
    TPS/實例類型PolarDB for PostgreSQL 14同類PostgreSQL 14數據庫
    oltp_point_select87774.2926358.05
    oltp_read_only3421.841489.13
  • 讀寫混合場景讀寫混合場景
    TPS/實例類型PolarDB for PostgreSQL 14同類PostgreSQL 14數據庫
    oltp_read_write1953.10846.73