All Products
Search
Document Center

Elastic Compute Service:Storage I/O performance

Last Updated:Jul 26, 2024

Storage I/O performance refers to the speed and efficiency with which cloud disks handle read and write requests. Storage I/O performance metrics are important indicators of how well your storage devices perform and handle data transfers. Elastic Compute Service (ECS) storage I/O performance is the performance that can be delivered by ECS instances of different instance types to which cloud disks are attached. Storage I/O performance metrics include IOPS, throughput, and access latency. This topic describes the relationships between ECS instance types and storage I/O performance.

Note

Storage I/O performance does not apply to local disks.

I/O size

I/O size is the size of data in each read/write operation. Example: 4 KiB. When you design the underlying storage architecture or select an instance type, you must consider metrics such as IOPS, I/O size, and throughput. You can use the following formula to calculate throughput based on the I/O size and the IOPS: IOPS × I/O size = Throughput. For information about IOPS and throughput, see Block storage performance.

You can choose an optimal combination of Elastic Block Storage devices and instance types based on the I/O request characteristics of applications.

  • For applications that require a large I/O size, such as offline analysis applications and data warehouses, we recommend that you choose big data instance families that deliver high throughput.

  • For applications that require latency-sensitive, small, random I/O operations, such as online transaction processing (OLTP) databases and enterprise-level applications like SAP, we recommend that you choose Enterprise SSDs (ESSDs) and standard SSDs that deliver high IOPS.

Storage I/O performance of instances

Specific new-generation enterprise-level instance families provide storage I/O performance isolation. Each ECS instance of the instance families is allocated dedicated storage bandwidth, which is isolated from other instances, and can provide consistent storage I/O performance even during peak hours. If your business applications require consistent storage I/O performance, such as large database systems like Oracle and MySQL and enterprise-level applications like Enterprise Resource Planning (ERP) and Customer Relationship Management (CRM), we recommend that you use instances of the new-generation, enterprise-level instance families.

For information about ECS instance families, see Overview of instance families.

Relationship between instance types and storage I/O performance

The storage I/O performance of ECS instances varies based on the instance families, instance types, and attached cloud disks. The storage I/O performance of an instance varies based on the instance specifications. A higher-specification instance type can deliver higher storage I/O performance (IOPS and throughput). When you are familiar with the relationship between instance storage I/O performance and cloud disk storage I/O performance, you can choose suitable instance types and block storage devices based on the performance specifications to prevent performance bottlenecks caused by improper configurations.

IOPS of instances

After you create an instance and attach cloud disks to the instance, the maximum storage I/O performance of the instance is limited to the maximum storage I/O performance of the instance type or the cloud disks.

实例与存储IO性能

  • Scenario 1: If the total maximum storage I/O performance of the cloud disks exceeds the maximum storage I/O performance of the instance type, the maximum storage I/O performance of the instance is limited to the maximum storage I/O performance of the instance type. When multiple cloud disks are attached to an instance, the storage I/O performance of each cloud disk dynamically changes as the cloud disks contend for I/O resources. Examples:

    • Example 1: Alex creates an instance of the ecs.g7se.xlarge instance type that has 16 GiB of memory and can deliver up to 60,000 IOPS. Alex attaches a PL2 ESSD (ESSD at performance level 2) to the instance. The ESSD has a capacity of 2,000 GiB and can deliver up to 100,000 IOPS. The maximum IOPS of the instance is limited by the maximum IOPS of the instance type to 60,000.

    • Example 2: Alex creates an instance of the ecs.g7se.4xlarge instance type that has 64 GiB of memory and can deliver up to 150,000 IOPS. Alex attaches three PL2 ESSDs to the instance. Each of the ESSDs has a capacity of 2,000 GiB and can deliver up to 100,000 IOPS. The total maximum IOPS of the ESSDs is 300,000. The maximum IOPS of the instance is limited by the maximum IOPS of the instance type to 150,000.

  • Scenario 2: If the total maximum storage I/O performance of the cloud disks does not exceed the maximum storage I/O performance of the instance type, the maximum storage I/O performance of the instance is limited to the total maximum storage I/O performance of the cloud disks. Examples:

    Alex creates an instance of the ecs.g7se.4xlarge instance type that has 64 GiB of memory and can deliver up to 150,000 IOPS. Alex attaches a PL3 ESSD to the instance. Each of the ESSDs has a capacity of 2,000 GiB and can deliver up to 101,800 IOPS. The maximum IOPS of the instance is limited by the maximum IOPS of the ESSD to 101,800.

Burst IOPS and burst storage bandwidths of instances

