When comparing Amazon EC2’s EBS (Elastic Block Store) gp3 and io2 volumes, it’s important to consider the specific performance characteristics of each type, particularly regarding read and write times. Both are SSD-based storage options but are designed for different use cases.
EBS General Purpose SSD (gp3)
Designed for a wide range of workloads, including small to medium-sized databases, boot volumes, and development environments.
– Base IOPS: 3,000 IOPS (Input/Output Operations Per Second) by default, with the ability to provision up to 16,000 IOPS.
– Throughput: 125 MB/s by default, with the ability to provision up to 1,000 MB/s.
– Latency: Typically single-digit millisecond latencies, which are sufficient for general-purpose applications.
– Cost: Lower cost compared to io2, making it a more budget-friendly option for less performance-sensitive workloads.
EBS Provisioned IOPS SSD (io2):
Designed for mission-critical, I/O-intensive applications such as large databases (e.g., relational and NoSQL), applications that require sustained high IOPS performance, and workloads requiring low latency.
– Bse IOPS: Starts at 100 IOPS and can be provisioned up to 256,000 IOPS per volume.
– Throughput: Can be provisioned up to 4,000 MB/s.
– Latency: Lower and more consistent latency, typically in the sub-millisecond range, which is crucial for latency-sensitive applications.
– Cost: Higher cost due to its premium performance characteristics.
Comparison of Read and Write Times:
1. Latency:
– gp3: Generally has higher latency (single-digit milliseconds) compared to io2. It’s adequate for most general-purpose workloads but may not be ideal for latency-sensitive applications.
– io2: Offers much lower latency (sub-millisecond) and consistent performance, making it suitable for high-performance applications requiring quick read and write operations.
2. IOPS:
– gp3: Provides up to 16,000 IOPS, which is sufficient for many workloads but might not meet the needs of very high-performance applications.
– io2: Can deliver up to 256,000 IOPS, offering significantly better read and write performance for workloads with high IOPS demands.
3. Throughput:
– gp3: Maxes out at 1,000 MB/s, which is adequate for most general workloads.
– io2: Can reach up to 4,000 MB/s, catering to applications requiring very high throughput.
Summary:
– gp3 is a cost-effective option suitable for a wide range of general-purpose workloads, offering good performance with higher latency and lower IOPS/throughput compared to io2.
– io2 is a premium offering with superior read/write times due to its lower latency, higher IOPS, and greater throughput, making it ideal for I/O-intensive and latency-sensitive applications.
Choosing between gp3 and io2 depends on your application’s specific performance requirements and budget constraints.
Real perfomance tests:
Volume size 3500Gb. io2 – 16000 iops, gp3 – 16000 iopp, 1000mb/s throughput.
From 16:00 3 May io2 was reconfigured to gp3 and 08:00 4 May back to io2
Write time:
Read time:
From Amazon side:
So… io2 is performing better ( lower io times ) then gp3 …