This topic describes the latest compute node specifications for PolarDB for PostgreSQL.
PolarDB for PostgreSQL supports two specification families: Dedicated and General-purpose.
Dedicated: Each cluster exclusively uses its allocated computing resources, such as CPUs, and does not share them with other clusters on the same server. This ensures stable and reliable performance.
General-purpose: Idle computing resources, such as CPUs, are shared among different clusters on the same server. This improves cost-effectiveness.
Table 1. Compute node specifications
Specification family | Node specifications | vCPUs and memory | Maximum storage capacity | Maximum connections1 | Internal bandwidth | Maximum IOPS for PSL4 | Maximum IOPS for PSL5 | I/O bandwidth |
Dedicated | polar.pg.x4.medium | 2 vCPUs, 8 GB | 50 TB | 800 | 1 Gbps | 8,000 | 16,000 | 1 Gbps |
polar.pg.x8.medium | 2 vCPUs, 16 GB | 100 TB | 1,600 | 5 Gbps | 8,000 | 16,000 | 1 Gbps | |
polar.pg.x4.large | 4 vCPUs, 16 GB | 100 TB | 1,600 | 10 Gbps | 32,000 | 64,000 | 4 Gbps | |
polar.pg.x8.large | 4 vCPUs, 32 GB | 100 TB | 3,200 | 10 Gbps | 32,000 | 64,000 | 4 Gbps | |
polar.pg.x4.xlarge | 8 vCPUs, 32 GB | 100 TB | 3,200 | 10 Gbps | 50,000 | 128,000 | 8 Gbps | |
polar.pg.x8.xlarge | 8 vCPUs, 64 GB | 100 TB | 3,200 | 10 Gbps | 50,000 | 160,000 | 10 Gbps | |
polar.pg.x4.2xlarge | 16 vCPUs, 64 GB | 100 TB | 3,200 | 10 Gbps | 64,000 | 256,000 | 16 Gbps | |
polar.pg.x8.2xlarge | 16 vCPUs, 128 GB | 100 TB | 12,800 | 10 Gbps | 64,000 | 256,000 | 16 Gbps | |
polar.pg.x4.4xlarge | 32 vCPUs, 128 GB | 100 TB | 12,800 | 10 Gbps | 80,000 | 256,000 | 16 Gbps | |
polar.pg.x8.4xlarge | 32 vCPUs, 256 GB | 300 TB | 25,600 | 10 Gbps | 80,000 | 384,000 | 24 Gbps | |
polar.pg.x4.6xlarge | 48 vCPUs, 192 GB | 100 TB | 12,800 | 10 Gbps | 100,000 | 256,000 | 16 Gbps | |
polar.pg.x8.6xlarge | 48 vCPUs, 384 GB | 300 TB | 25,600 | 10 Gbps | 100,000 | 384,000 | 24 Gbps | |
polar.pg.x4.8xlarge | 64 vCPUs, 256 GB | 300 TB | 25,600 | 10 Gbps | 120,000 | 384,000 | 24 Gbps | |
polar.pg.x8.8xlarge | 64 vCPUs, 512 GB | 500 TB | 36,000 | 10 Gbps | 120,800 | 409,600 | 24 Gbps | |
polar.pg.x8.12xlarge | 88 vCPUs, 710 GB | 500 TB | 36,000 | 25 Gbps | 150,000 | 512,000 | 32 Gbps | |
polar.pg.x8.15xlarge | 120 vCPUs, 920 GB | 500 TB | 36,000 | 25 Gbps | 150,000 | 512,000 | 32 Gbps | |
General-purpose | polar.pg.g2.medium | 2 vCPUs, 4 GB | 20 TB | 500 | 1 Gbps | 5,000 | 10,000 | 1 Gbps |
polar.pg.g4.medium | 2 vCPUs, 8 GB | 50 TB | 800 | 1 Gbps | 5,000 | 16,000 | 1 Gbps | |
polar.pg.g2.large | 4 vCPUs, 8 GB | 50 TB | 1,000 | 10 Gbps | 16,000 | 32,000 | 2 Gbps | |
polar.pg.g4.large | 4 vCPUs, 16 GB | 100 TB | 1,600 | 10 Gbps | 16,000 | 64,000 | 4 Gbps | |
polar.pg.g2.xlarge | 8 vCPUs, 16 GB | 100 TB | 2,000 | 10 Gbps | 32,000 | 96,000 | 4 Gbps | |
polar.pg.g4.xlarge | 8 vCPUs, 32 GB | 100 TB | 3,200 | 10 Gbps | 32,000 | 128,000 | 8 Gbps | |
polar.pg.g8.xlarge | 8 vCPUs, 64 GB | 100 TB | 3,200 | 10 Gbps | 42,000 | 160,000 | 10 Gbps | |
polar.pg.g2.2xlarge | 16 vCPUs, 32 GB | 100 TB | 3,200 | 10 Gbps | 48,000 | 192,000 | 10 Gbps |
Maximum connections1: This refers to the `max_connections` parameter, which is the upper limit for connections. The actual number of connections a compute node can support varies by workload. For more information, see Maximum connections.
The maximum IOPS and I/O bandwidth of an Enterprise Edition cluster increase proportionally with the number of nodes. For example, if a cluster uses Dedicated specifications, 8-vCPU and 32 GB compute nodes, and the PSL5 storage class, and contains one read/write node and three read-only nodes, the total maximum storage performance of the four nodes is 4 × 128,000 IOPS and 4 × 8 Gbps.
Each node in an Enterprise Edition cluster has independent storage specifications that do not affect other nodes. For example, if a cluster with a storage specification of 128,000 IOPS and 8 Gbps of bandwidth contains one read/write node and three read-only nodes, each of the four nodes independently provides 128,000 IOPS and 8 Gbps of bandwidth.
In minor engine version V1.1.7, released in December 2020, the maximum connections for some compute node specifications were adjusted to the values shown in the preceding table. For clusters created after this release, the maximum connections are set to these adjusted values. For existing clusters, you can change the specifications to update the maximum connections.
Maximum connections
The maximum number of connections is the upper limit for a PolarDB for PostgreSQL cluster. If the number of concurrent connections exceeds this limit, new connections cannot be established or may time out. The actual number of connections that a database can support depends on the memory consumed by each connection, which varies based on the application.
You can query the currently configured maximum number of connections.
SHOW max_connections;
You can query the current number of active connections.
SELECT count(1) FROM pg_stat_activity;
Monitor your application and database status, and keep the number of connections below the recommended value.
Formula for the recommended value:
LEAST({DBInstanceClassMemory/11MB}, 5000)
.If your application requires more connections, select a database cluster with more memory.