Instances of specific small 7th- or later-generation instance types can burst beyond the IOPS and storage bandwidth baselines. After you create an instance of the instance types and attach cloud disks to the instance, the maximum burst IOPS and burst storage bandwidth of the preceding instance vary based on the instance type and the credit balance as described in the following section:

  • Burst IOPS of an instance

    • Metrics: indicate the limits of an instance type on the storage I/O performance of cloud disks.

      • Baseline IOPS: the maximum IOPS that an instance type can consistently support for cloud disks in compliance with a service level agreement (SLA) commitment.

      • Burst IOPS: the IOPS that an instance type can burst to. The burst IOPS is time-limited and varies based on the amount of I/O resources that an instance provides. No SLA commitments are made for burst IOPS. If an instance provides sufficient I/O resources and the cloud disks attached to the instance sustain the highest burst performance supported by the instance type, the default maximum burst duration supported by the instance type varies based on the instance size.

        • large: 5 minutes

        • xlarge: 10 minutes

        • 2xlarge: 20 minutes

        • 3xlarge: 30 minutes

        • 4xlarge: 40 minutes

    • Formulas: When the actual IOPS of an instance falls below the baseline IOPS of the instance type, the instance starts to accrue credits and can spend credits to burst beyond the performance baseline at any time. The burst duration of an instance is calculated based on the credit balance. An instance has a relatively long burst duration when the actual storage I/O performance is lower than the maximum burst performance. The following formulas are used to calculate the maximum credit balance that is supported by an instance type and the actual burst duration of an instance of the instance type:

      • Maximum credit balance = (Maximum burst IOPS - Baseline IOPS) × Maximum burst duration

      • Actual burst duration = Maximum credit balance/(Current IOPS - Baseline IOPS)

    • For example, a cloud disk that can deliver up to 50,000 IOPS is attached to an instance of an ecs.g7 instance type. The following table describes the baseline IOPS, maximum burst IOPS, and burst duration of the cloud disk on the instance.

      Instance type

      Baseline IOPS of the cloud disk

      Maximum burst IOPS of the cloud disk

      Maximum burst duration of the cloud disk (in minutes)

      Maximum credit balance of the cloud disk

      Actual burst duration of the cloud disk (in minutes)

      ecs.g7.large

      20,000

      160,000

      5

      (16 - 2) × 5 = 70

      70/(5 - 2) = 23

      ecs.g7.xlarge

      40,000

      160,000

      10

      (16 - 4) × 10 = 120

      120/(5 - 4) = 120

      ecs.g7.2xlarge

      50,000

      160,000

      20

      (16 - 5) × 20 = 220

      The performance of the cloud disk is equal to the baseline performance of the disk and does not need to burst.

      ecs.g7.3xlarge

      70,000

      160,000

      30

      (16 - 7) × 30 = 270

      The performance of the cloud disk is lower than its baseline performance and does not need to burst.

      ecs.g7.4xlarge

      80,000

      160,000

      40

      (16 - 8) × 40 = 320

      The performance of the cloud disk is lower than its baseline performance and does not need to burst.

      For information about ecs.g7 instance types, see g7, general-purpose instance family.

  • Burst storage bandwidth of an instance

    • Metrics: indicate the limits of an instance type on the storage bandwidths of cloud disks.

      • Baseline storage bandwidth: the maximum storage bandwidth that an instance type can consistently support for cloud disks in compliance with an SLA commitment.

      • Burst bandwidth: the storage bandwidth that an instance type can burst to. The burst storage bandwidth is time-limited and varies based on the amount of storage bandwidth resources that an instance provides. No SLA commitments are made for burst bandwidth. If an instance provides sufficient storage bandwidth resources and cloud disks attached to the instance sustain the highest burst performance supported by the instance type, the default maximum burst duration supported by the instance type varies based on the instance size.

        • large: 5 minutes

        • xlarge: 10 minutes

        • 2xlarge: 20 minutes

        • 3xlarge: 30 minutes

        • 4xlarge: 40 minutes

    • Formulas: The burst duration of an instance is calculated based on the credit balance. An instance has a relatively long burst duration when the actual storage I/O performance is lower than the maximum burst performance. The following formulas are used to calculate the maximum credit balance that is supported by an instance type and the actual burst duration of an instance of the instance type:

      • Maximum credit balance = (Maximum burst storage bandwidth - Baseline storage bandwidth) × Maximum burst duration

      • Actual burst duration = Maximum credit balance/(Current storage bandwidth - Baseline storage bandwidth)

    • For example, cloud disk that can deliver up to 3 Gbit/s of bandwidth is attached to an instance of an ecs.g7 instance type. The following table describes the baseline bandwidth, maximum burst bandwidth, and burst duration of the cloud disk on the instance.

      Instance type

      Baseline bandwidth of the cloud disk (Gbit/s)

      Maximum burst bandwidth of the cloud disk (Gbit/s)

      Maximum burst duration of the cloud disk (in minutes)

      Maximum credit balance of the cloud disk

      Actual burst duration of the cloud disk (in minutes)

      ecs.g7.large

      1.5

      6

      5

      (6 - 1.5) × 5 = 22.5

      22.5/(3 - 1.5) = 15

      ecs.g7.xlarge

      2

      6

      10

      (6 - 2) × 10 = 40

      40/(3 - 2) = 40

      ecs.g7.2xlarge

      3

      6

      20

      (6 - 3) × 20 = 60

      The performance of the cloud disk is equal to the baseline performance of the disk and does not need to burst.

      ecs.g7.3xlarge

      4

      6

      30

      (6 - 4) × 30 = 60

      The performance of the cloud disk is lower than the baseline performance of the disk and does not need to burst.

      ecs.g7.4xlarge

      5

      6

      40

      (6 - 5) × 40 = 40

      The performance of the cloud disk is lower than the baseline performance of the disk and does not need to burst.

      For information about ecs.g7 instance types, see g7, general-purpose instance family.