This topic provides an overview of primary ApsaraDB RDS instance types. The overview includes information about all instance types and their configurations.
When you create a primary RDS instance, you must select an instance type. For more information about how to select an instance type, see the following documentation:
ApsaraDB RDS also provides read-only RDS instances to enhance the read capability of your database. For more information about read-only RDS instances and their types, see the following documentation:
Instance types for primary RDS instances that run different database engines
Database engine | Product type | Storage type | Reference |
ApsaraDB RDS for MySQL | Standard and YiTian | Cloud disks and local disks | |
ApsaraDB RDS for SQL Server | N/A | Cloud disks | Instance types for primary ApsaraDB RDS for SQL Server instances |
ApsaraDB RDS for PostgreSQL | Standard and YiTian | Cloud disks | Instance types for primary ApsaraDB RDS for PostgreSQL instances |
ApsaraDB RDS for MariaDB | Standard | Cloud disks |
IOPS
The maximum IOPS of an RDS instance that uses local disks is determined solely by its instance type, and the maximum IOPS of an RDS instance that uses cloud disks is determined by its instance type and storage capacity. The following table describes the formulas that are used to calculate the maximum IOPS of an RDS instance equipped with cloud disks.
If the throughput of an RDS instance reaches the upper limit, the maximum IOPS of the RDS instance may not be delivered.
Storage type | ESSD | Standard SSD | ||
PL | PL3 | PL2 | PL1 | N/A |
Formula (Unit for storage capacity: GB) | min{1800 + 50 × Storage capacity, 1000000, Maximum IOPS for the instance type} | min{1800 + 50 × Storage capacity, 100000, Maximum IOPS for the instance type} | min{1800 + 50 × Storage capacity, 50000, Maximum IOPS for the instance type} | min{1800 + 30 × Storage capacity, 25000, Maximum IOPS for the instance type} |
Take min{1800 + 50 × Storage capacity, 50000, Maximum IOPS for the instance type}
as an example of how to calculate the maximum IOPS for an instance equipped with an enhanced SSD (ESSD) of performance level 1 (PL1). The following section explains the values and their roles in the formula:
min: a function that compares the values within the brackets and returns the smallest value.
1800 + 50 × Storage capacity: the baseline IOPS that is supported by the equipped ESSD.
50000: the maximum IOPS that is supported by the equipped ESSD. In this example, a PL1 ESSD is used. The maximum IOPS varies based on the storage type and its PL. For more information, see ESSDs.
Maximum IOPS for the instance type: the maximum IOPS that is supported by the instance type of the Elastic Compute Service (ECS) instance on which the RDS instance is deployed. For more information about the maximum IOPS for each instance type, see Instance types for primary RDS instances that run different database engines.
For more information about the performance of cloud disks, see EBS performance.
The maximum IOPS equals the smallest of the three values stated in the preceding list. In the following examples, two RDS instances equipped with PL1 ESSDs are used. They are both of the mysql.x2.large.2c instance type that provides a maximum IOPS of 20,000.
The first RDS instance has a storage capacity of 20 GB. According to the formula provided in the preceding section, the baseline IOPS is calculated as 1800 + 50 × 20 = 2800. The three IOPS values are 2,800, 50,000, and 20,000, among which 2,800 is the smallest value. Therefore, the maximum IOPS of the RDS instance is 2,800.
The second RDS instance has a storage capacity of 6,000 GB. According to the formula provided in the preceding section, the baseline IOPS is calculated as 1800 + 50 × 6000 = 301800. The three IOPS values are 301,800, 50,000, and 20,000, among which 20,000 is the smallest value. Therefore, the maximum IOPS of the RDS instance is 20,000.
If the maximum I/O bandwidth of the RDS instance is reached, the RDS instance may fail to deliver the maximum IOPS.
The baseline IOPS of an ECS cloud disk allows you to read and write 4 KB of data per second. The default IOPS that is supported by MySQL allows you to read and write 16 KB of data. Therefore, each read/write operation on MySQL consumes four I/O.
In the specification tables that are provided in this topic, if the maximum IOPS and maximum I/O bandwidth (measured in Mbit/s) for an instance type are marked as None, ApsaraDB RDS allows multiple instances of the instance type to preempt resources. In this case, the IOPS is not limited.
Maximum throughput for cloud disks
The following table describes the formulas that are used to calculate the maximum IOPS of RDS instances equipped with cloud disks.
If the IOPS of an RDS instance reaches the upper limit, the maximum throughput of the RDS instance may not be delivered.
Storage type | ESSD | Standard SSD | ||
PL | PL3 | PL2 | PL1 | N/A |
Formula (Unit for throughput: Mbit/s. Unit for storage capacity: GB) | min{120 + 0.5 × Storage capacity, 4000, Maximum I/O bandwidth for the instance type} | min{120 + 0.5 × Storage capacity, 750, Maximum I/O bandwidth for the instance type} | min{120 + 0.5 × Storage capacity, 350, Maximum I/O bandwidth for the instance type} | min{120 + 0.5 × Storage capacity, 300, Maximum I/O bandwidth for the instance type} |
Take min{120 + 0.5 × Storage capacity, 350, Maximum I/O bandwidth for the instance type}
as an example of how to calculate the maximum throughput for an RDS instance equipped with a PL1 ESSD.
120 + 0.5 × Storage capacity: the baseline throughput that is supported by the equipped ESSD.
350: the maximum throughput that is supported by the equipped ESSD. In this example, a PL1 ESSD is used. For more information about cloud disks of various PLs, see ESSDs.
Maximum I/O bandwidth for the instance type: the maximum throughput that is supported by the instance type of the ECS instance on which the RDS instance is deployed. For more information about the maximum I/O bandwidth of each instance type, see Primary ApsaraDB RDS for MySQL instance types (x86).
NoteInformation about the maximum I/O bandwidth for each instance type is provided only for the MySQL engine.
The maximum throughput equals the smallest of the three values stated in the preceding list. In the following examples, two RDS instances equipped with PL3 ESSDs are used. They are both of the mysql.x2.large.2c instance type that provides a maximum throughput of 1,536 Mbit/s.
The first RDS instance has a storage capacity of 20 GB. In this example, the baseline throughput is 130 Mbit/s, which is the smallest throughput among the three throughput values in the formula. Therefore, the maximum throughput of the RDS instance is 130 Mbit/s.
The second RDS instance has a storage capacity of 5,000 GB. In this example, the baseline throughput is 2,620 Mbit/s, which is higher than the maximum I/O bandwidth for the instance type. Therefore, the maximum throughput of the RDS instance is 1,536 Mbit/s.
Maximum number of connections and maximum IOPS for different instance configurations
Whether an RDS instance can deliver its maximum IOPS varies across instance families. Some instance families guarantee the maximum IOPS while the others do not. The maximum number of connections is guaranteed by all instance families. The following table provides more information.
Category | Description | Maximum number of connections guaranteed | Maximum IOPS guaranteed |
Dedicated RDS instance with cloud disks | A dedicated RDS instance that is equipped with cloud disks exclusively enjoys the allocated CPU, memory, storage, and I/O resources. | Yes | Yes |
Dedicated host RDS instance | A dedicated RDS instance that is equipped with cloud disks exclusively enjoys the allocated CPU, memory, storage, and I/O resources. | Yes | Yes |
Dedicated RDS instance with local disks | A dedicated RDS instance that is equipped with local disks exclusively enjoys the allocated CPU and memory resources, but shares I/O resources with the other RDS instances that are deployed on the same physical host. | Yes | No |
General-purpose RDS instance | A general-purpose RDS instance exclusively enjoys the allocated memory resources, but shares CPU and I/O resources with the other RDS instances that are deployed on the same physical host. | Yes | No |
For more information, see Instance families.
FAQ
When the same number of cores and the same size of memory capacity are provided, Why does an entry-level RDS instance support a larger maximum number of connections and higher maximum IOPS than an enterprise-level RDS instance that has the same number of CPU cores and memory capacity?
An entry-level RDS instance belongs to the shared or general-purpose instance family, and an enterprise-level RDS instance belongs to the dedicated instance family. The shared and general-purpose instance families share CPU resources, which allows them to support a larger maximum number of connections and higher maximum IOPS than an enterprise-level RDS instance. However, an enterprise-level RDS instance provides a more reliable database performance because the dedicated instance family exclusively enjoys the vCPU and memory resources that are allocated to the instance. For more information, see Instance families.
How do I query the available resources that I can purchase?
You can call the DescribeAvailableResource operation to query the available resources in a region.
Why are the QPS and the TPS not provided in the documentation?
To obtain the queries per second (QPS) and the transactions per second (TPS) of an RDS instance, you must create objects on the RDS instance and perform tests. The QPS and TPS of an RDS instance vary based on the implementation method and the business system even though its instance type remains unchanged. For more information about how to test the QPS and TPS, see Test guidelines.