I want my Amazon Elastic Block Store (Amazon EBS) Provisioned IOPS volumes to deliver expected levels of input/output performance on a consistent basis. How can I set this up?

The performance of Provisioned IOPS SSD (io1) Volumes depends on several factors, including set-up, workload, the I/O throughput, the use of snapshots, the queue length, and EBS optimization. For more information, see Amazon EBS Product Details.

To improve the performance for your Provisioned IOPS (SSD) volumes, follow these recommendations:

  • Initialize your restored EBS volumes. While new EBS volumes do not require initialization (pre-warming), storage blocks on volumes restored from snapshots must be initialized before you can access them. For more information, see Initializing Amazon EBS Volumes.
  • Confirm the workload demand, average queue length, and IOPS rate. Match the workload demand on the volume to the IOPS that you provisioned. If I/O latency is high, check the average queue length to be sure that your application is not trying to drive more IOPS than you provisioned. If the IOPS is higher than what you provisioned, consider using a Provisioned IOPS (SSD) volume with more provisioned IOPS. For more information, see Amazon EC2 Instance Configuration and I/O Characteristics and Monitoring.
  • Check the I/O characteristics. The size of I/O operations affects IOPS. For example, if the I/O chunks are very large, you might get fewer IOPS than you provisioned because of the 500 MiB/s per volume throughput limit. For more information, see I/O Characteristics and Monitoring and Provisioned IOPS SSD (io1) Volumes. If your I/O size is consistently large, consider joining multiple Provisioned IOPS (SSD) volumes together in a RAID 0 configuration to increase available throughput. For more information, see RAID Configuration on Linux.
  • Review your use of EBS snapshots. EBS snapshots provide enhanced data durability, and it's best practice to consider your snapshot frequency and retention settings to avoid incurring unnecessary EBS snapshot charges. For more information, see AWS Ops Automator.
  • Use Amazon CloudWach to analyze and view EBS performance metrics. The CloudWatch console shows status checks to help monitor the health of your volumes. Volumes should maintain an average queue length of one per minute (rounded up to the nearest whole number) for every 500 provisioned IOPS. Use the CloudWatch metric volumequeuelength to determine average queue length. For more information, see Monitoring Volumes with CloudWatch.
  • Follow AWS Trusted Advisor performance best practices. Run the Amazon EBS Provisioned IOPS (SSD) Volume Attachment Configuration check to find Provisioned IOPS (SSD) volumes that are attached to an EC2 instance which is not EBS-optimized. Provisioned IOPS volumes deliver expected performance only when they are attached to an EBS-optimized instance. Be sure that the EBS-optimized instance type supports enough IOPS and throughput for all the attached EBS volumes. For more information, see Amazon EBS–optimized Instances.
  • Test the performance of your Provisioned IOPS (SSD) volume. Simulate workloads that are similar to your application. For more information, see Benchmark EBS Volumes.

Did this page help you? Yes | No

Back to the AWS Support Knowledge Center

Need help? Visit the AWS Support Center.

Published: 2015-03-31

Updated: 2018-03-22