PolarDB for MySQL Standard Edition compute nodes are available in two subseries — General-purpose and Dedicated — across X86 and YiTian ARM architectures. Performance metrics vary by storage class (ESSD or PSL4/PSL5).
Choose a subseries
| Subseries | Resource allocation | Best for |
|---|---|---|
| General-purpose | CPU is shared across clusters on the same server. | Cost-sensitive workloads that benefit from resource multiplexing |
| Dedicated | Compute resources (such as CPU) are exclusively allocated to your cluster. Not shared with other clusters. | Workloads requiring stable, predictable performance |
Compute node specifications
ESSD disks
All ESSD specifications support up to 64 TB of storage. IOPS and throughput are shared across all nodes in a cluster.
X86 — General-purpose
| Specification code | CPU and memory | Max storage (TB) | Default max connections<sup>1</sup> | Max inodes<sup>2</sup> | Max blktags<sup>3</sup> |
|---|---|---|---|---|---|
| polar.mysql.g1.tiny.c | 1 core, 1 GB | 64 | 1,000 | 6,707,200 | 8,384,000 |
| polar.mysql.g1.small.c | 1 core, 2 GB | 64 | 2,000 | 6,707,200 | 8,384,000 |
| polar.mysql.g2.small.c | 2 cores, 4 GB | 64 | 2,000 | 6,707,200 | 8,384,000 |
| polar.mysql.g4.medium.c | 2 cores, 8 GB | 64 | 2,000 | 6,707,200 | 8,384,000 |
| polar.mysql.g8.medium.c | 2 cores, 16 GB | 64 | 6,000 | 6,707,200 | 8,384,000 |
| polar.mysql.g2.large.c | 4 cores, 8 GB | 64 | 3,000 | 6,707,200 | 8,384,000 |
| polar.mysql.g4.large.c | 4 cores, 16 GB | 64 | 6,000 | 6,707,200 | 8,384,000 |
| polar.mysql.g8.large.c | 4 cores, 32 GB | 64 | 10,000 | 6,707,200 | 8,384,000 |
| polar.mysql.g2.xlarge.c | 8 cores, 16 GB | 64 | 6,000 | 6,707,200 | 8,384,000 |
| polar.mysql.g4.xlarge.c | 8 cores, 32 GB | 64 | 10,000 | 6,707,200 | 8,384,000 |
| polar.mysql.g8.xlarge.c | 8 cores, 64 GB | 64 | 16,000 | 6,707,200 | 8,384,000 |
| polar.mysql.g2.2xlarge.c | 16 cores, 32 GB | 64 | 10,000 | 6,707,200 | 8,384,000 |
| polar.mysql.g4.2xlarge.c | 16 cores, 64 GB | 64 | 16,000 | 6,707,200 | 8,384,000 |
| polar.mysql.g8.2xlarge.c | 16 cores, 128 GB | 64 | 16,000 | 6,707,200 | 8,384,000 |
X86 — Dedicated
| Specification code | CPU and memory | Max storage (TB) | Default max connections<sup>1</sup> | Max inodes<sup>2</sup> | Max blktags<sup>3</sup> |
|---|---|---|---|---|---|
| polar.mysql.x4.medium.c | 2 cores, 8 GB | 64 | 6,000 | 6,707,200 | 8,384,000 |
| polar.mysql.x8.medium.c | 2 cores, 16 GB | 64 | 8,000 | 6,707,200 | 8,384,000 |
| polar.mysql.x2.large.c | 4 cores, 8 GB | 64 | 6,000 | 6,707,200 | 8,384,000 |
| polar.mysql.x4.large.c | 4 cores, 16 GB | 64 | 8,000 | 6,707,200 | 8,384,000 |
| polar.mysql.x8.large.c | 4 cores, 32 GB | 64 | 8,000 | 6,707,200 | 8,384,000 |
| polar.mysql.x2.xlarge.c | 8 cores, 16 GB | 64 | 8,000 | 6,707,200 | 8,384,000 |
| polar.mysql.x4.xlarge.c | 8 cores, 32 GB | 64 | 10,000 | 6,707,200 | 8,384,000 |
| polar.mysql.x8.xlarge.c | 8 cores, 64 GB | 64 | 16,000 | 6,707,200 | 8,384,000 |
| polar.mysql.x2.2xlarge.c | 16 cores, 32 GB | 64 | 10,000 | 6,707,200 | 8,384,000 |
| polar.mysql.x4.2xlarge.c | 16 cores, 64 GB | 64 | 32,000 | 6,707,200 | 8,384,000 |
| polar.mysql.x8.2xlarge.c | 16 cores, 128 GB | 64 | 32,000 | 6,707,200 | 8,384,000 |
| polar.mysql.x2.4xlarge.c | 32 cores, 64 GB | 64 | 32,000 | 6,707,200 | 8,384,000 |
| polar.mysql.x4.4xlarge.c | 32 cores, 128 GB | 64 | 64,000 | 104,857,600 | 131,072,000 |
| polar.mysql.x8.4xlarge.c | 32 cores, 256 GB | 64 | 64,000 | 104,857,600 | 131,072,000 |
| polar.mysql.x4.8xlarge.c | 64 cores, 256 GB | 64 | 64,000 | 104,857,600 | 131,072,000 |
| polar.mysql.x8.8xlarge.c | 64 cores, 512 GB | 64 | 64,000 | 104,857,600 | 131,072,000 |
YiTian ARM — General-purpose
| Specification code | CPU and memory | Max storage (TB) | Default max connections<sup>1</sup> | Max inodes<sup>2</sup> | Max blktags<sup>3</sup> |
|---|---|---|---|---|---|
| polar.mysql.g1m.tiny.c | 1 core, 1 GB | 64 | 1,000 | 6,707,200 | 8,384,000 |
| polar.mysql.g1m.small.c | 1 core, 2 GB | 64 | 2,000 | 6,707,200 | 8,384,000 |
| polar.mysql.g2m.small.c | 2 cores, 4 GB | 64 | 2,000 | 6,707,200 | 8,384,000 |
| polar.mysql.g4m.medium.c | 2 cores, 8 GB | 64 | 2,000 | 6,707,200 | 8,384,000 |
| polar.mysql.g8m.medium.c | 2 cores, 16 GB | 64 | 6,000 | 6,707,200 | 8,384,000 |
| polar.mysql.g2m.large.c | 4 cores, 8 GB | 64 | 3,000 | 6,707,200 | 8,384,000 |
| polar.mysql.g4m.large.c | 4 cores, 16 GB | 64 | 6,000 | 6,707,200 | 8,384,000 |
| polar.mysql.g8m.large.c | 4 cores, 32 GB | 64 | 10,000 | 6,707,200 | 8,384,000 |
| polar.mysql.g2m.xlarge.c | 8 cores, 16 GB | 64 | 6,000 | 6,707,200 | 8,384,000 |
| polar.mysql.g4m.xlarge.c | 8 cores, 32 GB | 64 | 10,000 | 6,707,200 | 8,384,000 |
| polar.mysql.g8m.xlarge.c | 8 cores, 64 GB | 64 | 16,000 | 6,707,200 | 8,384,000 |
| polar.mysql.g2m.2xlarge.c | 16 cores, 32 GB | 64 | 10,000 | 6,707,200 | 8,384,000 |
| polar.mysql.g4m.2xlarge.c | 16 cores, 64 GB | 64 | 16,000 | 6,707,200 | 8,384,000 |
| polar.mysql.g8m.2xlarge.c | 16 cores, 128 GB | 64 | 16,000 | 6,707,200 | 8,384,000 |
YiTian ARM — Dedicated
| Specification code | CPU and memory | Max storage (TB) | Default max connections<sup>1</sup> | Max inodes<sup>2</sup> | Max blktags<sup>3</sup> |
|---|---|---|---|---|---|
| polar.mysql.x4m.medium.c | 2 cores, 8 GB | 64 | 6,000 | 6,707,200 | 8,384,000 |
| polar.mysql.x8m.medium.c | 2 cores, 16 GB | 64 | 8,000 | 6,707,200 | 8,384,000 |
| polar.mysql.x2m.large.c | 4 cores, 8 GB | 64 | 6,000 | 6,707,200 | 8,384,000 |
| polar.mysql.x4m.large.c | 4 cores, 16 GB | 64 | 8,000 | 6,707,200 | 8,384,000 |
| polar.mysql.x8m.large.c | 4 cores, 32 GB | 64 | 8,000 | 6,707,200 | 8,384,000 |
| polar.mysql.x2m.xlarge.c | 8 cores, 16 GB | 64 | 8,000 | 6,707,200 | 8,384,000 |
| polar.mysql.x4m.xlarge.c | 8 cores, 32 GB | 64 | 10,000 | 6,707,200 | 8,384,000 |
| polar.mysql.x8m.xlarge.c | 8 cores, 64 GB | 64 | 16,000 | 6,707,200 | 8,384,000 |
| polar.mysql.x2m.2xlarge.c | 16 cores, 32 GB | 64 | 10,000 | 6,707,200 | 8,384,000 |
| polar.mysql.x4m.2xlarge.c | 16 cores, 64 GB | 64 | 32,000 | 6,707,200 | 8,384,000 |
| polar.mysql.x8m.2xlarge.c | 16 cores, 128 GB | 64 | 32,000 | 6,707,200 | 8,384,000 |
| polar.mysql.x2m.4xlarge.c | 32 cores, 64 GB | 64 | 32,000 | 6,707,200 | 8,384,000 |
| polar.mysql.x4m.4xlarge.c | 32 cores, 128 GB | 64 | 64,000 | 6,707,200 | 8,384,000 |
| polar.mysql.x8m.4xlarge.c | 32 cores, 256 GB | 64 | 64,000 | 6,707,200 | 8,384,000 |
PSL4/PSL5
YiTian ARM architecture does not support PSL4 or PSL5.
PSL4/PSL5 specifications support up to 100 TB of storage for most nodes, and up to 500 TB for x4.4xlarge and larger. IOPS and I/O bandwidth scale linearly with the number of nodes — each node gets its own independent storage allocation.
X86 — General-purpose
| Specification code | CPU and memory | Max storage (TB) | Default max connections<sup>1</sup> | Max inodes<sup>2</sup> | Max blktags<sup>3</sup> | Max PSL4 IOPS<sup>4</sup> | Max PSL5 IOPS<sup>4</sup> | I/O bandwidth |
|---|---|---|---|---|---|---|---|---|
| polar.mysql.g1.tiny.c | 1 core, 1 GB | 100 | 1,000 | 20,971,520 | 26,214,400 | 1,500 | 3,000 | 1 Gbps |
| polar.mysql.g1.small.c | 1 core, 2 GB | 100 | 1,500 | 20,971,520 | 26,214,400 | 1,700 | 3,400 | 1 Gbps |
| polar.mysql.g2.small.c | 2 cores, 4 GB | 100 | 1,800 | 20,971,520 | 26,214,400 | 4,000 | 8,000 | 1 Gbps |
| polar.mysql.g4.medium.c | 2 cores, 8 GB | 100 | 2,000 | 20,971,520 | 26,214,400 | 8,000 | 16,000 | 1 Gbps |
| polar.mysql.g8.medium.c | 2 cores, 16 GB | 100 | 8,000 | 20,971,520 | 26,214,400 | 8,000 | 16,000 | 2 Gbps |
| polar.mysql.g2.large.c | 4 cores, 8 GB | 100 | 3,000 | 20,971,520 | 26,214,400 | 15,000 | 30,000 | 2 Gbps |
| polar.mysql.g4.large.c | 4 cores, 16 GB | 100 | 6,000 | 20,971,520 | 26,214,400 | 21,000 | 42,000 | 2 Gbps |
| polar.mysql.g8.large.c | 4 cores, 32 GB | 100 | 8,000 | 20,971,520 | 26,214,400 | 21,000 | 42,000 | 4 Gbps |
| polar.mysql.g2.xlarge.c | 8 cores, 16 GB | 100 | 6,000 | 20,971,520 | 26,214,400 | 24,000 | 48,000 | 2 Gbps |
| polar.mysql.g4.xlarge.c | 8 cores, 32 GB | 100 | 10,000 | 20,971,520 | 26,214,400 | 27,000 | 54,000 | 4 Gbps |
| polar.mysql.g8.xlarge.c | 8 cores, 64 GB | 100 | 16,000 | 20,971,520 | 26,214,400 | 27,000 | 54,000 | 10 Gbps |
| polar.mysql.g2.2xlarge.c | 16 cores, 32 GB | 100 | 16,000 | 20,971,520 | 26,214,400 | 31,500 | 63,000 | 4 Gbps |
| polar.mysql.g4.2xlarge.c | 16 cores, 64 GB | 100 | 16,000 | 20,971,520 | 26,214,400 | 31,500 | 63,000 | 4 Gbps |
| polar.mysql.g8.2xlarge.c | 16 cores, 128 GB | 100 | 16,000 | 20,971,520 | 26,214,400 | 31,500 | 63,000 | 8 Gbps |
X86 — Dedicated
| Specification code | CPU and memory | Max storage (TB) | Default max connections<sup>1</sup> | Max inodes<sup>2</sup> | Max blktags<sup>3</sup> | Max PSL4 IOPS<sup>4</sup> | Max PSL5 IOPS<sup>4</sup> | I/O bandwidth |
|---|---|---|---|---|---|---|---|---|
| polar.mysql.x4.medium.c | 2 cores, 8 GB | 100 | 6,000 | 20,971,520 | 26,214,400 | 8,000 | 16,000 | 1 Gbps |
| polar.mysql.x8.medium.c | 2 cores, 16 GB | 100 | 8,000 | 20,971,520 | 26,214,400 | 18,000 | 36,000 | 2 Gbps |
| polar.mysql.x2.large.c | 4 cores, 8 GB | 100 | 3,000 | 20,971,520 | 26,214,400 | 32,000 | 64,000 | 2 Gbps |
| polar.mysql.x4.large.c | 4 cores, 16 GB | 100 | 8,000 | 20,971,520 | 26,214,400 | 32,000 | 64,000 | 4 Gbps |
| polar.mysql.x8.large.c | 4 cores, 32 GB | 100 | 8,000 | 20,971,520 | 26,214,400 | 36,000 | 72,000 | 4 Gbps |
| polar.mysql.x2.xlarge.c | 8 cores, 16 GB | 100 | 6,000 | 20,971,520 | 26,214,400 | 48,000 | 96,000 | 2 Gbps |
| polar.mysql.x4.xlarge.c | 8 cores, 32 GB | 100 | 10,000 | 20,971,520 | 26,214,400 | 48,000 | 96,000 | 8 Gbps |
| polar.mysql.x8.xlarge.c | 8 cores, 64 GB | 100 | 16,000 | 20,971,520 | 26,214,400 | 50,000 | 108,000 | 10 Gbps |
| polar.mysql.x2.2xlarge.c | 16 cores, 32 GB | 100 | 16,000 | 20,971,520 | 26,214,400 | 50,000 | 192,000 | 4 Gbps |
| polar.mysql.x4.2xlarge.c | 16 cores, 64 GB | 100 | 32,000 | 20,971,520 | 26,214,400 | 50,000 | 192,000 | 16 Gbps |
| polar.mysql.x8.2xlarge.c | 16 cores, 128 GB | 100 | 32,000 | 20,971,520 | 26,214,400 | 50,000 | 192,000 | 16 Gbps |
| polar.mysql.x2.4xlarge.c | 32 cores, 64 GB | 100 | 32,000 | 20,971,520 | 26,214,400 | 80,000 | 288,000 | 16 Gbps |
| polar.mysql.x4.4xlarge.c | 32 cores, 128 GB | 500 | 64,000 | 104,857,600 | 131,072,000 | 80,000 | 288,000 | 20 Gbps |
| polar.mysql.x8.4xlarge.c | 32 cores, 256 GB | 500 | 64,000 | 104,857,600 | 131,072,000 | 80,000 | 288,000 | 24 Gbps |
| polar.mysql.x4.8xlarge.c | 64 cores, 256 GB | 500 | 64,000 | 104,857,600 | 131,072,000 | 100,000 | 288,000 | 24 Gbps |
| polar.mysql.x8.8xlarge.c | 64 cores, 512 GB | 500 | 100,000 | 104,857,600 | 131,072,000 | 100,000 | 288,000 | 24 Gbps |
ESSD IOPS and throughput<sup>4</sup>
IOPS and throughput are per storage class, shared across all nodes in the cluster. The maximum IOPS and throughput are theoretical maximums. Actual values are not guaranteed and are typically limited by the purchased disk space.
| Storage class | Max IOPS | Max throughput |
|---|---|---|
| PL0 ESSD | 10,000 | 180 MB/s |
| PL1 ESSD | 50,000 | 350 MB/s |
| PL2 ESSD | 100,000 | 750 MB/s |
| PL3 ESSD | 1,000,000 | 4,000 MB/s |
| ESSD AutoPL disk | 100,000 | 1,131 MB/s |
Example: A cluster with 8-core, 32 GB Dedicated nodes using PL1 ESSD with one read/write node and three read-only nodes: all four nodes together cannot exceed 50,000 IOPS or 350 MB/s.
The initial IOPS of an ESSD AutoPL disk is 50,000. Configure Provisioned IOPS for AutoPL Disk when purchasing to increase the limit up to 100,000 IOPS.
For ESSD disk performance details, see ESSD disks and ESSD AutoPL disks.
PSL4/PSL5 IOPS scaling<sup>4</sup>
For PSL4/PSL5 clusters, each node has independent storage — IOPS and I/O bandwidth do not compete between nodes. Total cluster performance scales with node count.
Example: A Dedicated cluster with 8-core, 32 GB nodes using PSL5, with one read/write node and three read-only nodes: each node gets 96,000 IOPS and 8 Gbps independently, giving the cluster a total of 4 × 96,000 IOPS and 4 × 8 Gbps.
The maximum IOPS is a theoretical value. Actual values are not guaranteed.
PolarStore (PSL4/PSL5) supports petabyte-level storage. To reserve petabyte-level capacity, contact us.
Usage notes
<sup>1</sup> Maximum connections
The values in the tables are defaults. To increase the limit, set the max_connections parameter in the console. The valid range is 1 to 200,000. For details, see Set cluster parameters.
<sup>2</sup> <sup>3</sup> Inodes and blktags
PolarDB accesses underlying storage through PolarFileSystem (PolarFS), a distributed file system developed by Alibaba Cloud. PolarFS uses inodes and blktags as storage units:
An inode represents one file.
A blktag represents 4 MB of logical space on block storage.
Both counts scale linearly with disk capacity. A 10 GB disk supports up to 2,048 inodes and 2,560 blktags. If capacity, inode count, or blktag count reaches the upper limit, upgrade the disk specifications.
For ESSD-backed clusters, the ESSD storage layer also uses inodes and blktags, following the same linear relationship with disk capacity.
Capacity unit conversions:
1 TB = 1,024 GB
1 GB = 1,024 MB
1 MB = 1,024 KB
1 KB = 1,024 Bytes