This topic describes the OLTP performance test results of PolarDB for PostgreSQL 14 and similar PostgreSQL 14 cloud-native databases.

Overview

Compared with similar PostgreSQL 14 cloud-native databases, PolarDB for PostgreSQL 14 optimizes in the following features to improve the overall performance:
  • PolarDB for PostgreSQL adopts leading hardware technologies, including the Optane solid-state drive (SSD) of the 3D XPoint storage medium, NVMe SSDs, and RDMA over Converged Ethernet (RoCE).
  • PolarDB for PostgreSQL implements a set of I/O and network protocol stacks that run in user mode based on new hardware. This improves performance and reduces latency.
  • PolarDB for PostgreSQL uses the Polar Commit Sequence Number (CSN) feature to replace xid transactions of the native PostgreSQL with monotonically increasing 64-bit integers to improve OLTP performance in high concurrency scenarios.
  • The read-ahead, pre-extension, and rel_size_cache features are provided to reduce the number of I/O reads and writes and improve performance.
Note For more information about test steps, see OLTP performance test.

Test environment and specifications

The following table lists the environments and specifications of PolarDB for PostgreSQL 14 and similar PostgreSQL 14 cloud-native databases.
DescriptionPolarDB for PostgreSQL 14Similar PostgreSQL cloud-native database
Cores and memory8 cores and 64 GB of memory8 cores and 64 GB of memory
Concurrency256256
PostgreSQL version1414
Disk performance levelPSL5Default
Note For kernel parameters, PolarDB for PostgreSQL 14 and similar PostgreSQL 14 cloud-native databases use default values.

Test workloads

Sysbench includes seven scenarios: oltp_insert, oltp_point_select, oltp_read_only, oltp_read_write, oltp_update_index, oltp_update_non_index, and oltp_write_only. The following table describes the test details for each scenario.
ParameterScenarioTest details
Write-onlyoltp_insertInsert a table.
oltp_update_indexUpdate a table with indexes.
oltp_update_non_indexUpdate a table without indexes.
oltp_write_onlyInsert, update, and delete a table.
Read-onlyoltp_point_selectPoint query.
oltp_read_onlyPoint query and range query.
Read and writeoltp_read_writeoltp_write_only and oltp_read_only.

Metrics

Transactions per second (TPS): the number of transactions that are performed per second in the database. Only committed transactions are counted.

Test data

The following table lists the test data.
ParameterDescription
Number of tables8
Number of rows64,000,000
Total data size128 GB

Performance comparison results

  • Write-onlyWrite-only
    TPS or instance typePolarDB for PostgreSQL 14Similar PostgreSQL 14 database
    oltp_insert26894.3212787.40
    oltp_update_index26794.948112.62
    oltp_update_non_index27799.4910037.60
    oltp_write_only10254.724227.12
  • Read-onlyRead-only
    TPS or instance typePolarDB for PostgreSQL 14Similar PostgreSQL 14 database
    oltp_point_select87774.2926358.05
    oltp_read_only3421.841489.13
  • Read and writeRead and write
    TPS or instance typePolarDB for PostgreSQL 14Similar PostgreSQL 14 database
    oltp_read_write1953.10846.73