PolarDB for MySQL Standard Edition compute nodes are available in two families — general-purpose and dedicated — across X86 and YiTian ARM architectures. Performance metrics vary by storage class (ESSD or PSL4/PSL5).
Choose a family
Family | 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
X86 — General-purpose
Specification code | CPU and memory | Max storage (TB) | Default max connections1 | Max inodes2 | Max blktags3 |
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 connections1 | Max inodes2 | Max blktags3 |
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 connections1 | Max inodes2 | Max blktags3 |
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 connections1 | Max inodes2 | Max blktags3 |
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.
X86 — General-purpose
Specification code | CPU and memory | Max storage (TB) | Default max connections1 | Max inodes2 | Max blktags3 | Max PSL4 IOPS4 | Max PSL5 IOPS4 | 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 connections1 | Max inodes2 | Max blktags3 | Max PSL4 IOPS4 | Max PSL5 IOPS4 | 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 |
In a PSL4/PSL5 cluster, each sub-cluster has its own independent storage allocation and does not interfere with the others.
For example, if the purchased cluster storage spec is 96,000 IOPS and 8 Gbps, then with one read/write node and three read-only nodes forming four sub-clusters, each sub-cluster has its own 96,000 IOPS and 8 Gbps bandwidth, independent of the others.
PolarStore (PSL4/PSL5) supports petabyte-level storage. To reserve such capacity, Contact us.
Max IOPS4
The maximum IOPS is a theoretical value. Actual values are not guaranteed under all conditions.
ESSD IOPS and throughput
The maximum IOPS and throughput of an ESSD disk are determined by the disk class (PL0/PL1/PL2/PL3/AutoPL) and the purchased disk capacity, not by the compute node specification (CPU and memory). To get higher IOPS, choose a higher PL class, purchase more capacity, or upgrade the AutoPL provisioned IOPS. In contrast, PSL4/PSL5 maximum IOPS scales linearly with the node specification. The maximum IOPS and throughput per ESSD class are listed below.
The values in the table are the peak performance per class. Actual ESSD IOPS and throughput scale linearly with the purchased disk capacity; the table values are reached only when the disk is large enough. Use the formulas below to convert capacity to actual performance.
For ESSD AutoPL disks, you can configure Provisioned IOPS of AutoPL Disks at purchase time, or Change ESSD performance, to raise the IOPS ceiling up to a total of 100,000.
For ESSD disk performance details, see ESSDs and ESSD AutoPL disks.
Disk class | IOPS formula | Max IOPS | Throughput formula (MB/s) | Max throughput |
ESSD PL0 | min{1800+12*capacity, 10000} | 10,000 | min{100+0.25*capacity, 180} | 180 MB/s |
ESSD PL1 | min{1800+50*capacity, 50000} | 50,000 | min{120+0.5*capacity, 350} | 350 MB/s |
ESSD PL2 | min{1800+50*capacity, 100000} | 100,000 | min{120+0.5*capacity, 750} | 750 MB/s |
ESSD PL3 | min{1800+50*capacity, 1000000} | 1,000,000 | min{120+0.5*capacity, 4000} | 4,000 MB/s |
ESSD AutoPL |
| 100,000 |
| 1,131 MB/s |
Usage notes
1 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.
2 3 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