I want to troubleshoot my Amazon Elastic Block Store (Amazon EBS) volume’s performance on my Amazon Elastic Compute Cloud (Amazon EC2) instance.
Short description
The following are performance issues you might encounter on your EBS volume:
- Slow application performance
- Slow instance performance
- High data access times
- Read and write errors
- Disk not accessible or reporting as offline
- High disk input/output operations (IOPS), queue length, throughput, and latency
- Outdated drivers
Note: For best practices to achieve optimal volume performance, see the following:
Resolution
Step 1: Determine when performance issues occur
Determine the time frame when performance issues occur. Then, you can isolate that time period of EBS metrics to review in later troubleshooting steps. For example, performance might slow during peak business hours.
Step 2: Review EBS volume status checks
- Open the Amazon EC2 console.
- Select Volume. Note that the Volume status column displays the status of each volume.
- Choose the volume and then select the Status checks tab.
- If the volume is in an impaired status, then see Work with an impaired volume.
For more information, see Monitor the status of your volumes.
Step 3: Gather volume and instance information
Collect information about the volume, such as volume type, volume size, IOPS, and throughput limits. For more information, see the following:
Step 4: Gather CloudWatch metrics
Review the Amazon CloudWatch metrics for Amazon EBS. Note any spikes in the graphs. The following are the average performance calculations:
- Average IOPS = (Read operations (Ops/s) + Write operations (Ops/s))/ Period (in seconds)
- Average Throughput = (Read throughput (KiB/s) + Write throughput (KiB/s))/ Period (in seconds)
- Average queue length (Operations)
- Latency = (Average read latency (ms/op) + Average write latency (ms/op))/Period (in seconds)
- Average IO size = (Average read size (KiB/op) + Average write size (KiB/op))/ period (in seconds)
For more information, see Monitor I/O characteristics using CloudWatch.
Step 5: Review metrics against the instance and volume attributes
Review the CloudWatch metrics and compare them to the volume and instance information collected in step 3. Isolate the issue to the following categories:
Note: EBS volume type and EC2 instance type changes incur costs. Be sure to understand the pricing differences before making changes. For more information, see the following:
Note: The CloudWatch metrics might make it appear that the volume or instance limits aren't being reached, even though performance is slow. If this occurs, determine if microbursting is occurring on the instance.
Step 6: Note service-level events
If you suspect that a major event occurred for the Amazon EBS service or volume during the time frame that you're researching, then check your AWS Health Dashboard for events.
Related information
Benchmark EBS volumes
Monitoring and understanding Amazon EBS performance using Amazon CloudWatch
How do I optimize the performance of my Amazon EBS Provisioned IOPS volumes?