Price |
Storage price: – [cyberseo_openai model=”gpt-4o-mini” prompt=”Rewrite a news story for a technical publication, in a calm style with creativity and flair based on text below, making sure it reads like human-written text in a natural way. The article shall NOT include a title, introduction and conclusion. The article shall NOT start from a title. Response language English. Generate HTML-formatted content using
tag for a sub-heading. You can use only
,
,
,
- , and HTML tags if necessary. Text: Databases are a fundamental component for any organization with its own IT infrastructure powering various applications. Making sure of the smooth operation of database servers is vital because any performance disruptions can impact numerous users and their activities. Many companies experience performance slowdowns in their applications due to storage latency during database operations.
To tackle this problem, AWS unveiled Amazon Elastic Block Store (Amazon EBS) io2 Block Express in December 2020. This solution aims to optimize storage management for high-performance database servers, enabling them to efficiently handle I/O intensive workloads.
This post examines the performance differences between a PostgreSQL database running on Amazon EBS gp3 and io2 Block Express. io2 Block Express allows you to attain up to 256,000 IOPS and 4,000 MiB/s throughput per volume. It supports expansive storage needs with up to 64 TiB per volume, while making sure of low-variance sub-millisecond disk I/O latency. The low latency is achieved by Scalable Reliable Datagrams (SRD), an advanced communication protocol integrated into the AWS Nitro System. This post is a part of series that has shown how to achieve higher database performance using Amazon EBS io2 Block Express volumes for Oracle databases.
Database performance comparison overview
To measure database performance, it’s essential to consider key metrics such as IOPS, latency, and throughput. IOPS quantifies the number of input and output operations per second, latency indicates the time it takes for a single I/O request to complete, and throughput measures the amount of data that can be read or written per second.
To assess database performance, we used HammerDB, an open-source database benchmarking and load testing tool that supports multiple database platforms, such as PostgreSQL. It is widely used to measure the performance and scalability of database systems under simulated workloads. For PostgreSQL, HammerDB implements the Transaction Processing Performance Council-C (TPC-C) benchmark, which emulates the online transaction processing (OLTP) workload of a wholesale supplier, and the Transaction Processing Performance Council-H (TPC-H) benchmark for evaluating the performance of Online Analytical Processing (OLAP) systems, which focuses on decision support systems (DSS) and measures how efficiently a database can handle complex analytical queries on large datasets.
This tool measures the average transaction rate in transactions per second (TPS) in OLTP testing and queries per hour in OLAP testing. Using benchmark data allows us to compare the performance of Amazon EBS gp3 with io2 Block Express under identical stress test conditions.
We provisioned two environments on Amazon Elastic Compute Cloud (Amazon EC2) with the instance type of r5b.24xlarge to examine the impact of storage performance on the database using four types of tests: OLTP Load test, OLTP Stress test, OLAP Load test, and OLAP Stress test by configuring PostgreSQL databases on each of these environments. One environment was configured with Amazon EBS gp3 volume type and the other with Amazon EBS io2 Block Express volume type.
We compared the database transactional and latency performance using different storage types of io2 Block Express and gp3. Based on the results analysis, for the same IOPS and throughput configuration on each of these EBS volume types, io2 Block Express performed 2.08 times better on transactions per minute (TPM) and provided 3.85 times lower latency for OLTP workloads and 2.78 times lower latency for OLAP workloads. Therefore, io2 Block Express is a recommended solution for database workloads that are sensitive to disk latencies and where performance is a priority over cost. Detailed test results are shown in the following sections.
Comparing EBS volume types gp3 and io2 Block Express
The following figure is a quick comparison of features and pricing between gp3 and io2 Block Express volumes.
Volume type |
gp3 |
io2 Block Express |
Durability |
99.8% – 99.9% durability (0.1% – 0.2% annual failure rate) |
99.999% durability (0.001% annual failure rate) |
Use-Cases |
– Low-latency interactive apps – Development and test environments |
– Workloads that need sub-millisecond latency, and sustained IOPS performance or more than 64,000 IOPS or 1,000 MiB/s of throughput |
Volume size |
1 GiB – 16 TiB |
4 GiB – 64 TiB |
Max IOPS per volume |
1,000 MiB/s |
4,000 MiB/s |
Latency |
single digit millisecond |
sub-millisecond |
Price |
Storage price: – $0.08/GB-month IOPS price: – 3,000 IOPS included – $0.005/provisioned IOPS-month over 3,000 IOPS Throughput price: – 125 MiB/s included – $0.04/provisioned MiB/s-month over 125 MiBps |
Storage price: – $0.125/GB-month IOPS price: – $0.065/provisioned IOPS-month up to 32,000 IOPS – $0.046/provisioned IOPS-month from 32,001 to 64,000 IOPS – $0.032/provisioned IOPS-month for greater than 64,000 IOPS |
Durability |
99.8% – 99.9% durability (0.1% – 0.2% annual failure rate) |
99.999% durability (0.001% annual failure rate) |
Durability advantages
EBS io2 Block Express volumes offers 100 times better durability than EBS gp3 volumes, with an annual failure rate of just 0.001% compared to gp3’s 0.1-0.2%. This makes io2 Block Express particularly valuable for:
- Mission-critical databases
- Financial transaction systems
- Healthcare applications
- Any workload where data loss is unacceptable
Benchmarking system configuration
The following configuration was used to run performance tests for the comparison:
- An EC2 instance of type r5b.24xlarge with 96vCPU/768GB RAM
- Operating system: Amazon Linux 2023
- PostgreSQL database: PostgreSQL 16.5
- Storage configuration: We provisioned the storage for gp3 and io2 Block Express to match IOPS (80000 IOPS) and throughput (8000 MiB/s) for both configurations. This resulted in eight gp3 volumes (per volume: 10000 IOPS, 1000 MiB/s) as opposed to two io2 Block Express volumes (per volume: 40000 IOPS, 4000 MiB/s) to achieve the same total performance metrics. The r5b.24xlarge instance can support a maximum throughput of 7500 MiB/s.
Benchmarking data generation
To compare the performance of Amazon EBS gp3 and io2 Block Express, we loaded the PostgreSQL database with approximately 1 TB of data using the HammerDB tool with 100 warehouses and 10 virtual users, which generated OLTP and OLAP schema, as shown in the following images.
Figure 1: Schema Build Option – OLTP
The image below shows the setting for OLAP schema generation with scale factor of 100 chosen for the benchmark test.
Figure 2: Schema Build Option – OLAP
For more information on how the data was created for benchmark purposes, refer to this HammerDB link.
Benchmark performance analysis
To benchmark performance, the load was generated using the HammerDB tool and stress tests were run for each of the different storage configurations for the same simulated workload in both OLTP and OLAP scenarios.
Benchmark test overview
The following four tests were performed against the PostgreSQL database with RAID-0 configured on gp3 and io2 Block Express to compare performance.
- OLTP load test: Using this article as a reference and keeping the same CPU and memory configuration, we tested the database with different storage configurations using both io2 Block Express and gp3 when the OLTP schema was being loaded or built to compare against I/O write latency.
- OLAP load test: Using this article as a reference and keeping the same CPU and memory configuration, we tested database with different storage configurations using both io2 Block Express and gp3 when the OLAP schema was being loaded or built to compare against I/O write latency.
- OLTP stress test: In this test, while executing same stress test (100 warehouses, 10 virtual users, and 10 million transactions per user with timed duration of 10 minutes) on the database with different storage configurations on both gp3 and io2 Block Express, the latency of Amazon EBS was measured along with the TPM, as shown in the following figure.
Figure 3: Stress Test Options – OLTP
4. OLAP stress test: In this test, while executing same stress test (10 query sets per user, and 10 virtual users) on the database with different storage configurations on both gp3 and io2 Block Express, the latency of Amazon EBS was measured, as shown in the following figure.
Figure 4: Stress Test Options – OLAP
Benchmark test results
In this section, we give details about the results from the benchmark tests run against the PostgreSQL database running with RAID-0 on Amazon EBS io2 Block Express and gp3.
OLTP load test: In PostgreSQL, while loading the schema for 100 warehouses with 10 users in parallel, write latency per volume on io2 Block express was 3.47 times lower than gp3 on average, shown in the following figures.
Figure 5: Latency Performance in milliseconds – gp3
As seen in the image below there is a significant improvement in latency performance for io2 Block Express for same data load.
Figure 6: Latency Performance in milliseconds – io2 Block Express
Figure 7: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 8: Average Write Latency in milliseconds – io2 Block Express
OLAP load test: In PostgreSQL, while loading the schema for 100 warehouses with 10 users in parallel and 10 query set per user for OLAP schema, write latency per volume on io2 Block express was 3.13 times lower than gp3 on average.
Figure 9: Latency Performance in milliseconds – gp3
Latency performance with OLAP load test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 10: Latency Performance in milliseconds – io2 Block Express
Figure 11: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 12: Average Write Latency in milliseconds – io2 Block Express
OLTP stress test: For the PostgreSQL database with the RAID-0 configuration, the average latency with 80K IOPS running on io2 Block Express volumes was observed to be 0.39 milliseconds, whereas with 80K IOPS running on gp3, the average disk latency was observed to be 1.67 milliseconds. Amazon EBS io2 Block Express was 4.28 times faster than gp3 in terms of disk latency, achieving very low time to complete a single I/O operation on a block device running on the PostgreSQL database.
Figure 13: Latency Performance in milliseconds – gp3
Latency performance with OLTP load test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 14: Latency Performance in milliseconds – io2 Block Express
Figure 15: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 16: Average Write Latency in milliseconds – io2 Block Express
In this stress test, the number of new orders per minute (NOPM) were computed. With gp3 volumes, we observed 129,729 TPM resulting in 55,120 NOPM. With io2 block express we got 269,823 TPM, resulting in 117,460 NOPM. This was a 2.08 times improvement in TPM and a 2.13 times improvement in NOPM.
Figure 17: Transactions per Minute – gp3
HammerDB results showcasing the TPM metrics and NOPM metrics are seen for gp3 in the image above and io2 Block Express in the image below:
Figure 18: Transactions per Minute – io2 Block Express
OLAP stress test: For the PostgreSQL database with the RAID-0 configuration, the maximum latency with 80K IOPS running on io2 Block Express volumes was observed to be 0.7 milliseconds for writes and 0.54 milliseconds for reads. On the other hand, with 80K IOPS running on gp3, the maximum disk latency was observed to be 3.44 milliseconds for writes and 0.81 milliseconds for reads. Amazon EBS io2 Block Express showed 4.91 times better performance for writes and 1.50 times better performance for reads as compared to gp3, achieving very low time to complete a single I/O operation on a block device running the PostgreSQL database, as shown in the following figures.
Figure 19: Latency Performance in milliseconds – gp3 (OLAP Stress Test)
Latency performance with OLAP stress test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 20: Latency Performance in milliseconds – io2 Block Express (OLAP Stress Test)
Figure 21: Average Latency Performance in milliseconds – gp3 (OLAP Stress Test)
Average write latency per volume in OLAP stress test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 22: Average Latency Performance in milliseconds – io2 Block Express (OLAP Stress Test)
Cost and performance use cases for gp3 and io2 Block Express
The following is the cost performance comparison for gp3 and io2 Block Express
gp3:
- Optimal for: development, test environments, and production workloads that can tolerate single-digit millisecond latencies
- Cost-effective choice at $1,375.36/month for the tested configuration
- Durability: 99.8% – 99.9% (0.1% – 0.2% annual failure rate)
- Best for: budget-conscious workloads where sub-millisecond latency isn’t critical
io2 Block Express:
- Optimal for: mission-critical production workloads needing consistent sub-millisecond latency
- Higher cost at $5,408/month delivers:
- 2.07 times higher transaction throughput
- 4.28 times faster I/O response time
- Durability: 99.999% (0.001% annual failure rate)
- Best for: performance-sensitive workloads where data durability and consistent sub-millisecond latency are essential
Amazon EBS io2 Block Express is the premium storage solution for high-performance database workloads, particularly those that are sensitive to disk latencies and need sub-millisecond response times. It excels in scenarios where performance and durability are paramount considerations.
The key advantages of io2 Block Express include:
- Superior performance: ideal for I/O-intensive critical workloads, delivering consistently low latency and high throughput.
- Sub-millisecond responsiveness: crucial for applications that demand rapid data access and processing.
- Enhanced durability: offers higher durability as compared to standard EBS volumes, making it suitable for mission-critical data.
- Scalability: supports larger volume sizes and higher IOPS, accommodating growing and demanding workloads.
Although gp3 volumes may be suitable for less demanding workloads or where cost is a primary factor, io2 Block Express is the go-to choice for databases and applications that need the highest levels of performance, consistency, and reliability. It’s particularly well-suited for enterprise-grade databases, high-performance computing, and data-intensive applications where every millisecond counts.
For a detailed analysis of storage patterns and the benefits of moving to the AWS cloud, this Amazon storage post provides valuable insights.
Cleaning Up
The services involved in this solution incur costs. So as not to incur additional costs, make sure to clean up the resources created:
- Amazon EC2 instances – Stop or delete (terminate) the Amazon EC2 instances that you provisioned.
- Amazon EBS volumes – Delete the EBS volumes created.
Conclusion
For workloads that demand high performance and sub-millisecond latencies, where performance takes precedence over cost, Amazon EBS io2 Block Express is the ideal block storage solution.
Amazon EBS io2 Block Express uses advanced communication protocols developed as part of the AWS Nitro System. It delivers up to 256K IOPS and 4000 MiB/s of throughput per volume, supports a maximum volume size of 64 TiB, and makes sure of consistently low-variance sub-millisecond disk I/O latency.
In performance benchmarks using a PostgreSQL workload on an r5b.24xlarge EC2 instance, io2 Block Express demonstrated superior transactional and I/O performance as compared to Amazon EBS gp3.
The following table highlights the percentage performance improvements observed during testing, showcasing the advantages of io2 Block Express for high-performance PostgreSQL database workloads over gp3.
The tests in this post were run on the PostgreSQL database, which demonstrated that io2 Block Express performed 3.95 times faster on average than gp3 across all test scenarios. Similar performance improvements can be expected when running other database engines such as Microsoft SQL Server, Oracle, and MySQL, as these benefits stem from the underlying storage architecture rather than being specific to PostgreSQL.
Thank you for reading this post on the benefits of using io2 Block Express over gp3 for I/O intensive database workloads. To learn more about Amazon EBS, check out the tech doc. If you have any comments or questions, then please leave them in the comments section.
” temperature=”0.3″ top_p=”1.0″ best_of=”1″ presence_penalty=”0.1″ ].08/GB-month IOPS price: – 3,000 IOPS included – [cyberseo_openai model=”gpt-4o-mini” prompt=”Rewrite a news story for a technical publication, in a calm style with creativity and flair based on text below, making sure it reads like human-written text in a natural way. The article shall NOT include a title, introduction and conclusion. The article shall NOT start from a title. Response language English. Generate HTML-formatted content using
tag for a sub-heading. You can use only
,
,
,
- , and HTML tags if necessary. Text: Databases are a fundamental component for any organization with its own IT infrastructure powering various applications. Making sure of the smooth operation of database servers is vital because any performance disruptions can impact numerous users and their activities. Many companies experience performance slowdowns in their applications due to storage latency during database operations.
To tackle this problem, AWS unveiled Amazon Elastic Block Store (Amazon EBS) io2 Block Express in December 2020. This solution aims to optimize storage management for high-performance database servers, enabling them to efficiently handle I/O intensive workloads.
This post examines the performance differences between a PostgreSQL database running on Amazon EBS gp3 and io2 Block Express. io2 Block Express allows you to attain up to 256,000 IOPS and 4,000 MiB/s throughput per volume. It supports expansive storage needs with up to 64 TiB per volume, while making sure of low-variance sub-millisecond disk I/O latency. The low latency is achieved by Scalable Reliable Datagrams (SRD), an advanced communication protocol integrated into the AWS Nitro System. This post is a part of series that has shown how to achieve higher database performance using Amazon EBS io2 Block Express volumes for Oracle databases.
Database performance comparison overview
To measure database performance, it’s essential to consider key metrics such as IOPS, latency, and throughput. IOPS quantifies the number of input and output operations per second, latency indicates the time it takes for a single I/O request to complete, and throughput measures the amount of data that can be read or written per second.
To assess database performance, we used HammerDB, an open-source database benchmarking and load testing tool that supports multiple database platforms, such as PostgreSQL. It is widely used to measure the performance and scalability of database systems under simulated workloads. For PostgreSQL, HammerDB implements the Transaction Processing Performance Council-C (TPC-C) benchmark, which emulates the online transaction processing (OLTP) workload of a wholesale supplier, and the Transaction Processing Performance Council-H (TPC-H) benchmark for evaluating the performance of Online Analytical Processing (OLAP) systems, which focuses on decision support systems (DSS) and measures how efficiently a database can handle complex analytical queries on large datasets.
This tool measures the average transaction rate in transactions per second (TPS) in OLTP testing and queries per hour in OLAP testing. Using benchmark data allows us to compare the performance of Amazon EBS gp3 with io2 Block Express under identical stress test conditions.
We provisioned two environments on Amazon Elastic Compute Cloud (Amazon EC2) with the instance type of r5b.24xlarge to examine the impact of storage performance on the database using four types of tests: OLTP Load test, OLTP Stress test, OLAP Load test, and OLAP Stress test by configuring PostgreSQL databases on each of these environments. One environment was configured with Amazon EBS gp3 volume type and the other with Amazon EBS io2 Block Express volume type.
We compared the database transactional and latency performance using different storage types of io2 Block Express and gp3. Based on the results analysis, for the same IOPS and throughput configuration on each of these EBS volume types, io2 Block Express performed 2.08 times better on transactions per minute (TPM) and provided 3.85 times lower latency for OLTP workloads and 2.78 times lower latency for OLAP workloads. Therefore, io2 Block Express is a recommended solution for database workloads that are sensitive to disk latencies and where performance is a priority over cost. Detailed test results are shown in the following sections.
Comparing EBS volume types gp3 and io2 Block Express
The following figure is a quick comparison of features and pricing between gp3 and io2 Block Express volumes.
Volume type |
gp3 |
io2 Block Express |
Durability |
99.8% – 99.9% durability (0.1% – 0.2% annual failure rate) |
99.999% durability (0.001% annual failure rate) |
Use-Cases |
– Low-latency interactive apps – Development and test environments |
– Workloads that need sub-millisecond latency, and sustained IOPS performance or more than 64,000 IOPS or 1,000 MiB/s of throughput |
Volume size |
1 GiB – 16 TiB |
4 GiB – 64 TiB |
Max IOPS per volume |
1,000 MiB/s |
4,000 MiB/s |
Latency |
single digit millisecond |
sub-millisecond |
Price |
Storage price: – $0.08/GB-month IOPS price: – 3,000 IOPS included – $0.005/provisioned IOPS-month over 3,000 IOPS Throughput price: – 125 MiB/s included – $0.04/provisioned MiB/s-month over 125 MiBps |
Storage price: – $0.125/GB-month IOPS price: – $0.065/provisioned IOPS-month up to 32,000 IOPS – $0.046/provisioned IOPS-month from 32,001 to 64,000 IOPS – $0.032/provisioned IOPS-month for greater than 64,000 IOPS |
Durability |
99.8% – 99.9% durability (0.1% – 0.2% annual failure rate) |
99.999% durability (0.001% annual failure rate) |
Durability advantages
EBS io2 Block Express volumes offers 100 times better durability than EBS gp3 volumes, with an annual failure rate of just 0.001% compared to gp3’s 0.1-0.2%. This makes io2 Block Express particularly valuable for:
- Mission-critical databases
- Financial transaction systems
- Healthcare applications
- Any workload where data loss is unacceptable
Benchmarking system configuration
The following configuration was used to run performance tests for the comparison:
- An EC2 instance of type r5b.24xlarge with 96vCPU/768GB RAM
- Operating system: Amazon Linux 2023
- PostgreSQL database: PostgreSQL 16.5
- Storage configuration: We provisioned the storage for gp3 and io2 Block Express to match IOPS (80000 IOPS) and throughput (8000 MiB/s) for both configurations. This resulted in eight gp3 volumes (per volume: 10000 IOPS, 1000 MiB/s) as opposed to two io2 Block Express volumes (per volume: 40000 IOPS, 4000 MiB/s) to achieve the same total performance metrics. The r5b.24xlarge instance can support a maximum throughput of 7500 MiB/s.
Benchmarking data generation
To compare the performance of Amazon EBS gp3 and io2 Block Express, we loaded the PostgreSQL database with approximately 1 TB of data using the HammerDB tool with 100 warehouses and 10 virtual users, which generated OLTP and OLAP schema, as shown in the following images.
Figure 1: Schema Build Option – OLTP
The image below shows the setting for OLAP schema generation with scale factor of 100 chosen for the benchmark test.
Figure 2: Schema Build Option – OLAP
For more information on how the data was created for benchmark purposes, refer to this HammerDB link.
Benchmark performance analysis
To benchmark performance, the load was generated using the HammerDB tool and stress tests were run for each of the different storage configurations for the same simulated workload in both OLTP and OLAP scenarios.
Benchmark test overview
The following four tests were performed against the PostgreSQL database with RAID-0 configured on gp3 and io2 Block Express to compare performance.
- OLTP load test: Using this article as a reference and keeping the same CPU and memory configuration, we tested the database with different storage configurations using both io2 Block Express and gp3 when the OLTP schema was being loaded or built to compare against I/O write latency.
- OLAP load test: Using this article as a reference and keeping the same CPU and memory configuration, we tested database with different storage configurations using both io2 Block Express and gp3 when the OLAP schema was being loaded or built to compare against I/O write latency.
- OLTP stress test: In this test, while executing same stress test (100 warehouses, 10 virtual users, and 10 million transactions per user with timed duration of 10 minutes) on the database with different storage configurations on both gp3 and io2 Block Express, the latency of Amazon EBS was measured along with the TPM, as shown in the following figure.
Figure 3: Stress Test Options – OLTP
4. OLAP stress test: In this test, while executing same stress test (10 query sets per user, and 10 virtual users) on the database with different storage configurations on both gp3 and io2 Block Express, the latency of Amazon EBS was measured, as shown in the following figure.
Figure 4: Stress Test Options – OLAP
Benchmark test results
In this section, we give details about the results from the benchmark tests run against the PostgreSQL database running with RAID-0 on Amazon EBS io2 Block Express and gp3.
OLTP load test: In PostgreSQL, while loading the schema for 100 warehouses with 10 users in parallel, write latency per volume on io2 Block express was 3.47 times lower than gp3 on average, shown in the following figures.
Figure 5: Latency Performance in milliseconds – gp3
As seen in the image below there is a significant improvement in latency performance for io2 Block Express for same data load.
Figure 6: Latency Performance in milliseconds – io2 Block Express
Figure 7: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 8: Average Write Latency in milliseconds – io2 Block Express
OLAP load test: In PostgreSQL, while loading the schema for 100 warehouses with 10 users in parallel and 10 query set per user for OLAP schema, write latency per volume on io2 Block express was 3.13 times lower than gp3 on average.
Figure 9: Latency Performance in milliseconds – gp3
Latency performance with OLAP load test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 10: Latency Performance in milliseconds – io2 Block Express
Figure 11: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 12: Average Write Latency in milliseconds – io2 Block Express
OLTP stress test: For the PostgreSQL database with the RAID-0 configuration, the average latency with 80K IOPS running on io2 Block Express volumes was observed to be 0.39 milliseconds, whereas with 80K IOPS running on gp3, the average disk latency was observed to be 1.67 milliseconds. Amazon EBS io2 Block Express was 4.28 times faster than gp3 in terms of disk latency, achieving very low time to complete a single I/O operation on a block device running on the PostgreSQL database.
Figure 13: Latency Performance in milliseconds – gp3
Latency performance with OLTP load test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 14: Latency Performance in milliseconds – io2 Block Express
Figure 15: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 16: Average Write Latency in milliseconds – io2 Block Express
In this stress test, the number of new orders per minute (NOPM) were computed. With gp3 volumes, we observed 129,729 TPM resulting in 55,120 NOPM. With io2 block express we got 269,823 TPM, resulting in 117,460 NOPM. This was a 2.08 times improvement in TPM and a 2.13 times improvement in NOPM.
Figure 17: Transactions per Minute – gp3
HammerDB results showcasing the TPM metrics and NOPM metrics are seen for gp3 in the image above and io2 Block Express in the image below:
Figure 18: Transactions per Minute – io2 Block Express
OLAP stress test: For the PostgreSQL database with the RAID-0 configuration, the maximum latency with 80K IOPS running on io2 Block Express volumes was observed to be 0.7 milliseconds for writes and 0.54 milliseconds for reads. On the other hand, with 80K IOPS running on gp3, the maximum disk latency was observed to be 3.44 milliseconds for writes and 0.81 milliseconds for reads. Amazon EBS io2 Block Express showed 4.91 times better performance for writes and 1.50 times better performance for reads as compared to gp3, achieving very low time to complete a single I/O operation on a block device running the PostgreSQL database, as shown in the following figures.
Figure 19: Latency Performance in milliseconds – gp3 (OLAP Stress Test)
Latency performance with OLAP stress test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 20: Latency Performance in milliseconds – io2 Block Express (OLAP Stress Test)
Figure 21: Average Latency Performance in milliseconds – gp3 (OLAP Stress Test)
Average write latency per volume in OLAP stress test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 22: Average Latency Performance in milliseconds – io2 Block Express (OLAP Stress Test)
Cost and performance use cases for gp3 and io2 Block Express
The following is the cost performance comparison for gp3 and io2 Block Express
gp3:
- Optimal for: development, test environments, and production workloads that can tolerate single-digit millisecond latencies
- Cost-effective choice at $1,375.36/month for the tested configuration
- Durability: 99.8% – 99.9% (0.1% – 0.2% annual failure rate)
- Best for: budget-conscious workloads where sub-millisecond latency isn’t critical
io2 Block Express:
- Optimal for: mission-critical production workloads needing consistent sub-millisecond latency
- Higher cost at $5,408/month delivers:
- 2.07 times higher transaction throughput
- 4.28 times faster I/O response time
- Durability: 99.999% (0.001% annual failure rate)
- Best for: performance-sensitive workloads where data durability and consistent sub-millisecond latency are essential
Amazon EBS io2 Block Express is the premium storage solution for high-performance database workloads, particularly those that are sensitive to disk latencies and need sub-millisecond response times. It excels in scenarios where performance and durability are paramount considerations.
The key advantages of io2 Block Express include:
- Superior performance: ideal for I/O-intensive critical workloads, delivering consistently low latency and high throughput.
- Sub-millisecond responsiveness: crucial for applications that demand rapid data access and processing.
- Enhanced durability: offers higher durability as compared to standard EBS volumes, making it suitable for mission-critical data.
- Scalability: supports larger volume sizes and higher IOPS, accommodating growing and demanding workloads.
Although gp3 volumes may be suitable for less demanding workloads or where cost is a primary factor, io2 Block Express is the go-to choice for databases and applications that need the highest levels of performance, consistency, and reliability. It’s particularly well-suited for enterprise-grade databases, high-performance computing, and data-intensive applications where every millisecond counts.
For a detailed analysis of storage patterns and the benefits of moving to the AWS cloud, this Amazon storage post provides valuable insights.
Cleaning Up
The services involved in this solution incur costs. So as not to incur additional costs, make sure to clean up the resources created:
- Amazon EC2 instances – Stop or delete (terminate) the Amazon EC2 instances that you provisioned.
- Amazon EBS volumes – Delete the EBS volumes created.
Conclusion
For workloads that demand high performance and sub-millisecond latencies, where performance takes precedence over cost, Amazon EBS io2 Block Express is the ideal block storage solution.
Amazon EBS io2 Block Express uses advanced communication protocols developed as part of the AWS Nitro System. It delivers up to 256K IOPS and 4000 MiB/s of throughput per volume, supports a maximum volume size of 64 TiB, and makes sure of consistently low-variance sub-millisecond disk I/O latency.
In performance benchmarks using a PostgreSQL workload on an r5b.24xlarge EC2 instance, io2 Block Express demonstrated superior transactional and I/O performance as compared to Amazon EBS gp3.
The following table highlights the percentage performance improvements observed during testing, showcasing the advantages of io2 Block Express for high-performance PostgreSQL database workloads over gp3.
The tests in this post were run on the PostgreSQL database, which demonstrated that io2 Block Express performed 3.95 times faster on average than gp3 across all test scenarios. Similar performance improvements can be expected when running other database engines such as Microsoft SQL Server, Oracle, and MySQL, as these benefits stem from the underlying storage architecture rather than being specific to PostgreSQL.
Thank you for reading this post on the benefits of using io2 Block Express over gp3 for I/O intensive database workloads. To learn more about Amazon EBS, check out the tech doc. If you have any comments or questions, then please leave them in the comments section.
” temperature=”0.3″ top_p=”1.0″ best_of=”1″ presence_penalty=”0.1″ ].005/provisioned IOPS-month over 3,000 IOPS Throughput price: – 125 MiB/s included – [cyberseo_openai model=”gpt-4o-mini” prompt=”Rewrite a news story for a technical publication, in a calm style with creativity and flair based on text below, making sure it reads like human-written text in a natural way. The article shall NOT include a title, introduction and conclusion. The article shall NOT start from a title. Response language English. Generate HTML-formatted content using
tag for a sub-heading. You can use only
,
,
,
- , and HTML tags if necessary. Text: Databases are a fundamental component for any organization with its own IT infrastructure powering various applications. Making sure of the smooth operation of database servers is vital because any performance disruptions can impact numerous users and their activities. Many companies experience performance slowdowns in their applications due to storage latency during database operations.
To tackle this problem, AWS unveiled Amazon Elastic Block Store (Amazon EBS) io2 Block Express in December 2020. This solution aims to optimize storage management for high-performance database servers, enabling them to efficiently handle I/O intensive workloads.
This post examines the performance differences between a PostgreSQL database running on Amazon EBS gp3 and io2 Block Express. io2 Block Express allows you to attain up to 256,000 IOPS and 4,000 MiB/s throughput per volume. It supports expansive storage needs with up to 64 TiB per volume, while making sure of low-variance sub-millisecond disk I/O latency. The low latency is achieved by Scalable Reliable Datagrams (SRD), an advanced communication protocol integrated into the AWS Nitro System. This post is a part of series that has shown how to achieve higher database performance using Amazon EBS io2 Block Express volumes for Oracle databases.
Database performance comparison overview
To measure database performance, it’s essential to consider key metrics such as IOPS, latency, and throughput. IOPS quantifies the number of input and output operations per second, latency indicates the time it takes for a single I/O request to complete, and throughput measures the amount of data that can be read or written per second.
To assess database performance, we used HammerDB, an open-source database benchmarking and load testing tool that supports multiple database platforms, such as PostgreSQL. It is widely used to measure the performance and scalability of database systems under simulated workloads. For PostgreSQL, HammerDB implements the Transaction Processing Performance Council-C (TPC-C) benchmark, which emulates the online transaction processing (OLTP) workload of a wholesale supplier, and the Transaction Processing Performance Council-H (TPC-H) benchmark for evaluating the performance of Online Analytical Processing (OLAP) systems, which focuses on decision support systems (DSS) and measures how efficiently a database can handle complex analytical queries on large datasets.
This tool measures the average transaction rate in transactions per second (TPS) in OLTP testing and queries per hour in OLAP testing. Using benchmark data allows us to compare the performance of Amazon EBS gp3 with io2 Block Express under identical stress test conditions.
We provisioned two environments on Amazon Elastic Compute Cloud (Amazon EC2) with the instance type of r5b.24xlarge to examine the impact of storage performance on the database using four types of tests: OLTP Load test, OLTP Stress test, OLAP Load test, and OLAP Stress test by configuring PostgreSQL databases on each of these environments. One environment was configured with Amazon EBS gp3 volume type and the other with Amazon EBS io2 Block Express volume type.
We compared the database transactional and latency performance using different storage types of io2 Block Express and gp3. Based on the results analysis, for the same IOPS and throughput configuration on each of these EBS volume types, io2 Block Express performed 2.08 times better on transactions per minute (TPM) and provided 3.85 times lower latency for OLTP workloads and 2.78 times lower latency for OLAP workloads. Therefore, io2 Block Express is a recommended solution for database workloads that are sensitive to disk latencies and where performance is a priority over cost. Detailed test results are shown in the following sections.
Comparing EBS volume types gp3 and io2 Block Express
The following figure is a quick comparison of features and pricing between gp3 and io2 Block Express volumes.
Volume type |
gp3 |
io2 Block Express |
Durability |
99.8% – 99.9% durability (0.1% – 0.2% annual failure rate) |
99.999% durability (0.001% annual failure rate) |
Use-Cases |
– Low-latency interactive apps – Development and test environments |
– Workloads that need sub-millisecond latency, and sustained IOPS performance or more than 64,000 IOPS or 1,000 MiB/s of throughput |
Volume size |
1 GiB – 16 TiB |
4 GiB – 64 TiB |
Max IOPS per volume |
1,000 MiB/s |
4,000 MiB/s |
Latency |
single digit millisecond |
sub-millisecond |
Price |
Storage price: – $0.08/GB-month IOPS price: – 3,000 IOPS included – $0.005/provisioned IOPS-month over 3,000 IOPS Throughput price: – 125 MiB/s included – $0.04/provisioned MiB/s-month over 125 MiBps |
Storage price: – $0.125/GB-month IOPS price: – $0.065/provisioned IOPS-month up to 32,000 IOPS – $0.046/provisioned IOPS-month from 32,001 to 64,000 IOPS – $0.032/provisioned IOPS-month for greater than 64,000 IOPS |
Durability |
99.8% – 99.9% durability (0.1% – 0.2% annual failure rate) |
99.999% durability (0.001% annual failure rate) |
Durability advantages
EBS io2 Block Express volumes offers 100 times better durability than EBS gp3 volumes, with an annual failure rate of just 0.001% compared to gp3’s 0.1-0.2%. This makes io2 Block Express particularly valuable for:
- Mission-critical databases
- Financial transaction systems
- Healthcare applications
- Any workload where data loss is unacceptable
Benchmarking system configuration
The following configuration was used to run performance tests for the comparison:
- An EC2 instance of type r5b.24xlarge with 96vCPU/768GB RAM
- Operating system: Amazon Linux 2023
- PostgreSQL database: PostgreSQL 16.5
- Storage configuration: We provisioned the storage for gp3 and io2 Block Express to match IOPS (80000 IOPS) and throughput (8000 MiB/s) for both configurations. This resulted in eight gp3 volumes (per volume: 10000 IOPS, 1000 MiB/s) as opposed to two io2 Block Express volumes (per volume: 40000 IOPS, 4000 MiB/s) to achieve the same total performance metrics. The r5b.24xlarge instance can support a maximum throughput of 7500 MiB/s.
Benchmarking data generation
To compare the performance of Amazon EBS gp3 and io2 Block Express, we loaded the PostgreSQL database with approximately 1 TB of data using the HammerDB tool with 100 warehouses and 10 virtual users, which generated OLTP and OLAP schema, as shown in the following images.
Figure 1: Schema Build Option – OLTP
The image below shows the setting for OLAP schema generation with scale factor of 100 chosen for the benchmark test.
Figure 2: Schema Build Option – OLAP
For more information on how the data was created for benchmark purposes, refer to this HammerDB link.
Benchmark performance analysis
To benchmark performance, the load was generated using the HammerDB tool and stress tests were run for each of the different storage configurations for the same simulated workload in both OLTP and OLAP scenarios.
Benchmark test overview
The following four tests were performed against the PostgreSQL database with RAID-0 configured on gp3 and io2 Block Express to compare performance.
- OLTP load test: Using this article as a reference and keeping the same CPU and memory configuration, we tested the database with different storage configurations using both io2 Block Express and gp3 when the OLTP schema was being loaded or built to compare against I/O write latency.
- OLAP load test: Using this article as a reference and keeping the same CPU and memory configuration, we tested database with different storage configurations using both io2 Block Express and gp3 when the OLAP schema was being loaded or built to compare against I/O write latency.
- OLTP stress test: In this test, while executing same stress test (100 warehouses, 10 virtual users, and 10 million transactions per user with timed duration of 10 minutes) on the database with different storage configurations on both gp3 and io2 Block Express, the latency of Amazon EBS was measured along with the TPM, as shown in the following figure.
Figure 3: Stress Test Options – OLTP
4. OLAP stress test: In this test, while executing same stress test (10 query sets per user, and 10 virtual users) on the database with different storage configurations on both gp3 and io2 Block Express, the latency of Amazon EBS was measured, as shown in the following figure.
Figure 4: Stress Test Options – OLAP
Benchmark test results
In this section, we give details about the results from the benchmark tests run against the PostgreSQL database running with RAID-0 on Amazon EBS io2 Block Express and gp3.
OLTP load test: In PostgreSQL, while loading the schema for 100 warehouses with 10 users in parallel, write latency per volume on io2 Block express was 3.47 times lower than gp3 on average, shown in the following figures.
Figure 5: Latency Performance in milliseconds – gp3
As seen in the image below there is a significant improvement in latency performance for io2 Block Express for same data load.
Figure 6: Latency Performance in milliseconds – io2 Block Express
Figure 7: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 8: Average Write Latency in milliseconds – io2 Block Express
OLAP load test: In PostgreSQL, while loading the schema for 100 warehouses with 10 users in parallel and 10 query set per user for OLAP schema, write latency per volume on io2 Block express was 3.13 times lower than gp3 on average.
Figure 9: Latency Performance in milliseconds – gp3
Latency performance with OLAP load test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 10: Latency Performance in milliseconds – io2 Block Express
Figure 11: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 12: Average Write Latency in milliseconds – io2 Block Express
OLTP stress test: For the PostgreSQL database with the RAID-0 configuration, the average latency with 80K IOPS running on io2 Block Express volumes was observed to be 0.39 milliseconds, whereas with 80K IOPS running on gp3, the average disk latency was observed to be 1.67 milliseconds. Amazon EBS io2 Block Express was 4.28 times faster than gp3 in terms of disk latency, achieving very low time to complete a single I/O operation on a block device running on the PostgreSQL database.
Figure 13: Latency Performance in milliseconds – gp3
Latency performance with OLTP load test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 14: Latency Performance in milliseconds – io2 Block Express
Figure 15: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 16: Average Write Latency in milliseconds – io2 Block Express
In this stress test, the number of new orders per minute (NOPM) were computed. With gp3 volumes, we observed 129,729 TPM resulting in 55,120 NOPM. With io2 block express we got 269,823 TPM, resulting in 117,460 NOPM. This was a 2.08 times improvement in TPM and a 2.13 times improvement in NOPM.
Figure 17: Transactions per Minute – gp3
HammerDB results showcasing the TPM metrics and NOPM metrics are seen for gp3 in the image above and io2 Block Express in the image below:
Figure 18: Transactions per Minute – io2 Block Express
OLAP stress test: For the PostgreSQL database with the RAID-0 configuration, the maximum latency with 80K IOPS running on io2 Block Express volumes was observed to be 0.7 milliseconds for writes and 0.54 milliseconds for reads. On the other hand, with 80K IOPS running on gp3, the maximum disk latency was observed to be 3.44 milliseconds for writes and 0.81 milliseconds for reads. Amazon EBS io2 Block Express showed 4.91 times better performance for writes and 1.50 times better performance for reads as compared to gp3, achieving very low time to complete a single I/O operation on a block device running the PostgreSQL database, as shown in the following figures.
Figure 19: Latency Performance in milliseconds – gp3 (OLAP Stress Test)
Latency performance with OLAP stress test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 20: Latency Performance in milliseconds – io2 Block Express (OLAP Stress Test)
Figure 21: Average Latency Performance in milliseconds – gp3 (OLAP Stress Test)
Average write latency per volume in OLAP stress test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 22: Average Latency Performance in milliseconds – io2 Block Express (OLAP Stress Test)
Cost and performance use cases for gp3 and io2 Block Express
The following is the cost performance comparison for gp3 and io2 Block Express
gp3:
- Optimal for: development, test environments, and production workloads that can tolerate single-digit millisecond latencies
- Cost-effective choice at $1,375.36/month for the tested configuration
- Durability: 99.8% – 99.9% (0.1% – 0.2% annual failure rate)
- Best for: budget-conscious workloads where sub-millisecond latency isn’t critical
io2 Block Express:
- Optimal for: mission-critical production workloads needing consistent sub-millisecond latency
- Higher cost at $5,408/month delivers:
- 2.07 times higher transaction throughput
- 4.28 times faster I/O response time
- Durability: 99.999% (0.001% annual failure rate)
- Best for: performance-sensitive workloads where data durability and consistent sub-millisecond latency are essential
Amazon EBS io2 Block Express is the premium storage solution for high-performance database workloads, particularly those that are sensitive to disk latencies and need sub-millisecond response times. It excels in scenarios where performance and durability are paramount considerations.
The key advantages of io2 Block Express include:
- Superior performance: ideal for I/O-intensive critical workloads, delivering consistently low latency and high throughput.
- Sub-millisecond responsiveness: crucial for applications that demand rapid data access and processing.
- Enhanced durability: offers higher durability as compared to standard EBS volumes, making it suitable for mission-critical data.
- Scalability: supports larger volume sizes and higher IOPS, accommodating growing and demanding workloads.
Although gp3 volumes may be suitable for less demanding workloads or where cost is a primary factor, io2 Block Express is the go-to choice for databases and applications that need the highest levels of performance, consistency, and reliability. It’s particularly well-suited for enterprise-grade databases, high-performance computing, and data-intensive applications where every millisecond counts.
For a detailed analysis of storage patterns and the benefits of moving to the AWS cloud, this Amazon storage post provides valuable insights.
Cleaning Up
The services involved in this solution incur costs. So as not to incur additional costs, make sure to clean up the resources created:
- Amazon EC2 instances – Stop or delete (terminate) the Amazon EC2 instances that you provisioned.
- Amazon EBS volumes – Delete the EBS volumes created.
Conclusion
For workloads that demand high performance and sub-millisecond latencies, where performance takes precedence over cost, Amazon EBS io2 Block Express is the ideal block storage solution.
Amazon EBS io2 Block Express uses advanced communication protocols developed as part of the AWS Nitro System. It delivers up to 256K IOPS and 4000 MiB/s of throughput per volume, supports a maximum volume size of 64 TiB, and makes sure of consistently low-variance sub-millisecond disk I/O latency.
In performance benchmarks using a PostgreSQL workload on an r5b.24xlarge EC2 instance, io2 Block Express demonstrated superior transactional and I/O performance as compared to Amazon EBS gp3.
The following table highlights the percentage performance improvements observed during testing, showcasing the advantages of io2 Block Express for high-performance PostgreSQL database workloads over gp3.
The tests in this post were run on the PostgreSQL database, which demonstrated that io2 Block Express performed 3.95 times faster on average than gp3 across all test scenarios. Similar performance improvements can be expected when running other database engines such as Microsoft SQL Server, Oracle, and MySQL, as these benefits stem from the underlying storage architecture rather than being specific to PostgreSQL.
Thank you for reading this post on the benefits of using io2 Block Express over gp3 for I/O intensive database workloads. To learn more about Amazon EBS, check out the tech doc. If you have any comments or questions, then please leave them in the comments section.
” temperature=”0.3″ top_p=”1.0″ best_of=”1″ presence_penalty=”0.1″ ].04/provisioned MiB/s-month over 125 MiBps |
Storage price: – [cyberseo_openai model=”gpt-4o-mini” prompt=”Rewrite a news story for a technical publication, in a calm style with creativity and flair based on text below, making sure it reads like human-written text in a natural way. The article shall NOT include a title, introduction and conclusion. The article shall NOT start from a title. Response language English. Generate HTML-formatted content using
tag for a sub-heading. You can use only
,
,
,
- , and HTML tags if necessary. Text: Databases are a fundamental component for any organization with its own IT infrastructure powering various applications. Making sure of the smooth operation of database servers is vital because any performance disruptions can impact numerous users and their activities. Many companies experience performance slowdowns in their applications due to storage latency during database operations.
To tackle this problem, AWS unveiled Amazon Elastic Block Store (Amazon EBS) io2 Block Express in December 2020. This solution aims to optimize storage management for high-performance database servers, enabling them to efficiently handle I/O intensive workloads.
This post examines the performance differences between a PostgreSQL database running on Amazon EBS gp3 and io2 Block Express. io2 Block Express allows you to attain up to 256,000 IOPS and 4,000 MiB/s throughput per volume. It supports expansive storage needs with up to 64 TiB per volume, while making sure of low-variance sub-millisecond disk I/O latency. The low latency is achieved by Scalable Reliable Datagrams (SRD), an advanced communication protocol integrated into the AWS Nitro System. This post is a part of series that has shown how to achieve higher database performance using Amazon EBS io2 Block Express volumes for Oracle databases.
Database performance comparison overview
To measure database performance, it’s essential to consider key metrics such as IOPS, latency, and throughput. IOPS quantifies the number of input and output operations per second, latency indicates the time it takes for a single I/O request to complete, and throughput measures the amount of data that can be read or written per second.
To assess database performance, we used HammerDB, an open-source database benchmarking and load testing tool that supports multiple database platforms, such as PostgreSQL. It is widely used to measure the performance and scalability of database systems under simulated workloads. For PostgreSQL, HammerDB implements the Transaction Processing Performance Council-C (TPC-C) benchmark, which emulates the online transaction processing (OLTP) workload of a wholesale supplier, and the Transaction Processing Performance Council-H (TPC-H) benchmark for evaluating the performance of Online Analytical Processing (OLAP) systems, which focuses on decision support systems (DSS) and measures how efficiently a database can handle complex analytical queries on large datasets.
This tool measures the average transaction rate in transactions per second (TPS) in OLTP testing and queries per hour in OLAP testing. Using benchmark data allows us to compare the performance of Amazon EBS gp3 with io2 Block Express under identical stress test conditions.
We provisioned two environments on Amazon Elastic Compute Cloud (Amazon EC2) with the instance type of r5b.24xlarge to examine the impact of storage performance on the database using four types of tests: OLTP Load test, OLTP Stress test, OLAP Load test, and OLAP Stress test by configuring PostgreSQL databases on each of these environments. One environment was configured with Amazon EBS gp3 volume type and the other with Amazon EBS io2 Block Express volume type.
We compared the database transactional and latency performance using different storage types of io2 Block Express and gp3. Based on the results analysis, for the same IOPS and throughput configuration on each of these EBS volume types, io2 Block Express performed 2.08 times better on transactions per minute (TPM) and provided 3.85 times lower latency for OLTP workloads and 2.78 times lower latency for OLAP workloads. Therefore, io2 Block Express is a recommended solution for database workloads that are sensitive to disk latencies and where performance is a priority over cost. Detailed test results are shown in the following sections.
Comparing EBS volume types gp3 and io2 Block Express
The following figure is a quick comparison of features and pricing between gp3 and io2 Block Express volumes.
Volume type |
gp3 |
io2 Block Express |
Durability |
99.8% – 99.9% durability (0.1% – 0.2% annual failure rate) |
99.999% durability (0.001% annual failure rate) |
Use-Cases |
– Low-latency interactive apps – Development and test environments |
– Workloads that need sub-millisecond latency, and sustained IOPS performance or more than 64,000 IOPS or 1,000 MiB/s of throughput |
Volume size |
1 GiB – 16 TiB |
4 GiB – 64 TiB |
Max IOPS per volume |
1,000 MiB/s |
4,000 MiB/s |
Latency |
single digit millisecond |
sub-millisecond |
Price |
Storage price: – $0.08/GB-month IOPS price: – 3,000 IOPS included – $0.005/provisioned IOPS-month over 3,000 IOPS Throughput price: – 125 MiB/s included – $0.04/provisioned MiB/s-month over 125 MiBps |
Storage price: – $0.125/GB-month IOPS price: – $0.065/provisioned IOPS-month up to 32,000 IOPS – $0.046/provisioned IOPS-month from 32,001 to 64,000 IOPS – $0.032/provisioned IOPS-month for greater than 64,000 IOPS |
Durability |
99.8% – 99.9% durability (0.1% – 0.2% annual failure rate) |
99.999% durability (0.001% annual failure rate) |
Durability advantages
EBS io2 Block Express volumes offers 100 times better durability than EBS gp3 volumes, with an annual failure rate of just 0.001% compared to gp3’s 0.1-0.2%. This makes io2 Block Express particularly valuable for:
- Mission-critical databases
- Financial transaction systems
- Healthcare applications
- Any workload where data loss is unacceptable
Benchmarking system configuration
The following configuration was used to run performance tests for the comparison:
- An EC2 instance of type r5b.24xlarge with 96vCPU/768GB RAM
- Operating system: Amazon Linux 2023
- PostgreSQL database: PostgreSQL 16.5
- Storage configuration: We provisioned the storage for gp3 and io2 Block Express to match IOPS (80000 IOPS) and throughput (8000 MiB/s) for both configurations. This resulted in eight gp3 volumes (per volume: 10000 IOPS, 1000 MiB/s) as opposed to two io2 Block Express volumes (per volume: 40000 IOPS, 4000 MiB/s) to achieve the same total performance metrics. The r5b.24xlarge instance can support a maximum throughput of 7500 MiB/s.
Benchmarking data generation
To compare the performance of Amazon EBS gp3 and io2 Block Express, we loaded the PostgreSQL database with approximately 1 TB of data using the HammerDB tool with 100 warehouses and 10 virtual users, which generated OLTP and OLAP schema, as shown in the following images.
Figure 1: Schema Build Option – OLTP
The image below shows the setting for OLAP schema generation with scale factor of 100 chosen for the benchmark test.
Figure 2: Schema Build Option – OLAP
For more information on how the data was created for benchmark purposes, refer to this HammerDB link.
Benchmark performance analysis
To benchmark performance, the load was generated using the HammerDB tool and stress tests were run for each of the different storage configurations for the same simulated workload in both OLTP and OLAP scenarios.
Benchmark test overview
The following four tests were performed against the PostgreSQL database with RAID-0 configured on gp3 and io2 Block Express to compare performance.
- OLTP load test: Using this article as a reference and keeping the same CPU and memory configuration, we tested the database with different storage configurations using both io2 Block Express and gp3 when the OLTP schema was being loaded or built to compare against I/O write latency.
- OLAP load test: Using this article as a reference and keeping the same CPU and memory configuration, we tested database with different storage configurations using both io2 Block Express and gp3 when the OLAP schema was being loaded or built to compare against I/O write latency.
- OLTP stress test: In this test, while executing same stress test (100 warehouses, 10 virtual users, and 10 million transactions per user with timed duration of 10 minutes) on the database with different storage configurations on both gp3 and io2 Block Express, the latency of Amazon EBS was measured along with the TPM, as shown in the following figure.
Figure 3: Stress Test Options – OLTP
4. OLAP stress test: In this test, while executing same stress test (10 query sets per user, and 10 virtual users) on the database with different storage configurations on both gp3 and io2 Block Express, the latency of Amazon EBS was measured, as shown in the following figure.
Figure 4: Stress Test Options – OLAP
Benchmark test results
In this section, we give details about the results from the benchmark tests run against the PostgreSQL database running with RAID-0 on Amazon EBS io2 Block Express and gp3.
OLTP load test: In PostgreSQL, while loading the schema for 100 warehouses with 10 users in parallel, write latency per volume on io2 Block express was 3.47 times lower than gp3 on average, shown in the following figures.
Figure 5: Latency Performance in milliseconds – gp3
As seen in the image below there is a significant improvement in latency performance for io2 Block Express for same data load.
Figure 6: Latency Performance in milliseconds – io2 Block Express
Figure 7: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 8: Average Write Latency in milliseconds – io2 Block Express
OLAP load test: In PostgreSQL, while loading the schema for 100 warehouses with 10 users in parallel and 10 query set per user for OLAP schema, write latency per volume on io2 Block express was 3.13 times lower than gp3 on average.
Figure 9: Latency Performance in milliseconds – gp3
Latency performance with OLAP load test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 10: Latency Performance in milliseconds – io2 Block Express
Figure 11: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 12: Average Write Latency in milliseconds – io2 Block Express
OLTP stress test: For the PostgreSQL database with the RAID-0 configuration, the average latency with 80K IOPS running on io2 Block Express volumes was observed to be 0.39 milliseconds, whereas with 80K IOPS running on gp3, the average disk latency was observed to be 1.67 milliseconds. Amazon EBS io2 Block Express was 4.28 times faster than gp3 in terms of disk latency, achieving very low time to complete a single I/O operation on a block device running on the PostgreSQL database.
Figure 13: Latency Performance in milliseconds – gp3
Latency performance with OLTP load test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 14: Latency Performance in milliseconds – io2 Block Express
Figure 15: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 16: Average Write Latency in milliseconds – io2 Block Express
In this stress test, the number of new orders per minute (NOPM) were computed. With gp3 volumes, we observed 129,729 TPM resulting in 55,120 NOPM. With io2 block express we got 269,823 TPM, resulting in 117,460 NOPM. This was a 2.08 times improvement in TPM and a 2.13 times improvement in NOPM.
Figure 17: Transactions per Minute – gp3
HammerDB results showcasing the TPM metrics and NOPM metrics are seen for gp3 in the image above and io2 Block Express in the image below:
Figure 18: Transactions per Minute – io2 Block Express
OLAP stress test: For the PostgreSQL database with the RAID-0 configuration, the maximum latency with 80K IOPS running on io2 Block Express volumes was observed to be 0.7 milliseconds for writes and 0.54 milliseconds for reads. On the other hand, with 80K IOPS running on gp3, the maximum disk latency was observed to be 3.44 milliseconds for writes and 0.81 milliseconds for reads. Amazon EBS io2 Block Express showed 4.91 times better performance for writes and 1.50 times better performance for reads as compared to gp3, achieving very low time to complete a single I/O operation on a block device running the PostgreSQL database, as shown in the following figures.
Figure 19: Latency Performance in milliseconds – gp3 (OLAP Stress Test)
Latency performance with OLAP stress test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 20: Latency Performance in milliseconds – io2 Block Express (OLAP Stress Test)
Figure 21: Average Latency Performance in milliseconds – gp3 (OLAP Stress Test)
Average write latency per volume in OLAP stress test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 22: Average Latency Performance in milliseconds – io2 Block Express (OLAP Stress Test)
Cost and performance use cases for gp3 and io2 Block Express
The following is the cost performance comparison for gp3 and io2 Block Express
gp3:
- Optimal for: development, test environments, and production workloads that can tolerate single-digit millisecond latencies
- Cost-effective choice at $1,375.36/month for the tested configuration
- Durability: 99.8% – 99.9% (0.1% – 0.2% annual failure rate)
- Best for: budget-conscious workloads where sub-millisecond latency isn’t critical
io2 Block Express:
- Optimal for: mission-critical production workloads needing consistent sub-millisecond latency
- Higher cost at $5,408/month delivers:
- 2.07 times higher transaction throughput
- 4.28 times faster I/O response time
- Durability: 99.999% (0.001% annual failure rate)
- Best for: performance-sensitive workloads where data durability and consistent sub-millisecond latency are essential
Amazon EBS io2 Block Express is the premium storage solution for high-performance database workloads, particularly those that are sensitive to disk latencies and need sub-millisecond response times. It excels in scenarios where performance and durability are paramount considerations.
The key advantages of io2 Block Express include:
- Superior performance: ideal for I/O-intensive critical workloads, delivering consistently low latency and high throughput.
- Sub-millisecond responsiveness: crucial for applications that demand rapid data access and processing.
- Enhanced durability: offers higher durability as compared to standard EBS volumes, making it suitable for mission-critical data.
- Scalability: supports larger volume sizes and higher IOPS, accommodating growing and demanding workloads.
Although gp3 volumes may be suitable for less demanding workloads or where cost is a primary factor, io2 Block Express is the go-to choice for databases and applications that need the highest levels of performance, consistency, and reliability. It’s particularly well-suited for enterprise-grade databases, high-performance computing, and data-intensive applications where every millisecond counts.
For a detailed analysis of storage patterns and the benefits of moving to the AWS cloud, this Amazon storage post provides valuable insights.
Cleaning Up
The services involved in this solution incur costs. So as not to incur additional costs, make sure to clean up the resources created:
- Amazon EC2 instances – Stop or delete (terminate) the Amazon EC2 instances that you provisioned.
- Amazon EBS volumes – Delete the EBS volumes created.
Conclusion
For workloads that demand high performance and sub-millisecond latencies, where performance takes precedence over cost, Amazon EBS io2 Block Express is the ideal block storage solution.
Amazon EBS io2 Block Express uses advanced communication protocols developed as part of the AWS Nitro System. It delivers up to 256K IOPS and 4000 MiB/s of throughput per volume, supports a maximum volume size of 64 TiB, and makes sure of consistently low-variance sub-millisecond disk I/O latency.
In performance benchmarks using a PostgreSQL workload on an r5b.24xlarge EC2 instance, io2 Block Express demonstrated superior transactional and I/O performance as compared to Amazon EBS gp3.
The following table highlights the percentage performance improvements observed during testing, showcasing the advantages of io2 Block Express for high-performance PostgreSQL database workloads over gp3.
The tests in this post were run on the PostgreSQL database, which demonstrated that io2 Block Express performed 3.95 times faster on average than gp3 across all test scenarios. Similar performance improvements can be expected when running other database engines such as Microsoft SQL Server, Oracle, and MySQL, as these benefits stem from the underlying storage architecture rather than being specific to PostgreSQL.
Thank you for reading this post on the benefits of using io2 Block Express over gp3 for I/O intensive database workloads. To learn more about Amazon EBS, check out the tech doc. If you have any comments or questions, then please leave them in the comments section.
” temperature=”0.3″ top_p=”1.0″ best_of=”1″ presence_penalty=”0.1″ ].125/GB-month IOPS price: – [cyberseo_openai model=”gpt-4o-mini” prompt=”Rewrite a news story for a technical publication, in a calm style with creativity and flair based on text below, making sure it reads like human-written text in a natural way. The article shall NOT include a title, introduction and conclusion. The article shall NOT start from a title. Response language English. Generate HTML-formatted content using
tag for a sub-heading. You can use only
,
,
,
- , and HTML tags if necessary. Text: Databases are a fundamental component for any organization with its own IT infrastructure powering various applications. Making sure of the smooth operation of database servers is vital because any performance disruptions can impact numerous users and their activities. Many companies experience performance slowdowns in their applications due to storage latency during database operations.
To tackle this problem, AWS unveiled Amazon Elastic Block Store (Amazon EBS) io2 Block Express in December 2020. This solution aims to optimize storage management for high-performance database servers, enabling them to efficiently handle I/O intensive workloads.
This post examines the performance differences between a PostgreSQL database running on Amazon EBS gp3 and io2 Block Express. io2 Block Express allows you to attain up to 256,000 IOPS and 4,000 MiB/s throughput per volume. It supports expansive storage needs with up to 64 TiB per volume, while making sure of low-variance sub-millisecond disk I/O latency. The low latency is achieved by Scalable Reliable Datagrams (SRD), an advanced communication protocol integrated into the AWS Nitro System. This post is a part of series that has shown how to achieve higher database performance using Amazon EBS io2 Block Express volumes for Oracle databases.
Database performance comparison overview
To measure database performance, it’s essential to consider key metrics such as IOPS, latency, and throughput. IOPS quantifies the number of input and output operations per second, latency indicates the time it takes for a single I/O request to complete, and throughput measures the amount of data that can be read or written per second.
To assess database performance, we used HammerDB, an open-source database benchmarking and load testing tool that supports multiple database platforms, such as PostgreSQL. It is widely used to measure the performance and scalability of database systems under simulated workloads. For PostgreSQL, HammerDB implements the Transaction Processing Performance Council-C (TPC-C) benchmark, which emulates the online transaction processing (OLTP) workload of a wholesale supplier, and the Transaction Processing Performance Council-H (TPC-H) benchmark for evaluating the performance of Online Analytical Processing (OLAP) systems, which focuses on decision support systems (DSS) and measures how efficiently a database can handle complex analytical queries on large datasets.
This tool measures the average transaction rate in transactions per second (TPS) in OLTP testing and queries per hour in OLAP testing. Using benchmark data allows us to compare the performance of Amazon EBS gp3 with io2 Block Express under identical stress test conditions.
We provisioned two environments on Amazon Elastic Compute Cloud (Amazon EC2) with the instance type of r5b.24xlarge to examine the impact of storage performance on the database using four types of tests: OLTP Load test, OLTP Stress test, OLAP Load test, and OLAP Stress test by configuring PostgreSQL databases on each of these environments. One environment was configured with Amazon EBS gp3 volume type and the other with Amazon EBS io2 Block Express volume type.
We compared the database transactional and latency performance using different storage types of io2 Block Express and gp3. Based on the results analysis, for the same IOPS and throughput configuration on each of these EBS volume types, io2 Block Express performed 2.08 times better on transactions per minute (TPM) and provided 3.85 times lower latency for OLTP workloads and 2.78 times lower latency for OLAP workloads. Therefore, io2 Block Express is a recommended solution for database workloads that are sensitive to disk latencies and where performance is a priority over cost. Detailed test results are shown in the following sections.
Comparing EBS volume types gp3 and io2 Block Express
The following figure is a quick comparison of features and pricing between gp3 and io2 Block Express volumes.
Volume type |
gp3 |
io2 Block Express |
Durability |
99.8% – 99.9% durability (0.1% – 0.2% annual failure rate) |
99.999% durability (0.001% annual failure rate) |
Use-Cases |
– Low-latency interactive apps – Development and test environments |
– Workloads that need sub-millisecond latency, and sustained IOPS performance or more than 64,000 IOPS or 1,000 MiB/s of throughput |
Volume size |
1 GiB – 16 TiB |
4 GiB – 64 TiB |
Max IOPS per volume |
1,000 MiB/s |
4,000 MiB/s |
Latency |
single digit millisecond |
sub-millisecond |
Price |
Storage price: – $0.08/GB-month IOPS price: – 3,000 IOPS included – $0.005/provisioned IOPS-month over 3,000 IOPS Throughput price: – 125 MiB/s included – $0.04/provisioned MiB/s-month over 125 MiBps |
Storage price: – $0.125/GB-month IOPS price: – $0.065/provisioned IOPS-month up to 32,000 IOPS – $0.046/provisioned IOPS-month from 32,001 to 64,000 IOPS – $0.032/provisioned IOPS-month for greater than 64,000 IOPS |
Durability |
99.8% – 99.9% durability (0.1% – 0.2% annual failure rate) |
99.999% durability (0.001% annual failure rate) |
Durability advantages
EBS io2 Block Express volumes offers 100 times better durability than EBS gp3 volumes, with an annual failure rate of just 0.001% compared to gp3’s 0.1-0.2%. This makes io2 Block Express particularly valuable for:
- Mission-critical databases
- Financial transaction systems
- Healthcare applications
- Any workload where data loss is unacceptable
Benchmarking system configuration
The following configuration was used to run performance tests for the comparison:
- An EC2 instance of type r5b.24xlarge with 96vCPU/768GB RAM
- Operating system: Amazon Linux 2023
- PostgreSQL database: PostgreSQL 16.5
- Storage configuration: We provisioned the storage for gp3 and io2 Block Express to match IOPS (80000 IOPS) and throughput (8000 MiB/s) for both configurations. This resulted in eight gp3 volumes (per volume: 10000 IOPS, 1000 MiB/s) as opposed to two io2 Block Express volumes (per volume: 40000 IOPS, 4000 MiB/s) to achieve the same total performance metrics. The r5b.24xlarge instance can support a maximum throughput of 7500 MiB/s.
Benchmarking data generation
To compare the performance of Amazon EBS gp3 and io2 Block Express, we loaded the PostgreSQL database with approximately 1 TB of data using the HammerDB tool with 100 warehouses and 10 virtual users, which generated OLTP and OLAP schema, as shown in the following images.
Figure 1: Schema Build Option – OLTP
The image below shows the setting for OLAP schema generation with scale factor of 100 chosen for the benchmark test.
Figure 2: Schema Build Option – OLAP
For more information on how the data was created for benchmark purposes, refer to this HammerDB link.
Benchmark performance analysis
To benchmark performance, the load was generated using the HammerDB tool and stress tests were run for each of the different storage configurations for the same simulated workload in both OLTP and OLAP scenarios.
Benchmark test overview
The following four tests were performed against the PostgreSQL database with RAID-0 configured on gp3 and io2 Block Express to compare performance.
- OLTP load test: Using this article as a reference and keeping the same CPU and memory configuration, we tested the database with different storage configurations using both io2 Block Express and gp3 when the OLTP schema was being loaded or built to compare against I/O write latency.
- OLAP load test: Using this article as a reference and keeping the same CPU and memory configuration, we tested database with different storage configurations using both io2 Block Express and gp3 when the OLAP schema was being loaded or built to compare against I/O write latency.
- OLTP stress test: In this test, while executing same stress test (100 warehouses, 10 virtual users, and 10 million transactions per user with timed duration of 10 minutes) on the database with different storage configurations on both gp3 and io2 Block Express, the latency of Amazon EBS was measured along with the TPM, as shown in the following figure.
Figure 3: Stress Test Options – OLTP
4. OLAP stress test: In this test, while executing same stress test (10 query sets per user, and 10 virtual users) on the database with different storage configurations on both gp3 and io2 Block Express, the latency of Amazon EBS was measured, as shown in the following figure.
Figure 4: Stress Test Options – OLAP
Benchmark test results
In this section, we give details about the results from the benchmark tests run against the PostgreSQL database running with RAID-0 on Amazon EBS io2 Block Express and gp3.
OLTP load test: In PostgreSQL, while loading the schema for 100 warehouses with 10 users in parallel, write latency per volume on io2 Block express was 3.47 times lower than gp3 on average, shown in the following figures.
Figure 5: Latency Performance in milliseconds – gp3
As seen in the image below there is a significant improvement in latency performance for io2 Block Express for same data load.
Figure 6: Latency Performance in milliseconds – io2 Block Express
Figure 7: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 8: Average Write Latency in milliseconds – io2 Block Express
OLAP load test: In PostgreSQL, while loading the schema for 100 warehouses with 10 users in parallel and 10 query set per user for OLAP schema, write latency per volume on io2 Block express was 3.13 times lower than gp3 on average.
Figure 9: Latency Performance in milliseconds – gp3
Latency performance with OLAP load test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 10: Latency Performance in milliseconds – io2 Block Express
Figure 11: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 12: Average Write Latency in milliseconds – io2 Block Express
OLTP stress test: For the PostgreSQL database with the RAID-0 configuration, the average latency with 80K IOPS running on io2 Block Express volumes was observed to be 0.39 milliseconds, whereas with 80K IOPS running on gp3, the average disk latency was observed to be 1.67 milliseconds. Amazon EBS io2 Block Express was 4.28 times faster than gp3 in terms of disk latency, achieving very low time to complete a single I/O operation on a block device running on the PostgreSQL database.
Figure 13: Latency Performance in milliseconds – gp3
Latency performance with OLTP load test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 14: Latency Performance in milliseconds – io2 Block Express
Figure 15: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 16: Average Write Latency in milliseconds – io2 Block Express
In this stress test, the number of new orders per minute (NOPM) were computed. With gp3 volumes, we observed 129,729 TPM resulting in 55,120 NOPM. With io2 block express we got 269,823 TPM, resulting in 117,460 NOPM. This was a 2.08 times improvement in TPM and a 2.13 times improvement in NOPM.
Figure 17: Transactions per Minute – gp3
HammerDB results showcasing the TPM metrics and NOPM metrics are seen for gp3 in the image above and io2 Block Express in the image below:
Figure 18: Transactions per Minute – io2 Block Express
OLAP stress test: For the PostgreSQL database with the RAID-0 configuration, the maximum latency with 80K IOPS running on io2 Block Express volumes was observed to be 0.7 milliseconds for writes and 0.54 milliseconds for reads. On the other hand, with 80K IOPS running on gp3, the maximum disk latency was observed to be 3.44 milliseconds for writes and 0.81 milliseconds for reads. Amazon EBS io2 Block Express showed 4.91 times better performance for writes and 1.50 times better performance for reads as compared to gp3, achieving very low time to complete a single I/O operation on a block device running the PostgreSQL database, as shown in the following figures.
Figure 19: Latency Performance in milliseconds – gp3 (OLAP Stress Test)
Latency performance with OLAP stress test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 20: Latency Performance in milliseconds – io2 Block Express (OLAP Stress Test)
Figure 21: Average Latency Performance in milliseconds – gp3 (OLAP Stress Test)
Average write latency per volume in OLAP stress test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 22: Average Latency Performance in milliseconds – io2 Block Express (OLAP Stress Test)
Cost and performance use cases for gp3 and io2 Block Express
The following is the cost performance comparison for gp3 and io2 Block Express
gp3:
- Optimal for: development, test environments, and production workloads that can tolerate single-digit millisecond latencies
- Cost-effective choice at $1,375.36/month for the tested configuration
- Durability: 99.8% – 99.9% (0.1% – 0.2% annual failure rate)
- Best for: budget-conscious workloads where sub-millisecond latency isn’t critical
io2 Block Express:
- Optimal for: mission-critical production workloads needing consistent sub-millisecond latency
- Higher cost at $5,408/month delivers:
- 2.07 times higher transaction throughput
- 4.28 times faster I/O response time
- Durability: 99.999% (0.001% annual failure rate)
- Best for: performance-sensitive workloads where data durability and consistent sub-millisecond latency are essential
Amazon EBS io2 Block Express is the premium storage solution for high-performance database workloads, particularly those that are sensitive to disk latencies and need sub-millisecond response times. It excels in scenarios where performance and durability are paramount considerations.
The key advantages of io2 Block Express include:
- Superior performance: ideal for I/O-intensive critical workloads, delivering consistently low latency and high throughput.
- Sub-millisecond responsiveness: crucial for applications that demand rapid data access and processing.
- Enhanced durability: offers higher durability as compared to standard EBS volumes, making it suitable for mission-critical data.
- Scalability: supports larger volume sizes and higher IOPS, accommodating growing and demanding workloads.
Although gp3 volumes may be suitable for less demanding workloads or where cost is a primary factor, io2 Block Express is the go-to choice for databases and applications that need the highest levels of performance, consistency, and reliability. It’s particularly well-suited for enterprise-grade databases, high-performance computing, and data-intensive applications where every millisecond counts.
For a detailed analysis of storage patterns and the benefits of moving to the AWS cloud, this Amazon storage post provides valuable insights.
Cleaning Up
The services involved in this solution incur costs. So as not to incur additional costs, make sure to clean up the resources created:
- Amazon EC2 instances – Stop or delete (terminate) the Amazon EC2 instances that you provisioned.
- Amazon EBS volumes – Delete the EBS volumes created.
Conclusion
For workloads that demand high performance and sub-millisecond latencies, where performance takes precedence over cost, Amazon EBS io2 Block Express is the ideal block storage solution.
Amazon EBS io2 Block Express uses advanced communication protocols developed as part of the AWS Nitro System. It delivers up to 256K IOPS and 4000 MiB/s of throughput per volume, supports a maximum volume size of 64 TiB, and makes sure of consistently low-variance sub-millisecond disk I/O latency.
In performance benchmarks using a PostgreSQL workload on an r5b.24xlarge EC2 instance, io2 Block Express demonstrated superior transactional and I/O performance as compared to Amazon EBS gp3.
The following table highlights the percentage performance improvements observed during testing, showcasing the advantages of io2 Block Express for high-performance PostgreSQL database workloads over gp3.
The tests in this post were run on the PostgreSQL database, which demonstrated that io2 Block Express performed 3.95 times faster on average than gp3 across all test scenarios. Similar performance improvements can be expected when running other database engines such as Microsoft SQL Server, Oracle, and MySQL, as these benefits stem from the underlying storage architecture rather than being specific to PostgreSQL.
Thank you for reading this post on the benefits of using io2 Block Express over gp3 for I/O intensive database workloads. To learn more about Amazon EBS, check out the tech doc. If you have any comments or questions, then please leave them in the comments section.
” temperature=”0.3″ top_p=”1.0″ best_of=”1″ presence_penalty=”0.1″ ].065/provisioned IOPS-month up to 32,000 IOPS – [cyberseo_openai model=”gpt-4o-mini” prompt=”Rewrite a news story for a technical publication, in a calm style with creativity and flair based on text below, making sure it reads like human-written text in a natural way. The article shall NOT include a title, introduction and conclusion. The article shall NOT start from a title. Response language English. Generate HTML-formatted content using
tag for a sub-heading. You can use only
,
,
,
- , and HTML tags if necessary. Text: Databases are a fundamental component for any organization with its own IT infrastructure powering various applications. Making sure of the smooth operation of database servers is vital because any performance disruptions can impact numerous users and their activities. Many companies experience performance slowdowns in their applications due to storage latency during database operations.
To tackle this problem, AWS unveiled Amazon Elastic Block Store (Amazon EBS) io2 Block Express in December 2020. This solution aims to optimize storage management for high-performance database servers, enabling them to efficiently handle I/O intensive workloads.
This post examines the performance differences between a PostgreSQL database running on Amazon EBS gp3 and io2 Block Express. io2 Block Express allows you to attain up to 256,000 IOPS and 4,000 MiB/s throughput per volume. It supports expansive storage needs with up to 64 TiB per volume, while making sure of low-variance sub-millisecond disk I/O latency. The low latency is achieved by Scalable Reliable Datagrams (SRD), an advanced communication protocol integrated into the AWS Nitro System. This post is a part of series that has shown how to achieve higher database performance using Amazon EBS io2 Block Express volumes for Oracle databases.
Database performance comparison overview
To measure database performance, it’s essential to consider key metrics such as IOPS, latency, and throughput. IOPS quantifies the number of input and output operations per second, latency indicates the time it takes for a single I/O request to complete, and throughput measures the amount of data that can be read or written per second.
To assess database performance, we used HammerDB, an open-source database benchmarking and load testing tool that supports multiple database platforms, such as PostgreSQL. It is widely used to measure the performance and scalability of database systems under simulated workloads. For PostgreSQL, HammerDB implements the Transaction Processing Performance Council-C (TPC-C) benchmark, which emulates the online transaction processing (OLTP) workload of a wholesale supplier, and the Transaction Processing Performance Council-H (TPC-H) benchmark for evaluating the performance of Online Analytical Processing (OLAP) systems, which focuses on decision support systems (DSS) and measures how efficiently a database can handle complex analytical queries on large datasets.
This tool measures the average transaction rate in transactions per second (TPS) in OLTP testing and queries per hour in OLAP testing. Using benchmark data allows us to compare the performance of Amazon EBS gp3 with io2 Block Express under identical stress test conditions.
We provisioned two environments on Amazon Elastic Compute Cloud (Amazon EC2) with the instance type of r5b.24xlarge to examine the impact of storage performance on the database using four types of tests: OLTP Load test, OLTP Stress test, OLAP Load test, and OLAP Stress test by configuring PostgreSQL databases on each of these environments. One environment was configured with Amazon EBS gp3 volume type and the other with Amazon EBS io2 Block Express volume type.
We compared the database transactional and latency performance using different storage types of io2 Block Express and gp3. Based on the results analysis, for the same IOPS and throughput configuration on each of these EBS volume types, io2 Block Express performed 2.08 times better on transactions per minute (TPM) and provided 3.85 times lower latency for OLTP workloads and 2.78 times lower latency for OLAP workloads. Therefore, io2 Block Express is a recommended solution for database workloads that are sensitive to disk latencies and where performance is a priority over cost. Detailed test results are shown in the following sections.
Comparing EBS volume types gp3 and io2 Block Express
The following figure is a quick comparison of features and pricing between gp3 and io2 Block Express volumes.
Volume type |
gp3 |
io2 Block Express |
Durability |
99.8% – 99.9% durability (0.1% – 0.2% annual failure rate) |
99.999% durability (0.001% annual failure rate) |
Use-Cases |
– Low-latency interactive apps – Development and test environments |
– Workloads that need sub-millisecond latency, and sustained IOPS performance or more than 64,000 IOPS or 1,000 MiB/s of throughput |
Volume size |
1 GiB – 16 TiB |
4 GiB – 64 TiB |
Max IOPS per volume |
1,000 MiB/s |
4,000 MiB/s |
Latency |
single digit millisecond |
sub-millisecond |
Price |
Storage price: – $0.08/GB-month IOPS price: – 3,000 IOPS included – $0.005/provisioned IOPS-month over 3,000 IOPS Throughput price: – 125 MiB/s included – $0.04/provisioned MiB/s-month over 125 MiBps |
Storage price: – $0.125/GB-month IOPS price: – $0.065/provisioned IOPS-month up to 32,000 IOPS – $0.046/provisioned IOPS-month from 32,001 to 64,000 IOPS – $0.032/provisioned IOPS-month for greater than 64,000 IOPS |
Durability |
99.8% – 99.9% durability (0.1% – 0.2% annual failure rate) |
99.999% durability (0.001% annual failure rate) |
Durability advantages
EBS io2 Block Express volumes offers 100 times better durability than EBS gp3 volumes, with an annual failure rate of just 0.001% compared to gp3’s 0.1-0.2%. This makes io2 Block Express particularly valuable for:
- Mission-critical databases
- Financial transaction systems
- Healthcare applications
- Any workload where data loss is unacceptable
Benchmarking system configuration
The following configuration was used to run performance tests for the comparison:
- An EC2 instance of type r5b.24xlarge with 96vCPU/768GB RAM
- Operating system: Amazon Linux 2023
- PostgreSQL database: PostgreSQL 16.5
- Storage configuration: We provisioned the storage for gp3 and io2 Block Express to match IOPS (80000 IOPS) and throughput (8000 MiB/s) for both configurations. This resulted in eight gp3 volumes (per volume: 10000 IOPS, 1000 MiB/s) as opposed to two io2 Block Express volumes (per volume: 40000 IOPS, 4000 MiB/s) to achieve the same total performance metrics. The r5b.24xlarge instance can support a maximum throughput of 7500 MiB/s.
Benchmarking data generation
To compare the performance of Amazon EBS gp3 and io2 Block Express, we loaded the PostgreSQL database with approximately 1 TB of data using the HammerDB tool with 100 warehouses and 10 virtual users, which generated OLTP and OLAP schema, as shown in the following images.
Figure 1: Schema Build Option – OLTP
The image below shows the setting for OLAP schema generation with scale factor of 100 chosen for the benchmark test.
Figure 2: Schema Build Option – OLAP
For more information on how the data was created for benchmark purposes, refer to this HammerDB link.
Benchmark performance analysis
To benchmark performance, the load was generated using the HammerDB tool and stress tests were run for each of the different storage configurations for the same simulated workload in both OLTP and OLAP scenarios.
Benchmark test overview
The following four tests were performed against the PostgreSQL database with RAID-0 configured on gp3 and io2 Block Express to compare performance.
- OLTP load test: Using this article as a reference and keeping the same CPU and memory configuration, we tested the database with different storage configurations using both io2 Block Express and gp3 when the OLTP schema was being loaded or built to compare against I/O write latency.
- OLAP load test: Using this article as a reference and keeping the same CPU and memory configuration, we tested database with different storage configurations using both io2 Block Express and gp3 when the OLAP schema was being loaded or built to compare against I/O write latency.
- OLTP stress test: In this test, while executing same stress test (100 warehouses, 10 virtual users, and 10 million transactions per user with timed duration of 10 minutes) on the database with different storage configurations on both gp3 and io2 Block Express, the latency of Amazon EBS was measured along with the TPM, as shown in the following figure.
Figure 3: Stress Test Options – OLTP
4. OLAP stress test: In this test, while executing same stress test (10 query sets per user, and 10 virtual users) on the database with different storage configurations on both gp3 and io2 Block Express, the latency of Amazon EBS was measured, as shown in the following figure.
Figure 4: Stress Test Options – OLAP
Benchmark test results
In this section, we give details about the results from the benchmark tests run against the PostgreSQL database running with RAID-0 on Amazon EBS io2 Block Express and gp3.
OLTP load test: In PostgreSQL, while loading the schema for 100 warehouses with 10 users in parallel, write latency per volume on io2 Block express was 3.47 times lower than gp3 on average, shown in the following figures.
Figure 5: Latency Performance in milliseconds – gp3
As seen in the image below there is a significant improvement in latency performance for io2 Block Express for same data load.
Figure 6: Latency Performance in milliseconds – io2 Block Express
Figure 7: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 8: Average Write Latency in milliseconds – io2 Block Express
OLAP load test: In PostgreSQL, while loading the schema for 100 warehouses with 10 users in parallel and 10 query set per user for OLAP schema, write latency per volume on io2 Block express was 3.13 times lower than gp3 on average.
Figure 9: Latency Performance in milliseconds – gp3
Latency performance with OLAP load test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 10: Latency Performance in milliseconds – io2 Block Express
Figure 11: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 12: Average Write Latency in milliseconds – io2 Block Express
OLTP stress test: For the PostgreSQL database with the RAID-0 configuration, the average latency with 80K IOPS running on io2 Block Express volumes was observed to be 0.39 milliseconds, whereas with 80K IOPS running on gp3, the average disk latency was observed to be 1.67 milliseconds. Amazon EBS io2 Block Express was 4.28 times faster than gp3 in terms of disk latency, achieving very low time to complete a single I/O operation on a block device running on the PostgreSQL database.
Figure 13: Latency Performance in milliseconds – gp3
Latency performance with OLTP load test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 14: Latency Performance in milliseconds – io2 Block Express
Figure 15: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 16: Average Write Latency in milliseconds – io2 Block Express
In this stress test, the number of new orders per minute (NOPM) were computed. With gp3 volumes, we observed 129,729 TPM resulting in 55,120 NOPM. With io2 block express we got 269,823 TPM, resulting in 117,460 NOPM. This was a 2.08 times improvement in TPM and a 2.13 times improvement in NOPM.
Figure 17: Transactions per Minute – gp3
HammerDB results showcasing the TPM metrics and NOPM metrics are seen for gp3 in the image above and io2 Block Express in the image below:
Figure 18: Transactions per Minute – io2 Block Express
OLAP stress test: For the PostgreSQL database with the RAID-0 configuration, the maximum latency with 80K IOPS running on io2 Block Express volumes was observed to be 0.7 milliseconds for writes and 0.54 milliseconds for reads. On the other hand, with 80K IOPS running on gp3, the maximum disk latency was observed to be 3.44 milliseconds for writes and 0.81 milliseconds for reads. Amazon EBS io2 Block Express showed 4.91 times better performance for writes and 1.50 times better performance for reads as compared to gp3, achieving very low time to complete a single I/O operation on a block device running the PostgreSQL database, as shown in the following figures.
Figure 19: Latency Performance in milliseconds – gp3 (OLAP Stress Test)
Latency performance with OLAP stress test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 20: Latency Performance in milliseconds – io2 Block Express (OLAP Stress Test)
Figure 21: Average Latency Performance in milliseconds – gp3 (OLAP Stress Test)
Average write latency per volume in OLAP stress test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 22: Average Latency Performance in milliseconds – io2 Block Express (OLAP Stress Test)
Cost and performance use cases for gp3 and io2 Block Express
The following is the cost performance comparison for gp3 and io2 Block Express
gp3:
- Optimal for: development, test environments, and production workloads that can tolerate single-digit millisecond latencies
- Cost-effective choice at $1,375.36/month for the tested configuration
- Durability: 99.8% – 99.9% (0.1% – 0.2% annual failure rate)
- Best for: budget-conscious workloads where sub-millisecond latency isn’t critical
io2 Block Express:
- Optimal for: mission-critical production workloads needing consistent sub-millisecond latency
- Higher cost at $5,408/month delivers:
- 2.07 times higher transaction throughput
- 4.28 times faster I/O response time
- Durability: 99.999% (0.001% annual failure rate)
- Best for: performance-sensitive workloads where data durability and consistent sub-millisecond latency are essential
Amazon EBS io2 Block Express is the premium storage solution for high-performance database workloads, particularly those that are sensitive to disk latencies and need sub-millisecond response times. It excels in scenarios where performance and durability are paramount considerations.
The key advantages of io2 Block Express include:
- Superior performance: ideal for I/O-intensive critical workloads, delivering consistently low latency and high throughput.
- Sub-millisecond responsiveness: crucial for applications that demand rapid data access and processing.
- Enhanced durability: offers higher durability as compared to standard EBS volumes, making it suitable for mission-critical data.
- Scalability: supports larger volume sizes and higher IOPS, accommodating growing and demanding workloads.
Although gp3 volumes may be suitable for less demanding workloads or where cost is a primary factor, io2 Block Express is the go-to choice for databases and applications that need the highest levels of performance, consistency, and reliability. It’s particularly well-suited for enterprise-grade databases, high-performance computing, and data-intensive applications where every millisecond counts.
For a detailed analysis of storage patterns and the benefits of moving to the AWS cloud, this Amazon storage post provides valuable insights.
Cleaning Up
The services involved in this solution incur costs. So as not to incur additional costs, make sure to clean up the resources created:
- Amazon EC2 instances – Stop or delete (terminate) the Amazon EC2 instances that you provisioned.
- Amazon EBS volumes – Delete the EBS volumes created.
Conclusion
For workloads that demand high performance and sub-millisecond latencies, where performance takes precedence over cost, Amazon EBS io2 Block Express is the ideal block storage solution.
Amazon EBS io2 Block Express uses advanced communication protocols developed as part of the AWS Nitro System. It delivers up to 256K IOPS and 4000 MiB/s of throughput per volume, supports a maximum volume size of 64 TiB, and makes sure of consistently low-variance sub-millisecond disk I/O latency.
In performance benchmarks using a PostgreSQL workload on an r5b.24xlarge EC2 instance, io2 Block Express demonstrated superior transactional and I/O performance as compared to Amazon EBS gp3.
The following table highlights the percentage performance improvements observed during testing, showcasing the advantages of io2 Block Express for high-performance PostgreSQL database workloads over gp3.
The tests in this post were run on the PostgreSQL database, which demonstrated that io2 Block Express performed 3.95 times faster on average than gp3 across all test scenarios. Similar performance improvements can be expected when running other database engines such as Microsoft SQL Server, Oracle, and MySQL, as these benefits stem from the underlying storage architecture rather than being specific to PostgreSQL.
Thank you for reading this post on the benefits of using io2 Block Express over gp3 for I/O intensive database workloads. To learn more about Amazon EBS, check out the tech doc. If you have any comments or questions, then please leave them in the comments section.
” temperature=”0.3″ top_p=”1.0″ best_of=”1″ presence_penalty=”0.1″ ].046/provisioned IOPS-month from 32,001 to 64,000 IOPS – [cyberseo_openai model=”gpt-4o-mini” prompt=”Rewrite a news story for a technical publication, in a calm style with creativity and flair based on text below, making sure it reads like human-written text in a natural way. The article shall NOT include a title, introduction and conclusion. The article shall NOT start from a title. Response language English. Generate HTML-formatted content using
tag for a sub-heading. You can use only
,
,
,
- , and HTML tags if necessary. Text: Databases are a fundamental component for any organization with its own IT infrastructure powering various applications. Making sure of the smooth operation of database servers is vital because any performance disruptions can impact numerous users and their activities. Many companies experience performance slowdowns in their applications due to storage latency during database operations.
To tackle this problem, AWS unveiled Amazon Elastic Block Store (Amazon EBS) io2 Block Express in December 2020. This solution aims to optimize storage management for high-performance database servers, enabling them to efficiently handle I/O intensive workloads.
This post examines the performance differences between a PostgreSQL database running on Amazon EBS gp3 and io2 Block Express. io2 Block Express allows you to attain up to 256,000 IOPS and 4,000 MiB/s throughput per volume. It supports expansive storage needs with up to 64 TiB per volume, while making sure of low-variance sub-millisecond disk I/O latency. The low latency is achieved by Scalable Reliable Datagrams (SRD), an advanced communication protocol integrated into the AWS Nitro System. This post is a part of series that has shown how to achieve higher database performance using Amazon EBS io2 Block Express volumes for Oracle databases.
Database performance comparison overview
To measure database performance, it’s essential to consider key metrics such as IOPS, latency, and throughput. IOPS quantifies the number of input and output operations per second, latency indicates the time it takes for a single I/O request to complete, and throughput measures the amount of data that can be read or written per second.
To assess database performance, we used HammerDB, an open-source database benchmarking and load testing tool that supports multiple database platforms, such as PostgreSQL. It is widely used to measure the performance and scalability of database systems under simulated workloads. For PostgreSQL, HammerDB implements the Transaction Processing Performance Council-C (TPC-C) benchmark, which emulates the online transaction processing (OLTP) workload of a wholesale supplier, and the Transaction Processing Performance Council-H (TPC-H) benchmark for evaluating the performance of Online Analytical Processing (OLAP) systems, which focuses on decision support systems (DSS) and measures how efficiently a database can handle complex analytical queries on large datasets.
This tool measures the average transaction rate in transactions per second (TPS) in OLTP testing and queries per hour in OLAP testing. Using benchmark data allows us to compare the performance of Amazon EBS gp3 with io2 Block Express under identical stress test conditions.
We provisioned two environments on Amazon Elastic Compute Cloud (Amazon EC2) with the instance type of r5b.24xlarge to examine the impact of storage performance on the database using four types of tests: OLTP Load test, OLTP Stress test, OLAP Load test, and OLAP Stress test by configuring PostgreSQL databases on each of these environments. One environment was configured with Amazon EBS gp3 volume type and the other with Amazon EBS io2 Block Express volume type.
We compared the database transactional and latency performance using different storage types of io2 Block Express and gp3. Based on the results analysis, for the same IOPS and throughput configuration on each of these EBS volume types, io2 Block Express performed 2.08 times better on transactions per minute (TPM) and provided 3.85 times lower latency for OLTP workloads and 2.78 times lower latency for OLAP workloads. Therefore, io2 Block Express is a recommended solution for database workloads that are sensitive to disk latencies and where performance is a priority over cost. Detailed test results are shown in the following sections.
Comparing EBS volume types gp3 and io2 Block Express
The following figure is a quick comparison of features and pricing between gp3 and io2 Block Express volumes.
Volume type |
gp3 |
io2 Block Express |
Durability |
99.8% – 99.9% durability (0.1% – 0.2% annual failure rate) |
99.999% durability (0.001% annual failure rate) |
Use-Cases |
– Low-latency interactive apps – Development and test environments |
– Workloads that need sub-millisecond latency, and sustained IOPS performance or more than 64,000 IOPS or 1,000 MiB/s of throughput |
Volume size |
1 GiB – 16 TiB |
4 GiB – 64 TiB |
Max IOPS per volume |
1,000 MiB/s |
4,000 MiB/s |
Latency |
single digit millisecond |
sub-millisecond |
Price |
Storage price: – $0.08/GB-month IOPS price: – 3,000 IOPS included – $0.005/provisioned IOPS-month over 3,000 IOPS Throughput price: – 125 MiB/s included – $0.04/provisioned MiB/s-month over 125 MiBps |
Storage price: – $0.125/GB-month IOPS price: – $0.065/provisioned IOPS-month up to 32,000 IOPS – $0.046/provisioned IOPS-month from 32,001 to 64,000 IOPS – $0.032/provisioned IOPS-month for greater than 64,000 IOPS |
Durability |
99.8% – 99.9% durability (0.1% – 0.2% annual failure rate) |
99.999% durability (0.001% annual failure rate) |
Durability advantages
EBS io2 Block Express volumes offers 100 times better durability than EBS gp3 volumes, with an annual failure rate of just 0.001% compared to gp3’s 0.1-0.2%. This makes io2 Block Express particularly valuable for:
- Mission-critical databases
- Financial transaction systems
- Healthcare applications
- Any workload where data loss is unacceptable
Benchmarking system configuration
The following configuration was used to run performance tests for the comparison:
- An EC2 instance of type r5b.24xlarge with 96vCPU/768GB RAM
- Operating system: Amazon Linux 2023
- PostgreSQL database: PostgreSQL 16.5
- Storage configuration: We provisioned the storage for gp3 and io2 Block Express to match IOPS (80000 IOPS) and throughput (8000 MiB/s) for both configurations. This resulted in eight gp3 volumes (per volume: 10000 IOPS, 1000 MiB/s) as opposed to two io2 Block Express volumes (per volume: 40000 IOPS, 4000 MiB/s) to achieve the same total performance metrics. The r5b.24xlarge instance can support a maximum throughput of 7500 MiB/s.
Benchmarking data generation
To compare the performance of Amazon EBS gp3 and io2 Block Express, we loaded the PostgreSQL database with approximately 1 TB of data using the HammerDB tool with 100 warehouses and 10 virtual users, which generated OLTP and OLAP schema, as shown in the following images.
Figure 1: Schema Build Option – OLTP
The image below shows the setting for OLAP schema generation with scale factor of 100 chosen for the benchmark test.
Figure 2: Schema Build Option – OLAP
For more information on how the data was created for benchmark purposes, refer to this HammerDB link.
Benchmark performance analysis
To benchmark performance, the load was generated using the HammerDB tool and stress tests were run for each of the different storage configurations for the same simulated workload in both OLTP and OLAP scenarios.
Benchmark test overview
The following four tests were performed against the PostgreSQL database with RAID-0 configured on gp3 and io2 Block Express to compare performance.
- OLTP load test: Using this article as a reference and keeping the same CPU and memory configuration, we tested the database with different storage configurations using both io2 Block Express and gp3 when the OLTP schema was being loaded or built to compare against I/O write latency.
- OLAP load test: Using this article as a reference and keeping the same CPU and memory configuration, we tested database with different storage configurations using both io2 Block Express and gp3 when the OLAP schema was being loaded or built to compare against I/O write latency.
- OLTP stress test: In this test, while executing same stress test (100 warehouses, 10 virtual users, and 10 million transactions per user with timed duration of 10 minutes) on the database with different storage configurations on both gp3 and io2 Block Express, the latency of Amazon EBS was measured along with the TPM, as shown in the following figure.
Figure 3: Stress Test Options – OLTP
4. OLAP stress test: In this test, while executing same stress test (10 query sets per user, and 10 virtual users) on the database with different storage configurations on both gp3 and io2 Block Express, the latency of Amazon EBS was measured, as shown in the following figure.
Figure 4: Stress Test Options – OLAP
Benchmark test results
In this section, we give details about the results from the benchmark tests run against the PostgreSQL database running with RAID-0 on Amazon EBS io2 Block Express and gp3.
OLTP load test: In PostgreSQL, while loading the schema for 100 warehouses with 10 users in parallel, write latency per volume on io2 Block express was 3.47 times lower than gp3 on average, shown in the following figures.
Figure 5: Latency Performance in milliseconds – gp3
As seen in the image below there is a significant improvement in latency performance for io2 Block Express for same data load.
Figure 6: Latency Performance in milliseconds – io2 Block Express
Figure 7: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 8: Average Write Latency in milliseconds – io2 Block Express
OLAP load test: In PostgreSQL, while loading the schema for 100 warehouses with 10 users in parallel and 10 query set per user for OLAP schema, write latency per volume on io2 Block express was 3.13 times lower than gp3 on average.
Figure 9: Latency Performance in milliseconds – gp3
Latency performance with OLAP load test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 10: Latency Performance in milliseconds – io2 Block Express
Figure 11: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 12: Average Write Latency in milliseconds – io2 Block Express
OLTP stress test: For the PostgreSQL database with the RAID-0 configuration, the average latency with 80K IOPS running on io2 Block Express volumes was observed to be 0.39 milliseconds, whereas with 80K IOPS running on gp3, the average disk latency was observed to be 1.67 milliseconds. Amazon EBS io2 Block Express was 4.28 times faster than gp3 in terms of disk latency, achieving very low time to complete a single I/O operation on a block device running on the PostgreSQL database.
Figure 13: Latency Performance in milliseconds – gp3
Latency performance with OLTP load test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 14: Latency Performance in milliseconds – io2 Block Express
Figure 15: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 16: Average Write Latency in milliseconds – io2 Block Express
In this stress test, the number of new orders per minute (NOPM) were computed. With gp3 volumes, we observed 129,729 TPM resulting in 55,120 NOPM. With io2 block express we got 269,823 TPM, resulting in 117,460 NOPM. This was a 2.08 times improvement in TPM and a 2.13 times improvement in NOPM.
Figure 17: Transactions per Minute – gp3
HammerDB results showcasing the TPM metrics and NOPM metrics are seen for gp3 in the image above and io2 Block Express in the image below:
Figure 18: Transactions per Minute – io2 Block Express
OLAP stress test: For the PostgreSQL database with the RAID-0 configuration, the maximum latency with 80K IOPS running on io2 Block Express volumes was observed to be 0.7 milliseconds for writes and 0.54 milliseconds for reads. On the other hand, with 80K IOPS running on gp3, the maximum disk latency was observed to be 3.44 milliseconds for writes and 0.81 milliseconds for reads. Amazon EBS io2 Block Express showed 4.91 times better performance for writes and 1.50 times better performance for reads as compared to gp3, achieving very low time to complete a single I/O operation on a block device running the PostgreSQL database, as shown in the following figures.
Figure 19: Latency Performance in milliseconds – gp3 (OLAP Stress Test)
Latency performance with OLAP stress test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 20: Latency Performance in milliseconds – io2 Block Express (OLAP Stress Test)
Figure 21: Average Latency Performance in milliseconds – gp3 (OLAP Stress Test)
Average write latency per volume in OLAP stress test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 22: Average Latency Performance in milliseconds – io2 Block Express (OLAP Stress Test)
Cost and performance use cases for gp3 and io2 Block Express
The following is the cost performance comparison for gp3 and io2 Block Express
gp3:
- Optimal for: development, test environments, and production workloads that can tolerate single-digit millisecond latencies
- Cost-effective choice at $1,375.36/month for the tested configuration
- Durability: 99.8% – 99.9% (0.1% – 0.2% annual failure rate)
- Best for: budget-conscious workloads where sub-millisecond latency isn’t critical
io2 Block Express:
- Optimal for: mission-critical production workloads needing consistent sub-millisecond latency
- Higher cost at $5,408/month delivers:
- 2.07 times higher transaction throughput
- 4.28 times faster I/O response time
- Durability: 99.999% (0.001% annual failure rate)
- Best for: performance-sensitive workloads where data durability and consistent sub-millisecond latency are essential
Amazon EBS io2 Block Express is the premium storage solution for high-performance database workloads, particularly those that are sensitive to disk latencies and need sub-millisecond response times. It excels in scenarios where performance and durability are paramount considerations.
The key advantages of io2 Block Express include:
- Superior performance: ideal for I/O-intensive critical workloads, delivering consistently low latency and high throughput.
- Sub-millisecond responsiveness: crucial for applications that demand rapid data access and processing.
- Enhanced durability: offers higher durability as compared to standard EBS volumes, making it suitable for mission-critical data.
- Scalability: supports larger volume sizes and higher IOPS, accommodating growing and demanding workloads.
Although gp3 volumes may be suitable for less demanding workloads or where cost is a primary factor, io2 Block Express is the go-to choice for databases and applications that need the highest levels of performance, consistency, and reliability. It’s particularly well-suited for enterprise-grade databases, high-performance computing, and data-intensive applications where every millisecond counts.
For a detailed analysis of storage patterns and the benefits of moving to the AWS cloud, this Amazon storage post provides valuable insights.
Cleaning Up
The services involved in this solution incur costs. So as not to incur additional costs, make sure to clean up the resources created:
- Amazon EC2 instances – Stop or delete (terminate) the Amazon EC2 instances that you provisioned.
- Amazon EBS volumes – Delete the EBS volumes created.
Conclusion
For workloads that demand high performance and sub-millisecond latencies, where performance takes precedence over cost, Amazon EBS io2 Block Express is the ideal block storage solution.
Amazon EBS io2 Block Express uses advanced communication protocols developed as part of the AWS Nitro System. It delivers up to 256K IOPS and 4000 MiB/s of throughput per volume, supports a maximum volume size of 64 TiB, and makes sure of consistently low-variance sub-millisecond disk I/O latency.
In performance benchmarks using a PostgreSQL workload on an r5b.24xlarge EC2 instance, io2 Block Express demonstrated superior transactional and I/O performance as compared to Amazon EBS gp3.
The following table highlights the percentage performance improvements observed during testing, showcasing the advantages of io2 Block Express for high-performance PostgreSQL database workloads over gp3.
The tests in this post were run on the PostgreSQL database, which demonstrated that io2 Block Express performed 3.95 times faster on average than gp3 across all test scenarios. Similar performance improvements can be expected when running other database engines such as Microsoft SQL Server, Oracle, and MySQL, as these benefits stem from the underlying storage architecture rather than being specific to PostgreSQL.
Thank you for reading this post on the benefits of using io2 Block Express over gp3 for I/O intensive database workloads. To learn more about Amazon EBS, check out the tech doc. If you have any comments or questions, then please leave them in the comments section.
” temperature=”0.3″ top_p=”1.0″ best_of=”1″ presence_penalty=”0.1″ ].032/provisioned IOPS-month for greater than 64,000 IOPS |
Running I/O intensive workloads on PostgreSQL with Amazon EBS io2 Block Express
Databases serve as the backbone of IT infrastructure for organizations, enabling various applications to function seamlessly. Ensuring the optimal performance of database servers is crucial, as any disruptions can significantly affect user experience and operational efficiency. A common challenge faced by many companies is the performance degradation of applications due to storage latency during database operations.
In response to this challenge, AWS introduced Amazon Elastic Block Store (Amazon EBS) io2 Block Express in December 2020. This innovative solution is designed to enhance storage management for high-performance database servers, allowing them to effectively manage I/O-intensive workloads.
This analysis focuses on the performance differences between a PostgreSQL database operating on Amazon EBS gp3 and io2 Block Express. The io2 Block Express volume type boasts capabilities of up to 256,000 IOPS and 4,000 MiB/s throughput per volume, catering to extensive storage requirements with a maximum volume size of 64 TiB. It also ensures low-variance sub-millisecond disk I/O latency, achieved through the Scalable Reliable Datagrams (SRD) protocol, which is integrated into the AWS Nitro System. This post is part of a series that has previously demonstrated how to achieve higher database performance using Amazon EBS io2 Block Express volumes for Oracle databases.
Database performance comparison overview
Evaluating database performance necessitates consideration of key metrics such as IOPS, latency, and throughput. IOPS measures the number of input and output operations per second, latency reflects the time required for a single I/O request to complete, and throughput indicates the volume of data that can be read or written per second.
For this performance assessment, we utilized HammerDB, an open-source benchmarking and load testing tool that supports various database platforms, including PostgreSQL. HammerDB is widely recognized for its ability to measure the performance and scalability of database systems under simulated workloads. Specifically, it implements the Transaction Processing Performance Council-C (TPC-C) benchmark for emulating online transaction processing (OLTP) workloads and the Transaction Processing Performance Council-H (TPC-H) benchmark for assessing the performance of Online Analytical Processing (OLAP) systems, focusing on decision support systems (DSS) and the efficiency of handling complex analytical queries on large datasets.
This tool captures the average transaction rate in transactions per second (TPS) during OLTP testing and queries per hour in OLAP testing. By utilizing benchmark data, we can effectively compare the performance of Amazon EBS gp3 against io2 Block Express under identical stress test conditions.
We established two environments on Amazon Elastic Compute Cloud (Amazon EC2) with the r5b.24xlarge instance type to analyze the impact of storage performance on the database. Each environment was configured with PostgreSQL databases, one utilizing the Amazon EBS gp3 volume type and the other employing the Amazon EBS io2 Block Express volume type. We conducted four types of tests: OLTP Load test, OLTP Stress test, OLAP Load test, and OLAP Stress test.
Upon comparing the transactional and latency performance of the two storage types, we found that for equivalent IOPS and throughput configurations, io2 Block Express outperformed gp3 by 2.08 times in transactions per minute (TPM) and exhibited 3.85 times lower latency for OLTP workloads, alongside 2.78 times lower latency for OLAP workloads. Consequently, io2 Block Express emerges as a preferred solution for database workloads sensitive to disk latencies, where performance is prioritized over cost. Detailed test results are elaborated in the following sections.
Comparing EBS volume types gp3 and io2 Block Express
The following table provides a quick comparison of features and pricing between gp3 and io2 Block Express volumes.
– Development and test environments
tag for a sub-heading. You can use only
,
,
,- , and HTML tags if necessary. Text: Databases are a fundamental component for any organization with its own IT infrastructure powering various applications. Making sure of the smooth operation of database servers is vital because any performance disruptions can impact numerous users and their activities. Many companies experience performance slowdowns in their applications due to storage latency during database operations.
Volume type
gp3
io2 Block Express
Durability
99.8% – 99.9% durability (0.1% – 0.2% annual failure rate)
99.999% durability (0.001% annual failure rate)
Use-Cases
– Low-latency interactive apps – Development and test environments
– Workloads that need sub-millisecond latency, and sustained IOPS performance or more than 64,000 IOPS or 1,000 MiB/s of throughput
Volume size
1 GiB – 16 TiB
4 GiB – 64 TiB
Max IOPS per volume
1,000 MiB/s
4,000 MiB/s
Latency
single digit millisecond
sub-millisecond
Price
Storage price: – $0.08/GB-month IOPS price: – 3,000 IOPS included – $0.005/provisioned IOPS-month over 3,000 IOPS Throughput price: – 125 MiB/s included – $0.04/provisioned MiB/s-month over 125 MiBps
Storage price: – $0.125/GB-month IOPS price: – $0.065/provisioned IOPS-month up to 32,000 IOPS – $0.046/provisioned IOPS-month from 32,001 to 64,000 IOPS – $0.032/provisioned IOPS-month for greater than 64,000 IOPS
Durability
99.8% – 99.9% durability (0.1% – 0.2% annual failure rate)
99.999% durability (0.001% annual failure rate)
- Mission-critical databases
- Financial transaction systems
- Healthcare applications
- Any workload where data loss is unacceptable
- An EC2 instance of type r5b.24xlarge with 96vCPU/768GB RAM
- Operating system: Amazon Linux 2023
- PostgreSQL database: PostgreSQL 16.5
- Storage configuration: We provisioned the storage for gp3 and io2 Block Express to match IOPS (80000 IOPS) and throughput (8000 MiB/s) for both configurations. This resulted in eight gp3 volumes (per volume: 10000 IOPS, 1000 MiB/s) as opposed to two io2 Block Express volumes (per volume: 40000 IOPS, 4000 MiB/s) to achieve the same total performance metrics. The r5b.24xlarge instance can support a maximum throughput of 7500 MiB/s.
- OLTP load test: Using this article as a reference and keeping the same CPU and memory configuration, we tested the database with different storage configurations using both io2 Block Express and gp3 when the OLTP schema was being loaded or built to compare against I/O write latency.
- OLAP load test: Using this article as a reference and keeping the same CPU and memory configuration, we tested database with different storage configurations using both io2 Block Express and gp3 when the OLAP schema was being loaded or built to compare against I/O write latency.
- OLTP stress test: In this test, while executing same stress test (100 warehouses, 10 virtual users, and 10 million transactions per user with timed duration of 10 minutes) on the database with different storage configurations on both gp3 and io2 Block Express, the latency of Amazon EBS was measured along with the TPM, as shown in the following figure.
- Optimal for: development, test environments, and production workloads that can tolerate single-digit millisecond latencies
- Cost-effective choice at $1,375.36/month for the tested configuration
- Durability: 99.8% – 99.9% (0.1% – 0.2% annual failure rate)
- Best for: budget-conscious workloads where sub-millisecond latency isn’t critical
- Optimal for: mission-critical production workloads needing consistent sub-millisecond latency
- Higher cost at $5,408/month delivers:
- 2.07 times higher transaction throughput
- 4.28 times faster I/O response time
- Durability: 99.999% (0.001% annual failure rate)
- Best for: performance-sensitive workloads where data durability and consistent sub-millisecond latency are essential
- Superior performance: ideal for I/O-intensive critical workloads, delivering consistently low latency and high throughput.
- Sub-millisecond responsiveness: crucial for applications that demand rapid data access and processing.
- Enhanced durability: offers higher durability as compared to standard EBS volumes, making it suitable for mission-critical data.
- Scalability: supports larger volume sizes and higher IOPS, accommodating growing and demanding workloads.
- Amazon EC2 instances – Stop or delete (terminate) the Amazon EC2 instances that you provisioned.
- Amazon EBS volumes – Delete the EBS volumes created.
To tackle this problem, AWS unveiled Amazon Elastic Block Store (Amazon EBS) io2 Block Express in December 2020. This solution aims to optimize storage management for high-performance database servers, enabling them to efficiently handle I/O intensive workloads.
This post examines the performance differences between a PostgreSQL database running on Amazon EBS gp3 and io2 Block Express. io2 Block Express allows you to attain up to 256,000 IOPS and 4,000 MiB/s throughput per volume. It supports expansive storage needs with up to 64 TiB per volume, while making sure of low-variance sub-millisecond disk I/O latency. The low latency is achieved by Scalable Reliable Datagrams (SRD), an advanced communication protocol integrated into the AWS Nitro System. This post is a part of series that has shown how to achieve higher database performance using Amazon EBS io2 Block Express volumes for Oracle databases.
Database performance comparison overview
To measure database performance, it’s essential to consider key metrics such as IOPS, latency, and throughput. IOPS quantifies the number of input and output operations per second, latency indicates the time it takes for a single I/O request to complete, and throughput measures the amount of data that can be read or written per second.
To assess database performance, we used HammerDB, an open-source database benchmarking and load testing tool that supports multiple database platforms, such as PostgreSQL. It is widely used to measure the performance and scalability of database systems under simulated workloads. For PostgreSQL, HammerDB implements the Transaction Processing Performance Council-C (TPC-C) benchmark, which emulates the online transaction processing (OLTP) workload of a wholesale supplier, and the Transaction Processing Performance Council-H (TPC-H) benchmark for evaluating the performance of Online Analytical Processing (OLAP) systems, which focuses on decision support systems (DSS) and measures how efficiently a database can handle complex analytical queries on large datasets.
This tool measures the average transaction rate in transactions per second (TPS) in OLTP testing and queries per hour in OLAP testing. Using benchmark data allows us to compare the performance of Amazon EBS gp3 with io2 Block Express under identical stress test conditions.
We provisioned two environments on Amazon Elastic Compute Cloud (Amazon EC2) with the instance type of r5b.24xlarge to examine the impact of storage performance on the database using four types of tests: OLTP Load test, OLTP Stress test, OLAP Load test, and OLAP Stress test by configuring PostgreSQL databases on each of these environments. One environment was configured with Amazon EBS gp3 volume type and the other with Amazon EBS io2 Block Express volume type.
We compared the database transactional and latency performance using different storage types of io2 Block Express and gp3. Based on the results analysis, for the same IOPS and throughput configuration on each of these EBS volume types, io2 Block Express performed 2.08 times better on transactions per minute (TPM) and provided 3.85 times lower latency for OLTP workloads and 2.78 times lower latency for OLAP workloads. Therefore, io2 Block Express is a recommended solution for database workloads that are sensitive to disk latencies and where performance is a priority over cost. Detailed test results are shown in the following sections.
Comparing EBS volume types gp3 and io2 Block Express
The following figure is a quick comparison of features and pricing between gp3 and io2 Block Express volumes.
Durability advantages
EBS io2 Block Express volumes offers 100 times better durability than EBS gp3 volumes, with an annual failure rate of just 0.001% compared to gp3’s 0.1-0.2%. This makes io2 Block Express particularly valuable for:
Benchmarking system configuration
The following configuration was used to run performance tests for the comparison:
Benchmarking data generation
To compare the performance of Amazon EBS gp3 and io2 Block Express, we loaded the PostgreSQL database with approximately 1 TB of data using the HammerDB tool with 100 warehouses and 10 virtual users, which generated OLTP and OLAP schema, as shown in the following images.
Figure 1: Schema Build Option – OLTP
The image below shows the setting for OLAP schema generation with scale factor of 100 chosen for the benchmark test.
Figure 2: Schema Build Option – OLAP
For more information on how the data was created for benchmark purposes, refer to this HammerDB link.
Benchmark performance analysis
To benchmark performance, the load was generated using the HammerDB tool and stress tests were run for each of the different storage configurations for the same simulated workload in both OLTP and OLAP scenarios.
Benchmark test overview
The following four tests were performed against the PostgreSQL database with RAID-0 configured on gp3 and io2 Block Express to compare performance.
Figure 3: Stress Test Options – OLTP
4. OLAP stress test: In this test, while executing same stress test (10 query sets per user, and 10 virtual users) on the database with different storage configurations on both gp3 and io2 Block Express, the latency of Amazon EBS was measured, as shown in the following figure.
Figure 4: Stress Test Options – OLAP
Benchmark test results
In this section, we give details about the results from the benchmark tests run against the PostgreSQL database running with RAID-0 on Amazon EBS io2 Block Express and gp3.
OLTP load test: In PostgreSQL, while loading the schema for 100 warehouses with 10 users in parallel, write latency per volume on io2 Block express was 3.47 times lower than gp3 on average, shown in the following figures.
Figure 5: Latency Performance in milliseconds – gp3
As seen in the image below there is a significant improvement in latency performance for io2 Block Express for same data load.
Figure 6: Latency Performance in milliseconds – io2 Block Express
Figure 7: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 8: Average Write Latency in milliseconds – io2 Block Express
OLAP load test: In PostgreSQL, while loading the schema for 100 warehouses with 10 users in parallel and 10 query set per user for OLAP schema, write latency per volume on io2 Block express was 3.13 times lower than gp3 on average.
Figure 9: Latency Performance in milliseconds – gp3
Latency performance with OLAP load test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 10: Latency Performance in milliseconds – io2 Block Express
Figure 11: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 12: Average Write Latency in milliseconds – io2 Block Express
OLTP stress test: For the PostgreSQL database with the RAID-0 configuration, the average latency with 80K IOPS running on io2 Block Express volumes was observed to be 0.39 milliseconds, whereas with 80K IOPS running on gp3, the average disk latency was observed to be 1.67 milliseconds. Amazon EBS io2 Block Express was 4.28 times faster than gp3 in terms of disk latency, achieving very low time to complete a single I/O operation on a block device running on the PostgreSQL database.
Figure 13: Latency Performance in milliseconds – gp3
Latency performance with OLTP load test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 14: Latency Performance in milliseconds – io2 Block Express
Figure 15: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 16: Average Write Latency in milliseconds – io2 Block Express
In this stress test, the number of new orders per minute (NOPM) were computed. With gp3 volumes, we observed 129,729 TPM resulting in 55,120 NOPM. With io2 block express we got 269,823 TPM, resulting in 117,460 NOPM. This was a 2.08 times improvement in TPM and a 2.13 times improvement in NOPM.
Figure 17: Transactions per Minute – gp3
HammerDB results showcasing the TPM metrics and NOPM metrics are seen for gp3 in the image above and io2 Block Express in the image below:
Figure 18: Transactions per Minute – io2 Block Express
OLAP stress test: For the PostgreSQL database with the RAID-0 configuration, the maximum latency with 80K IOPS running on io2 Block Express volumes was observed to be 0.7 milliseconds for writes and 0.54 milliseconds for reads. On the other hand, with 80K IOPS running on gp3, the maximum disk latency was observed to be 3.44 milliseconds for writes and 0.81 milliseconds for reads. Amazon EBS io2 Block Express showed 4.91 times better performance for writes and 1.50 times better performance for reads as compared to gp3, achieving very low time to complete a single I/O operation on a block device running the PostgreSQL database, as shown in the following figures.
Figure 19: Latency Performance in milliseconds – gp3 (OLAP Stress Test)
Latency performance with OLAP stress test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 20: Latency Performance in milliseconds – io2 Block Express (OLAP Stress Test)
Figure 21: Average Latency Performance in milliseconds – gp3 (OLAP Stress Test)
Average write latency per volume in OLAP stress test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 22: Average Latency Performance in milliseconds – io2 Block Express (OLAP Stress Test)
Cost and performance use cases for gp3 and io2 Block Express
The following is the cost performance comparison for gp3 and io2 Block Express
gp3:
io2 Block Express:
Amazon EBS io2 Block Express is the premium storage solution for high-performance database workloads, particularly those that are sensitive to disk latencies and need sub-millisecond response times. It excels in scenarios where performance and durability are paramount considerations.
The key advantages of io2 Block Express include:
Although gp3 volumes may be suitable for less demanding workloads or where cost is a primary factor, io2 Block Express is the go-to choice for databases and applications that need the highest levels of performance, consistency, and reliability. It’s particularly well-suited for enterprise-grade databases, high-performance computing, and data-intensive applications where every millisecond counts.
For a detailed analysis of storage patterns and the benefits of moving to the AWS cloud, this Amazon storage post provides valuable insights.
Cleaning Up
The services involved in this solution incur costs. So as not to incur additional costs, make sure to clean up the resources created:
Conclusion
For workloads that demand high performance and sub-millisecond latencies, where performance takes precedence over cost, Amazon EBS io2 Block Express is the ideal block storage solution.
Amazon EBS io2 Block Express uses advanced communication protocols developed as part of the AWS Nitro System. It delivers up to 256K IOPS and 4000 MiB/s of throughput per volume, supports a maximum volume size of 64 TiB, and makes sure of consistently low-variance sub-millisecond disk I/O latency.
In performance benchmarks using a PostgreSQL workload on an r5b.24xlarge EC2 instance, io2 Block Express demonstrated superior transactional and I/O performance as compared to Amazon EBS gp3.
The following table highlights the percentage performance improvements observed during testing, showcasing the advantages of io2 Block Express for high-performance PostgreSQL database workloads over gp3.
The tests in this post were run on the PostgreSQL database, which demonstrated that io2 Block Express performed 3.95 times faster on average than gp3 across all test scenarios. Similar performance improvements can be expected when running other database engines such as Microsoft SQL Server, Oracle, and MySQL, as these benefits stem from the underlying storage architecture rather than being specific to PostgreSQL.
Thank you for reading this post on the benefits of using io2 Block Express over gp3 for I/O intensive database workloads. To learn more about Amazon EBS, check out the tech doc. If you have any comments or questions, then please leave them in the comments section.
” temperature=”0.3″ top_p=”1.0″ best_of=”1″ presence_penalty=”0.1″ ].08/GB-month
IOPS price: – 3,000 IOPS included – [cyberseo_openai model=”gpt-4o-mini” prompt=”Rewrite a news story for a technical publication, in a calm style with creativity and flair based on text below, making sure it reads like human-written text in a natural way. The article shall NOT include a title, introduction and conclusion. The article shall NOT start from a title. Response language English. Generate HTML-formatted content using
tag for a sub-heading. You can use only
,
,
,- , and HTML tags if necessary. Text: Databases are a fundamental component for any organization with its own IT infrastructure powering various applications. Making sure of the smooth operation of database servers is vital because any performance disruptions can impact numerous users and their activities. Many companies experience performance slowdowns in their applications due to storage latency during database operations.
Volume type
gp3
io2 Block Express
Durability
99.8% – 99.9% durability (0.1% – 0.2% annual failure rate)
99.999% durability (0.001% annual failure rate)
Use-Cases
– Low-latency interactive apps – Development and test environments
– Workloads that need sub-millisecond latency, and sustained IOPS performance or more than 64,000 IOPS or 1,000 MiB/s of throughput
Volume size
1 GiB – 16 TiB
4 GiB – 64 TiB
Max IOPS per volume
1,000 MiB/s
4,000 MiB/s
Latency
single digit millisecond
sub-millisecond
Price
Storage price: – $0.08/GB-month IOPS price: – 3,000 IOPS included – $0.005/provisioned IOPS-month over 3,000 IOPS Throughput price: – 125 MiB/s included – $0.04/provisioned MiB/s-month over 125 MiBps
Storage price: – $0.125/GB-month IOPS price: – $0.065/provisioned IOPS-month up to 32,000 IOPS – $0.046/provisioned IOPS-month from 32,001 to 64,000 IOPS – $0.032/provisioned IOPS-month for greater than 64,000 IOPS
Durability
99.8% – 99.9% durability (0.1% – 0.2% annual failure rate)
99.999% durability (0.001% annual failure rate)
- Mission-critical databases
- Financial transaction systems
- Healthcare applications
- Any workload where data loss is unacceptable
- An EC2 instance of type r5b.24xlarge with 96vCPU/768GB RAM
- Operating system: Amazon Linux 2023
- PostgreSQL database: PostgreSQL 16.5
- Storage configuration: We provisioned the storage for gp3 and io2 Block Express to match IOPS (80000 IOPS) and throughput (8000 MiB/s) for both configurations. This resulted in eight gp3 volumes (per volume: 10000 IOPS, 1000 MiB/s) as opposed to two io2 Block Express volumes (per volume: 40000 IOPS, 4000 MiB/s) to achieve the same total performance metrics. The r5b.24xlarge instance can support a maximum throughput of 7500 MiB/s.
- OLTP load test: Using this article as a reference and keeping the same CPU and memory configuration, we tested the database with different storage configurations using both io2 Block Express and gp3 when the OLTP schema was being loaded or built to compare against I/O write latency.
- OLAP load test: Using this article as a reference and keeping the same CPU and memory configuration, we tested database with different storage configurations using both io2 Block Express and gp3 when the OLAP schema was being loaded or built to compare against I/O write latency.
- OLTP stress test: In this test, while executing same stress test (100 warehouses, 10 virtual users, and 10 million transactions per user with timed duration of 10 minutes) on the database with different storage configurations on both gp3 and io2 Block Express, the latency of Amazon EBS was measured along with the TPM, as shown in the following figure.
- Optimal for: development, test environments, and production workloads that can tolerate single-digit millisecond latencies
- Cost-effective choice at $1,375.36/month for the tested configuration
- Durability: 99.8% – 99.9% (0.1% – 0.2% annual failure rate)
- Best for: budget-conscious workloads where sub-millisecond latency isn’t critical
- Optimal for: mission-critical production workloads needing consistent sub-millisecond latency
- Higher cost at $5,408/month delivers:
- 2.07 times higher transaction throughput
- 4.28 times faster I/O response time
- Durability: 99.999% (0.001% annual failure rate)
- Best for: performance-sensitive workloads where data durability and consistent sub-millisecond latency are essential
- Superior performance: ideal for I/O-intensive critical workloads, delivering consistently low latency and high throughput.
- Sub-millisecond responsiveness: crucial for applications that demand rapid data access and processing.
- Enhanced durability: offers higher durability as compared to standard EBS volumes, making it suitable for mission-critical data.
- Scalability: supports larger volume sizes and higher IOPS, accommodating growing and demanding workloads.
- Amazon EC2 instances – Stop or delete (terminate) the Amazon EC2 instances that you provisioned.
- Amazon EBS volumes – Delete the EBS volumes created.
To tackle this problem, AWS unveiled Amazon Elastic Block Store (Amazon EBS) io2 Block Express in December 2020. This solution aims to optimize storage management for high-performance database servers, enabling them to efficiently handle I/O intensive workloads.
This post examines the performance differences between a PostgreSQL database running on Amazon EBS gp3 and io2 Block Express. io2 Block Express allows you to attain up to 256,000 IOPS and 4,000 MiB/s throughput per volume. It supports expansive storage needs with up to 64 TiB per volume, while making sure of low-variance sub-millisecond disk I/O latency. The low latency is achieved by Scalable Reliable Datagrams (SRD), an advanced communication protocol integrated into the AWS Nitro System. This post is a part of series that has shown how to achieve higher database performance using Amazon EBS io2 Block Express volumes for Oracle databases.
Database performance comparison overview
To measure database performance, it’s essential to consider key metrics such as IOPS, latency, and throughput. IOPS quantifies the number of input and output operations per second, latency indicates the time it takes for a single I/O request to complete, and throughput measures the amount of data that can be read or written per second.
To assess database performance, we used HammerDB, an open-source database benchmarking and load testing tool that supports multiple database platforms, such as PostgreSQL. It is widely used to measure the performance and scalability of database systems under simulated workloads. For PostgreSQL, HammerDB implements the Transaction Processing Performance Council-C (TPC-C) benchmark, which emulates the online transaction processing (OLTP) workload of a wholesale supplier, and the Transaction Processing Performance Council-H (TPC-H) benchmark for evaluating the performance of Online Analytical Processing (OLAP) systems, which focuses on decision support systems (DSS) and measures how efficiently a database can handle complex analytical queries on large datasets.
This tool measures the average transaction rate in transactions per second (TPS) in OLTP testing and queries per hour in OLAP testing. Using benchmark data allows us to compare the performance of Amazon EBS gp3 with io2 Block Express under identical stress test conditions.
We provisioned two environments on Amazon Elastic Compute Cloud (Amazon EC2) with the instance type of r5b.24xlarge to examine the impact of storage performance on the database using four types of tests: OLTP Load test, OLTP Stress test, OLAP Load test, and OLAP Stress test by configuring PostgreSQL databases on each of these environments. One environment was configured with Amazon EBS gp3 volume type and the other with Amazon EBS io2 Block Express volume type.
We compared the database transactional and latency performance using different storage types of io2 Block Express and gp3. Based on the results analysis, for the same IOPS and throughput configuration on each of these EBS volume types, io2 Block Express performed 2.08 times better on transactions per minute (TPM) and provided 3.85 times lower latency for OLTP workloads and 2.78 times lower latency for OLAP workloads. Therefore, io2 Block Express is a recommended solution for database workloads that are sensitive to disk latencies and where performance is a priority over cost. Detailed test results are shown in the following sections.
Comparing EBS volume types gp3 and io2 Block Express
The following figure is a quick comparison of features and pricing between gp3 and io2 Block Express volumes.
Durability advantages
EBS io2 Block Express volumes offers 100 times better durability than EBS gp3 volumes, with an annual failure rate of just 0.001% compared to gp3’s 0.1-0.2%. This makes io2 Block Express particularly valuable for:
Benchmarking system configuration
The following configuration was used to run performance tests for the comparison:
Benchmarking data generation
To compare the performance of Amazon EBS gp3 and io2 Block Express, we loaded the PostgreSQL database with approximately 1 TB of data using the HammerDB tool with 100 warehouses and 10 virtual users, which generated OLTP and OLAP schema, as shown in the following images.
Figure 1: Schema Build Option – OLTP
The image below shows the setting for OLAP schema generation with scale factor of 100 chosen for the benchmark test.
Figure 2: Schema Build Option – OLAP
For more information on how the data was created for benchmark purposes, refer to this HammerDB link.
Benchmark performance analysis
To benchmark performance, the load was generated using the HammerDB tool and stress tests were run for each of the different storage configurations for the same simulated workload in both OLTP and OLAP scenarios.
Benchmark test overview
The following four tests were performed against the PostgreSQL database with RAID-0 configured on gp3 and io2 Block Express to compare performance.
Figure 3: Stress Test Options – OLTP
4. OLAP stress test: In this test, while executing same stress test (10 query sets per user, and 10 virtual users) on the database with different storage configurations on both gp3 and io2 Block Express, the latency of Amazon EBS was measured, as shown in the following figure.
Figure 4: Stress Test Options – OLAP
Benchmark test results
In this section, we give details about the results from the benchmark tests run against the PostgreSQL database running with RAID-0 on Amazon EBS io2 Block Express and gp3.
OLTP load test: In PostgreSQL, while loading the schema for 100 warehouses with 10 users in parallel, write latency per volume on io2 Block express was 3.47 times lower than gp3 on average, shown in the following figures.
Figure 5: Latency Performance in milliseconds – gp3
As seen in the image below there is a significant improvement in latency performance for io2 Block Express for same data load.
Figure 6: Latency Performance in milliseconds – io2 Block Express
Figure 7: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 8: Average Write Latency in milliseconds – io2 Block Express
OLAP load test: In PostgreSQL, while loading the schema for 100 warehouses with 10 users in parallel and 10 query set per user for OLAP schema, write latency per volume on io2 Block express was 3.13 times lower than gp3 on average.
Figure 9: Latency Performance in milliseconds – gp3
Latency performance with OLAP load test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 10: Latency Performance in milliseconds – io2 Block Express
Figure 11: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 12: Average Write Latency in milliseconds – io2 Block Express
OLTP stress test: For the PostgreSQL database with the RAID-0 configuration, the average latency with 80K IOPS running on io2 Block Express volumes was observed to be 0.39 milliseconds, whereas with 80K IOPS running on gp3, the average disk latency was observed to be 1.67 milliseconds. Amazon EBS io2 Block Express was 4.28 times faster than gp3 in terms of disk latency, achieving very low time to complete a single I/O operation on a block device running on the PostgreSQL database.
Figure 13: Latency Performance in milliseconds – gp3
Latency performance with OLTP load test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 14: Latency Performance in milliseconds – io2 Block Express
Figure 15: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 16: Average Write Latency in milliseconds – io2 Block Express
In this stress test, the number of new orders per minute (NOPM) were computed. With gp3 volumes, we observed 129,729 TPM resulting in 55,120 NOPM. With io2 block express we got 269,823 TPM, resulting in 117,460 NOPM. This was a 2.08 times improvement in TPM and a 2.13 times improvement in NOPM.
Figure 17: Transactions per Minute – gp3
HammerDB results showcasing the TPM metrics and NOPM metrics are seen for gp3 in the image above and io2 Block Express in the image below:
Figure 18: Transactions per Minute – io2 Block Express
OLAP stress test: For the PostgreSQL database with the RAID-0 configuration, the maximum latency with 80K IOPS running on io2 Block Express volumes was observed to be 0.7 milliseconds for writes and 0.54 milliseconds for reads. On the other hand, with 80K IOPS running on gp3, the maximum disk latency was observed to be 3.44 milliseconds for writes and 0.81 milliseconds for reads. Amazon EBS io2 Block Express showed 4.91 times better performance for writes and 1.50 times better performance for reads as compared to gp3, achieving very low time to complete a single I/O operation on a block device running the PostgreSQL database, as shown in the following figures.
Figure 19: Latency Performance in milliseconds – gp3 (OLAP Stress Test)
Latency performance with OLAP stress test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 20: Latency Performance in milliseconds – io2 Block Express (OLAP Stress Test)
Figure 21: Average Latency Performance in milliseconds – gp3 (OLAP Stress Test)
Average write latency per volume in OLAP stress test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 22: Average Latency Performance in milliseconds – io2 Block Express (OLAP Stress Test)
Cost and performance use cases for gp3 and io2 Block Express
The following is the cost performance comparison for gp3 and io2 Block Express
gp3:
io2 Block Express:
Amazon EBS io2 Block Express is the premium storage solution for high-performance database workloads, particularly those that are sensitive to disk latencies and need sub-millisecond response times. It excels in scenarios where performance and durability are paramount considerations.
The key advantages of io2 Block Express include:
Although gp3 volumes may be suitable for less demanding workloads or where cost is a primary factor, io2 Block Express is the go-to choice for databases and applications that need the highest levels of performance, consistency, and reliability. It’s particularly well-suited for enterprise-grade databases, high-performance computing, and data-intensive applications where every millisecond counts.
For a detailed analysis of storage patterns and the benefits of moving to the AWS cloud, this Amazon storage post provides valuable insights.
Cleaning Up
The services involved in this solution incur costs. So as not to incur additional costs, make sure to clean up the resources created:
Conclusion
For workloads that demand high performance and sub-millisecond latencies, where performance takes precedence over cost, Amazon EBS io2 Block Express is the ideal block storage solution.
Amazon EBS io2 Block Express uses advanced communication protocols developed as part of the AWS Nitro System. It delivers up to 256K IOPS and 4000 MiB/s of throughput per volume, supports a maximum volume size of 64 TiB, and makes sure of consistently low-variance sub-millisecond disk I/O latency.
In performance benchmarks using a PostgreSQL workload on an r5b.24xlarge EC2 instance, io2 Block Express demonstrated superior transactional and I/O performance as compared to Amazon EBS gp3.
The following table highlights the percentage performance improvements observed during testing, showcasing the advantages of io2 Block Express for high-performance PostgreSQL database workloads over gp3.
The tests in this post were run on the PostgreSQL database, which demonstrated that io2 Block Express performed 3.95 times faster on average than gp3 across all test scenarios. Similar performance improvements can be expected when running other database engines such as Microsoft SQL Server, Oracle, and MySQL, as these benefits stem from the underlying storage architecture rather than being specific to PostgreSQL.
Thank you for reading this post on the benefits of using io2 Block Express over gp3 for I/O intensive database workloads. To learn more about Amazon EBS, check out the tech doc. If you have any comments or questions, then please leave them in the comments section.
” temperature=”0.3″ top_p=”1.0″ best_of=”1″ presence_penalty=”0.1″ ].005/provisioned IOPS-month over 3,000 IOPS
Throughput price: – 125 MiB/s included – [cyberseo_openai model=”gpt-4o-mini” prompt=”Rewrite a news story for a technical publication, in a calm style with creativity and flair based on text below, making sure it reads like human-written text in a natural way. The article shall NOT include a title, introduction and conclusion. The article shall NOT start from a title. Response language English. Generate HTML-formatted content using
tag for a sub-heading. You can use only
,
,
,- , and HTML tags if necessary. Text: Databases are a fundamental component for any organization with its own IT infrastructure powering various applications. Making sure of the smooth operation of database servers is vital because any performance disruptions can impact numerous users and their activities. Many companies experience performance slowdowns in their applications due to storage latency during database operations.
Volume type
gp3
io2 Block Express
Durability
99.8% – 99.9% durability (0.1% – 0.2% annual failure rate)
99.999% durability (0.001% annual failure rate)
Use-Cases
– Low-latency interactive apps – Development and test environments
– Workloads that need sub-millisecond latency, and sustained IOPS performance or more than 64,000 IOPS or 1,000 MiB/s of throughput
Volume size
1 GiB – 16 TiB
4 GiB – 64 TiB
Max IOPS per volume
1,000 MiB/s
4,000 MiB/s
Latency
single digit millisecond
sub-millisecond
Price
Storage price: – $0.08/GB-month IOPS price: – 3,000 IOPS included – $0.005/provisioned IOPS-month over 3,000 IOPS Throughput price: – 125 MiB/s included – $0.04/provisioned MiB/s-month over 125 MiBps
Storage price: – $0.125/GB-month IOPS price: – $0.065/provisioned IOPS-month up to 32,000 IOPS – $0.046/provisioned IOPS-month from 32,001 to 64,000 IOPS – $0.032/provisioned IOPS-month for greater than 64,000 IOPS
Durability
99.8% – 99.9% durability (0.1% – 0.2% annual failure rate)
99.999% durability (0.001% annual failure rate)
- Mission-critical databases
- Financial transaction systems
- Healthcare applications
- Any workload where data loss is unacceptable
- An EC2 instance of type r5b.24xlarge with 96vCPU/768GB RAM
- Operating system: Amazon Linux 2023
- PostgreSQL database: PostgreSQL 16.5
- Storage configuration: We provisioned the storage for gp3 and io2 Block Express to match IOPS (80000 IOPS) and throughput (8000 MiB/s) for both configurations. This resulted in eight gp3 volumes (per volume: 10000 IOPS, 1000 MiB/s) as opposed to two io2 Block Express volumes (per volume: 40000 IOPS, 4000 MiB/s) to achieve the same total performance metrics. The r5b.24xlarge instance can support a maximum throughput of 7500 MiB/s.
- OLTP load test: Using this article as a reference and keeping the same CPU and memory configuration, we tested the database with different storage configurations using both io2 Block Express and gp3 when the OLTP schema was being loaded or built to compare against I/O write latency.
- OLAP load test: Using this article as a reference and keeping the same CPU and memory configuration, we tested database with different storage configurations using both io2 Block Express and gp3 when the OLAP schema was being loaded or built to compare against I/O write latency.
- OLTP stress test: In this test, while executing same stress test (100 warehouses, 10 virtual users, and 10 million transactions per user with timed duration of 10 minutes) on the database with different storage configurations on both gp3 and io2 Block Express, the latency of Amazon EBS was measured along with the TPM, as shown in the following figure.
- Optimal for: development, test environments, and production workloads that can tolerate single-digit millisecond latencies
- Cost-effective choice at $1,375.36/month for the tested configuration
- Durability: 99.8% – 99.9% (0.1% – 0.2% annual failure rate)
- Best for: budget-conscious workloads where sub-millisecond latency isn’t critical
- Optimal for: mission-critical production workloads needing consistent sub-millisecond latency
- Higher cost at $5,408/month delivers:
- 2.07 times higher transaction throughput
- 4.28 times faster I/O response time
- Durability: 99.999% (0.001% annual failure rate)
- Best for: performance-sensitive workloads where data durability and consistent sub-millisecond latency are essential
- Superior performance: ideal for I/O-intensive critical workloads, delivering consistently low latency and high throughput.
- Sub-millisecond responsiveness: crucial for applications that demand rapid data access and processing.
- Enhanced durability: offers higher durability as compared to standard EBS volumes, making it suitable for mission-critical data.
- Scalability: supports larger volume sizes and higher IOPS, accommodating growing and demanding workloads.
- Amazon EC2 instances – Stop or delete (terminate) the Amazon EC2 instances that you provisioned.
- Amazon EBS volumes – Delete the EBS volumes created.
To tackle this problem, AWS unveiled Amazon Elastic Block Store (Amazon EBS) io2 Block Express in December 2020. This solution aims to optimize storage management for high-performance database servers, enabling them to efficiently handle I/O intensive workloads.
This post examines the performance differences between a PostgreSQL database running on Amazon EBS gp3 and io2 Block Express. io2 Block Express allows you to attain up to 256,000 IOPS and 4,000 MiB/s throughput per volume. It supports expansive storage needs with up to 64 TiB per volume, while making sure of low-variance sub-millisecond disk I/O latency. The low latency is achieved by Scalable Reliable Datagrams (SRD), an advanced communication protocol integrated into the AWS Nitro System. This post is a part of series that has shown how to achieve higher database performance using Amazon EBS io2 Block Express volumes for Oracle databases.
Database performance comparison overview
To measure database performance, it’s essential to consider key metrics such as IOPS, latency, and throughput. IOPS quantifies the number of input and output operations per second, latency indicates the time it takes for a single I/O request to complete, and throughput measures the amount of data that can be read or written per second.
To assess database performance, we used HammerDB, an open-source database benchmarking and load testing tool that supports multiple database platforms, such as PostgreSQL. It is widely used to measure the performance and scalability of database systems under simulated workloads. For PostgreSQL, HammerDB implements the Transaction Processing Performance Council-C (TPC-C) benchmark, which emulates the online transaction processing (OLTP) workload of a wholesale supplier, and the Transaction Processing Performance Council-H (TPC-H) benchmark for evaluating the performance of Online Analytical Processing (OLAP) systems, which focuses on decision support systems (DSS) and measures how efficiently a database can handle complex analytical queries on large datasets.
This tool measures the average transaction rate in transactions per second (TPS) in OLTP testing and queries per hour in OLAP testing. Using benchmark data allows us to compare the performance of Amazon EBS gp3 with io2 Block Express under identical stress test conditions.
We provisioned two environments on Amazon Elastic Compute Cloud (Amazon EC2) with the instance type of r5b.24xlarge to examine the impact of storage performance on the database using four types of tests: OLTP Load test, OLTP Stress test, OLAP Load test, and OLAP Stress test by configuring PostgreSQL databases on each of these environments. One environment was configured with Amazon EBS gp3 volume type and the other with Amazon EBS io2 Block Express volume type.
We compared the database transactional and latency performance using different storage types of io2 Block Express and gp3. Based on the results analysis, for the same IOPS and throughput configuration on each of these EBS volume types, io2 Block Express performed 2.08 times better on transactions per minute (TPM) and provided 3.85 times lower latency for OLTP workloads and 2.78 times lower latency for OLAP workloads. Therefore, io2 Block Express is a recommended solution for database workloads that are sensitive to disk latencies and where performance is a priority over cost. Detailed test results are shown in the following sections.
Comparing EBS volume types gp3 and io2 Block Express
The following figure is a quick comparison of features and pricing between gp3 and io2 Block Express volumes.
Durability advantages
EBS io2 Block Express volumes offers 100 times better durability than EBS gp3 volumes, with an annual failure rate of just 0.001% compared to gp3’s 0.1-0.2%. This makes io2 Block Express particularly valuable for:
Benchmarking system configuration
The following configuration was used to run performance tests for the comparison:
Benchmarking data generation
To compare the performance of Amazon EBS gp3 and io2 Block Express, we loaded the PostgreSQL database with approximately 1 TB of data using the HammerDB tool with 100 warehouses and 10 virtual users, which generated OLTP and OLAP schema, as shown in the following images.
Figure 1: Schema Build Option – OLTP
The image below shows the setting for OLAP schema generation with scale factor of 100 chosen for the benchmark test.
Figure 2: Schema Build Option – OLAP
For more information on how the data was created for benchmark purposes, refer to this HammerDB link.
Benchmark performance analysis
To benchmark performance, the load was generated using the HammerDB tool and stress tests were run for each of the different storage configurations for the same simulated workload in both OLTP and OLAP scenarios.
Benchmark test overview
The following four tests were performed against the PostgreSQL database with RAID-0 configured on gp3 and io2 Block Express to compare performance.
Figure 3: Stress Test Options – OLTP
4. OLAP stress test: In this test, while executing same stress test (10 query sets per user, and 10 virtual users) on the database with different storage configurations on both gp3 and io2 Block Express, the latency of Amazon EBS was measured, as shown in the following figure.
Figure 4: Stress Test Options – OLAP
Benchmark test results
In this section, we give details about the results from the benchmark tests run against the PostgreSQL database running with RAID-0 on Amazon EBS io2 Block Express and gp3.
OLTP load test: In PostgreSQL, while loading the schema for 100 warehouses with 10 users in parallel, write latency per volume on io2 Block express was 3.47 times lower than gp3 on average, shown in the following figures.
Figure 5: Latency Performance in milliseconds – gp3
As seen in the image below there is a significant improvement in latency performance for io2 Block Express for same data load.
Figure 6: Latency Performance in milliseconds – io2 Block Express
Figure 7: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 8: Average Write Latency in milliseconds – io2 Block Express
OLAP load test: In PostgreSQL, while loading the schema for 100 warehouses with 10 users in parallel and 10 query set per user for OLAP schema, write latency per volume on io2 Block express was 3.13 times lower than gp3 on average.
Figure 9: Latency Performance in milliseconds – gp3
Latency performance with OLAP load test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 10: Latency Performance in milliseconds – io2 Block Express
Figure 11: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 12: Average Write Latency in milliseconds – io2 Block Express
OLTP stress test: For the PostgreSQL database with the RAID-0 configuration, the average latency with 80K IOPS running on io2 Block Express volumes was observed to be 0.39 milliseconds, whereas with 80K IOPS running on gp3, the average disk latency was observed to be 1.67 milliseconds. Amazon EBS io2 Block Express was 4.28 times faster than gp3 in terms of disk latency, achieving very low time to complete a single I/O operation on a block device running on the PostgreSQL database.
Figure 13: Latency Performance in milliseconds – gp3
Latency performance with OLTP load test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 14: Latency Performance in milliseconds – io2 Block Express
Figure 15: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 16: Average Write Latency in milliseconds – io2 Block Express
In this stress test, the number of new orders per minute (NOPM) were computed. With gp3 volumes, we observed 129,729 TPM resulting in 55,120 NOPM. With io2 block express we got 269,823 TPM, resulting in 117,460 NOPM. This was a 2.08 times improvement in TPM and a 2.13 times improvement in NOPM.
Figure 17: Transactions per Minute – gp3
HammerDB results showcasing the TPM metrics and NOPM metrics are seen for gp3 in the image above and io2 Block Express in the image below:
Figure 18: Transactions per Minute – io2 Block Express
OLAP stress test: For the PostgreSQL database with the RAID-0 configuration, the maximum latency with 80K IOPS running on io2 Block Express volumes was observed to be 0.7 milliseconds for writes and 0.54 milliseconds for reads. On the other hand, with 80K IOPS running on gp3, the maximum disk latency was observed to be 3.44 milliseconds for writes and 0.81 milliseconds for reads. Amazon EBS io2 Block Express showed 4.91 times better performance for writes and 1.50 times better performance for reads as compared to gp3, achieving very low time to complete a single I/O operation on a block device running the PostgreSQL database, as shown in the following figures.
Figure 19: Latency Performance in milliseconds – gp3 (OLAP Stress Test)
Latency performance with OLAP stress test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 20: Latency Performance in milliseconds – io2 Block Express (OLAP Stress Test)
Figure 21: Average Latency Performance in milliseconds – gp3 (OLAP Stress Test)
Average write latency per volume in OLAP stress test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 22: Average Latency Performance in milliseconds – io2 Block Express (OLAP Stress Test)
Cost and performance use cases for gp3 and io2 Block Express
The following is the cost performance comparison for gp3 and io2 Block Express
gp3:
io2 Block Express:
Amazon EBS io2 Block Express is the premium storage solution for high-performance database workloads, particularly those that are sensitive to disk latencies and need sub-millisecond response times. It excels in scenarios where performance and durability are paramount considerations.
The key advantages of io2 Block Express include:
Although gp3 volumes may be suitable for less demanding workloads or where cost is a primary factor, io2 Block Express is the go-to choice for databases and applications that need the highest levels of performance, consistency, and reliability. It’s particularly well-suited for enterprise-grade databases, high-performance computing, and data-intensive applications where every millisecond counts.
For a detailed analysis of storage patterns and the benefits of moving to the AWS cloud, this Amazon storage post provides valuable insights.
Cleaning Up
The services involved in this solution incur costs. So as not to incur additional costs, make sure to clean up the resources created:
Conclusion
For workloads that demand high performance and sub-millisecond latencies, where performance takes precedence over cost, Amazon EBS io2 Block Express is the ideal block storage solution.
Amazon EBS io2 Block Express uses advanced communication protocols developed as part of the AWS Nitro System. It delivers up to 256K IOPS and 4000 MiB/s of throughput per volume, supports a maximum volume size of 64 TiB, and makes sure of consistently low-variance sub-millisecond disk I/O latency.
In performance benchmarks using a PostgreSQL workload on an r5b.24xlarge EC2 instance, io2 Block Express demonstrated superior transactional and I/O performance as compared to Amazon EBS gp3.
The following table highlights the percentage performance improvements observed during testing, showcasing the advantages of io2 Block Express for high-performance PostgreSQL database workloads over gp3.
The tests in this post were run on the PostgreSQL database, which demonstrated that io2 Block Express performed 3.95 times faster on average than gp3 across all test scenarios. Similar performance improvements can be expected when running other database engines such as Microsoft SQL Server, Oracle, and MySQL, as these benefits stem from the underlying storage architecture rather than being specific to PostgreSQL.
Thank you for reading this post on the benefits of using io2 Block Express over gp3 for I/O intensive database workloads. To learn more about Amazon EBS, check out the tech doc. If you have any comments or questions, then please leave them in the comments section.
” temperature=”0.3″ top_p=”1.0″ best_of=”1″ presence_penalty=”0.1″ ].04/provisioned MiB/s-month over 125 MiBps
tag for a sub-heading. You can use only
,
,
,- , and HTML tags if necessary. Text: Databases are a fundamental component for any organization with its own IT infrastructure powering various applications. Making sure of the smooth operation of database servers is vital because any performance disruptions can impact numerous users and their activities. Many companies experience performance slowdowns in their applications due to storage latency during database operations.
Volume type
gp3
io2 Block Express
Durability
99.8% – 99.9% durability (0.1% – 0.2% annual failure rate)
99.999% durability (0.001% annual failure rate)
Use-Cases
– Low-latency interactive apps – Development and test environments
– Workloads that need sub-millisecond latency, and sustained IOPS performance or more than 64,000 IOPS or 1,000 MiB/s of throughput
Volume size
1 GiB – 16 TiB
4 GiB – 64 TiB
Max IOPS per volume
1,000 MiB/s
4,000 MiB/s
Latency
single digit millisecond
sub-millisecond
Price
Storage price: – $0.08/GB-month IOPS price: – 3,000 IOPS included – $0.005/provisioned IOPS-month over 3,000 IOPS Throughput price: – 125 MiB/s included – $0.04/provisioned MiB/s-month over 125 MiBps
Storage price: – $0.125/GB-month IOPS price: – $0.065/provisioned IOPS-month up to 32,000 IOPS – $0.046/provisioned IOPS-month from 32,001 to 64,000 IOPS – $0.032/provisioned IOPS-month for greater than 64,000 IOPS
Durability
99.8% – 99.9% durability (0.1% – 0.2% annual failure rate)
99.999% durability (0.001% annual failure rate)
- Mission-critical databases
- Financial transaction systems
- Healthcare applications
- Any workload where data loss is unacceptable
- An EC2 instance of type r5b.24xlarge with 96vCPU/768GB RAM
- Operating system: Amazon Linux 2023
- PostgreSQL database: PostgreSQL 16.5
- Storage configuration: We provisioned the storage for gp3 and io2 Block Express to match IOPS (80000 IOPS) and throughput (8000 MiB/s) for both configurations. This resulted in eight gp3 volumes (per volume: 10000 IOPS, 1000 MiB/s) as opposed to two io2 Block Express volumes (per volume: 40000 IOPS, 4000 MiB/s) to achieve the same total performance metrics. The r5b.24xlarge instance can support a maximum throughput of 7500 MiB/s.
- OLTP load test: Using this article as a reference and keeping the same CPU and memory configuration, we tested the database with different storage configurations using both io2 Block Express and gp3 when the OLTP schema was being loaded or built to compare against I/O write latency.
- OLAP load test: Using this article as a reference and keeping the same CPU and memory configuration, we tested database with different storage configurations using both io2 Block Express and gp3 when the OLAP schema was being loaded or built to compare against I/O write latency.
- OLTP stress test: In this test, while executing same stress test (100 warehouses, 10 virtual users, and 10 million transactions per user with timed duration of 10 minutes) on the database with different storage configurations on both gp3 and io2 Block Express, the latency of Amazon EBS was measured along with the TPM, as shown in the following figure.
- Optimal for: development, test environments, and production workloads that can tolerate single-digit millisecond latencies
- Cost-effective choice at $1,375.36/month for the tested configuration
- Durability: 99.8% – 99.9% (0.1% – 0.2% annual failure rate)
- Best for: budget-conscious workloads where sub-millisecond latency isn’t critical
- Optimal for: mission-critical production workloads needing consistent sub-millisecond latency
- Higher cost at $5,408/month delivers:
- 2.07 times higher transaction throughput
- 4.28 times faster I/O response time
- Durability: 99.999% (0.001% annual failure rate)
- Best for: performance-sensitive workloads where data durability and consistent sub-millisecond latency are essential
- Superior performance: ideal for I/O-intensive critical workloads, delivering consistently low latency and high throughput.
- Sub-millisecond responsiveness: crucial for applications that demand rapid data access and processing.
- Enhanced durability: offers higher durability as compared to standard EBS volumes, making it suitable for mission-critical data.
- Scalability: supports larger volume sizes and higher IOPS, accommodating growing and demanding workloads.
- Amazon EC2 instances – Stop or delete (terminate) the Amazon EC2 instances that you provisioned.
- Amazon EBS volumes – Delete the EBS volumes created.
To tackle this problem, AWS unveiled Amazon Elastic Block Store (Amazon EBS) io2 Block Express in December 2020. This solution aims to optimize storage management for high-performance database servers, enabling them to efficiently handle I/O intensive workloads.
This post examines the performance differences between a PostgreSQL database running on Amazon EBS gp3 and io2 Block Express. io2 Block Express allows you to attain up to 256,000 IOPS and 4,000 MiB/s throughput per volume. It supports expansive storage needs with up to 64 TiB per volume, while making sure of low-variance sub-millisecond disk I/O latency. The low latency is achieved by Scalable Reliable Datagrams (SRD), an advanced communication protocol integrated into the AWS Nitro System. This post is a part of series that has shown how to achieve higher database performance using Amazon EBS io2 Block Express volumes for Oracle databases.
Database performance comparison overview
To measure database performance, it’s essential to consider key metrics such as IOPS, latency, and throughput. IOPS quantifies the number of input and output operations per second, latency indicates the time it takes for a single I/O request to complete, and throughput measures the amount of data that can be read or written per second.
To assess database performance, we used HammerDB, an open-source database benchmarking and load testing tool that supports multiple database platforms, such as PostgreSQL. It is widely used to measure the performance and scalability of database systems under simulated workloads. For PostgreSQL, HammerDB implements the Transaction Processing Performance Council-C (TPC-C) benchmark, which emulates the online transaction processing (OLTP) workload of a wholesale supplier, and the Transaction Processing Performance Council-H (TPC-H) benchmark for evaluating the performance of Online Analytical Processing (OLAP) systems, which focuses on decision support systems (DSS) and measures how efficiently a database can handle complex analytical queries on large datasets.
This tool measures the average transaction rate in transactions per second (TPS) in OLTP testing and queries per hour in OLAP testing. Using benchmark data allows us to compare the performance of Amazon EBS gp3 with io2 Block Express under identical stress test conditions.
We provisioned two environments on Amazon Elastic Compute Cloud (Amazon EC2) with the instance type of r5b.24xlarge to examine the impact of storage performance on the database using four types of tests: OLTP Load test, OLTP Stress test, OLAP Load test, and OLAP Stress test by configuring PostgreSQL databases on each of these environments. One environment was configured with Amazon EBS gp3 volume type and the other with Amazon EBS io2 Block Express volume type.
We compared the database transactional and latency performance using different storage types of io2 Block Express and gp3. Based on the results analysis, for the same IOPS and throughput configuration on each of these EBS volume types, io2 Block Express performed 2.08 times better on transactions per minute (TPM) and provided 3.85 times lower latency for OLTP workloads and 2.78 times lower latency for OLAP workloads. Therefore, io2 Block Express is a recommended solution for database workloads that are sensitive to disk latencies and where performance is a priority over cost. Detailed test results are shown in the following sections.
Comparing EBS volume types gp3 and io2 Block Express
The following figure is a quick comparison of features and pricing between gp3 and io2 Block Express volumes.
Durability advantages
EBS io2 Block Express volumes offers 100 times better durability than EBS gp3 volumes, with an annual failure rate of just 0.001% compared to gp3’s 0.1-0.2%. This makes io2 Block Express particularly valuable for:
Benchmarking system configuration
The following configuration was used to run performance tests for the comparison:
Benchmarking data generation
To compare the performance of Amazon EBS gp3 and io2 Block Express, we loaded the PostgreSQL database with approximately 1 TB of data using the HammerDB tool with 100 warehouses and 10 virtual users, which generated OLTP and OLAP schema, as shown in the following images.
Figure 1: Schema Build Option – OLTP
The image below shows the setting for OLAP schema generation with scale factor of 100 chosen for the benchmark test.
Figure 2: Schema Build Option – OLAP
For more information on how the data was created for benchmark purposes, refer to this HammerDB link.
Benchmark performance analysis
To benchmark performance, the load was generated using the HammerDB tool and stress tests were run for each of the different storage configurations for the same simulated workload in both OLTP and OLAP scenarios.
Benchmark test overview
The following four tests were performed against the PostgreSQL database with RAID-0 configured on gp3 and io2 Block Express to compare performance.
Figure 3: Stress Test Options – OLTP
4. OLAP stress test: In this test, while executing same stress test (10 query sets per user, and 10 virtual users) on the database with different storage configurations on both gp3 and io2 Block Express, the latency of Amazon EBS was measured, as shown in the following figure.
Figure 4: Stress Test Options – OLAP
Benchmark test results
In this section, we give details about the results from the benchmark tests run against the PostgreSQL database running with RAID-0 on Amazon EBS io2 Block Express and gp3.
OLTP load test: In PostgreSQL, while loading the schema for 100 warehouses with 10 users in parallel, write latency per volume on io2 Block express was 3.47 times lower than gp3 on average, shown in the following figures.
Figure 5: Latency Performance in milliseconds – gp3
As seen in the image below there is a significant improvement in latency performance for io2 Block Express for same data load.
Figure 6: Latency Performance in milliseconds – io2 Block Express
Figure 7: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 8: Average Write Latency in milliseconds – io2 Block Express
OLAP load test: In PostgreSQL, while loading the schema for 100 warehouses with 10 users in parallel and 10 query set per user for OLAP schema, write latency per volume on io2 Block express was 3.13 times lower than gp3 on average.
Figure 9: Latency Performance in milliseconds – gp3
Latency performance with OLAP load test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 10: Latency Performance in milliseconds – io2 Block Express
Figure 11: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 12: Average Write Latency in milliseconds – io2 Block Express
OLTP stress test: For the PostgreSQL database with the RAID-0 configuration, the average latency with 80K IOPS running on io2 Block Express volumes was observed to be 0.39 milliseconds, whereas with 80K IOPS running on gp3, the average disk latency was observed to be 1.67 milliseconds. Amazon EBS io2 Block Express was 4.28 times faster than gp3 in terms of disk latency, achieving very low time to complete a single I/O operation on a block device running on the PostgreSQL database.
Figure 13: Latency Performance in milliseconds – gp3
Latency performance with OLTP load test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 14: Latency Performance in milliseconds – io2 Block Express
Figure 15: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 16: Average Write Latency in milliseconds – io2 Block Express
In this stress test, the number of new orders per minute (NOPM) were computed. With gp3 volumes, we observed 129,729 TPM resulting in 55,120 NOPM. With io2 block express we got 269,823 TPM, resulting in 117,460 NOPM. This was a 2.08 times improvement in TPM and a 2.13 times improvement in NOPM.
Figure 17: Transactions per Minute – gp3
HammerDB results showcasing the TPM metrics and NOPM metrics are seen for gp3 in the image above and io2 Block Express in the image below:
Figure 18: Transactions per Minute – io2 Block Express
OLAP stress test: For the PostgreSQL database with the RAID-0 configuration, the maximum latency with 80K IOPS running on io2 Block Express volumes was observed to be 0.7 milliseconds for writes and 0.54 milliseconds for reads. On the other hand, with 80K IOPS running on gp3, the maximum disk latency was observed to be 3.44 milliseconds for writes and 0.81 milliseconds for reads. Amazon EBS io2 Block Express showed 4.91 times better performance for writes and 1.50 times better performance for reads as compared to gp3, achieving very low time to complete a single I/O operation on a block device running the PostgreSQL database, as shown in the following figures.
Figure 19: Latency Performance in milliseconds – gp3 (OLAP Stress Test)
Latency performance with OLAP stress test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 20: Latency Performance in milliseconds – io2 Block Express (OLAP Stress Test)
Figure 21: Average Latency Performance in milliseconds – gp3 (OLAP Stress Test)
Average write latency per volume in OLAP stress test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 22: Average Latency Performance in milliseconds – io2 Block Express (OLAP Stress Test)
Cost and performance use cases for gp3 and io2 Block Express
The following is the cost performance comparison for gp3 and io2 Block Express
gp3:
io2 Block Express:
Amazon EBS io2 Block Express is the premium storage solution for high-performance database workloads, particularly those that are sensitive to disk latencies and need sub-millisecond response times. It excels in scenarios where performance and durability are paramount considerations.
The key advantages of io2 Block Express include:
Although gp3 volumes may be suitable for less demanding workloads or where cost is a primary factor, io2 Block Express is the go-to choice for databases and applications that need the highest levels of performance, consistency, and reliability. It’s particularly well-suited for enterprise-grade databases, high-performance computing, and data-intensive applications where every millisecond counts.
For a detailed analysis of storage patterns and the benefits of moving to the AWS cloud, this Amazon storage post provides valuable insights.
Cleaning Up
The services involved in this solution incur costs. So as not to incur additional costs, make sure to clean up the resources created:
Conclusion
For workloads that demand high performance and sub-millisecond latencies, where performance takes precedence over cost, Amazon EBS io2 Block Express is the ideal block storage solution.
Amazon EBS io2 Block Express uses advanced communication protocols developed as part of the AWS Nitro System. It delivers up to 256K IOPS and 4000 MiB/s of throughput per volume, supports a maximum volume size of 64 TiB, and makes sure of consistently low-variance sub-millisecond disk I/O latency.
In performance benchmarks using a PostgreSQL workload on an r5b.24xlarge EC2 instance, io2 Block Express demonstrated superior transactional and I/O performance as compared to Amazon EBS gp3.
The following table highlights the percentage performance improvements observed during testing, showcasing the advantages of io2 Block Express for high-performance PostgreSQL database workloads over gp3.
The tests in this post were run on the PostgreSQL database, which demonstrated that io2 Block Express performed 3.95 times faster on average than gp3 across all test scenarios. Similar performance improvements can be expected when running other database engines such as Microsoft SQL Server, Oracle, and MySQL, as these benefits stem from the underlying storage architecture rather than being specific to PostgreSQL.
Thank you for reading this post on the benefits of using io2 Block Express over gp3 for I/O intensive database workloads. To learn more about Amazon EBS, check out the tech doc. If you have any comments or questions, then please leave them in the comments section.
” temperature=”0.3″ top_p=”1.0″ best_of=”1″ presence_penalty=”0.1″ ].125/GB-month
IOPS price: – [cyberseo_openai model=”gpt-4o-mini” prompt=”Rewrite a news story for a technical publication, in a calm style with creativity and flair based on text below, making sure it reads like human-written text in a natural way. The article shall NOT include a title, introduction and conclusion. The article shall NOT start from a title. Response language English. Generate HTML-formatted content using
tag for a sub-heading. You can use only
,
,
,- , and HTML tags if necessary. Text: Databases are a fundamental component for any organization with its own IT infrastructure powering various applications. Making sure of the smooth operation of database servers is vital because any performance disruptions can impact numerous users and their activities. Many companies experience performance slowdowns in their applications due to storage latency during database operations.
Volume type
gp3
io2 Block Express
Durability
99.8% – 99.9% durability (0.1% – 0.2% annual failure rate)
99.999% durability (0.001% annual failure rate)
Use-Cases
– Low-latency interactive apps – Development and test environments
– Workloads that need sub-millisecond latency, and sustained IOPS performance or more than 64,000 IOPS or 1,000 MiB/s of throughput
Volume size
1 GiB – 16 TiB
4 GiB – 64 TiB
Max IOPS per volume
1,000 MiB/s
4,000 MiB/s
Latency
single digit millisecond
sub-millisecond
Price
Storage price: – $0.08/GB-month IOPS price: – 3,000 IOPS included – $0.005/provisioned IOPS-month over 3,000 IOPS Throughput price: – 125 MiB/s included – $0.04/provisioned MiB/s-month over 125 MiBps
Storage price: – $0.125/GB-month IOPS price: – $0.065/provisioned IOPS-month up to 32,000 IOPS – $0.046/provisioned IOPS-month from 32,001 to 64,000 IOPS – $0.032/provisioned IOPS-month for greater than 64,000 IOPS
Durability
99.8% – 99.9% durability (0.1% – 0.2% annual failure rate)
99.999% durability (0.001% annual failure rate)
- Mission-critical databases
- Financial transaction systems
- Healthcare applications
- Any workload where data loss is unacceptable
- An EC2 instance of type r5b.24xlarge with 96vCPU/768GB RAM
- Operating system: Amazon Linux 2023
- PostgreSQL database: PostgreSQL 16.5
- Storage configuration: We provisioned the storage for gp3 and io2 Block Express to match IOPS (80000 IOPS) and throughput (8000 MiB/s) for both configurations. This resulted in eight gp3 volumes (per volume: 10000 IOPS, 1000 MiB/s) as opposed to two io2 Block Express volumes (per volume: 40000 IOPS, 4000 MiB/s) to achieve the same total performance metrics. The r5b.24xlarge instance can support a maximum throughput of 7500 MiB/s.
- OLTP load test: Using this article as a reference and keeping the same CPU and memory configuration, we tested the database with different storage configurations using both io2 Block Express and gp3 when the OLTP schema was being loaded or built to compare against I/O write latency.
- OLAP load test: Using this article as a reference and keeping the same CPU and memory configuration, we tested database with different storage configurations using both io2 Block Express and gp3 when the OLAP schema was being loaded or built to compare against I/O write latency.
- OLTP stress test: In this test, while executing same stress test (100 warehouses, 10 virtual users, and 10 million transactions per user with timed duration of 10 minutes) on the database with different storage configurations on both gp3 and io2 Block Express, the latency of Amazon EBS was measured along with the TPM, as shown in the following figure.
- Optimal for: development, test environments, and production workloads that can tolerate single-digit millisecond latencies
- Cost-effective choice at $1,375.36/month for the tested configuration
- Durability: 99.8% – 99.9% (0.1% – 0.2% annual failure rate)
- Best for: budget-conscious workloads where sub-millisecond latency isn’t critical
- Optimal for: mission-critical production workloads needing consistent sub-millisecond latency
- Higher cost at $5,408/month delivers:
- 2.07 times higher transaction throughput
- 4.28 times faster I/O response time
- Durability: 99.999% (0.001% annual failure rate)
- Best for: performance-sensitive workloads where data durability and consistent sub-millisecond latency are essential
- Superior performance: ideal for I/O-intensive critical workloads, delivering consistently low latency and high throughput.
- Sub-millisecond responsiveness: crucial for applications that demand rapid data access and processing.
- Enhanced durability: offers higher durability as compared to standard EBS volumes, making it suitable for mission-critical data.
- Scalability: supports larger volume sizes and higher IOPS, accommodating growing and demanding workloads.
- Amazon EC2 instances – Stop or delete (terminate) the Amazon EC2 instances that you provisioned.
- Amazon EBS volumes – Delete the EBS volumes created.
To tackle this problem, AWS unveiled Amazon Elastic Block Store (Amazon EBS) io2 Block Express in December 2020. This solution aims to optimize storage management for high-performance database servers, enabling them to efficiently handle I/O intensive workloads.
This post examines the performance differences between a PostgreSQL database running on Amazon EBS gp3 and io2 Block Express. io2 Block Express allows you to attain up to 256,000 IOPS and 4,000 MiB/s throughput per volume. It supports expansive storage needs with up to 64 TiB per volume, while making sure of low-variance sub-millisecond disk I/O latency. The low latency is achieved by Scalable Reliable Datagrams (SRD), an advanced communication protocol integrated into the AWS Nitro System. This post is a part of series that has shown how to achieve higher database performance using Amazon EBS io2 Block Express volumes for Oracle databases.
Database performance comparison overview
To measure database performance, it’s essential to consider key metrics such as IOPS, latency, and throughput. IOPS quantifies the number of input and output operations per second, latency indicates the time it takes for a single I/O request to complete, and throughput measures the amount of data that can be read or written per second.
To assess database performance, we used HammerDB, an open-source database benchmarking and load testing tool that supports multiple database platforms, such as PostgreSQL. It is widely used to measure the performance and scalability of database systems under simulated workloads. For PostgreSQL, HammerDB implements the Transaction Processing Performance Council-C (TPC-C) benchmark, which emulates the online transaction processing (OLTP) workload of a wholesale supplier, and the Transaction Processing Performance Council-H (TPC-H) benchmark for evaluating the performance of Online Analytical Processing (OLAP) systems, which focuses on decision support systems (DSS) and measures how efficiently a database can handle complex analytical queries on large datasets.
This tool measures the average transaction rate in transactions per second (TPS) in OLTP testing and queries per hour in OLAP testing. Using benchmark data allows us to compare the performance of Amazon EBS gp3 with io2 Block Express under identical stress test conditions.
We provisioned two environments on Amazon Elastic Compute Cloud (Amazon EC2) with the instance type of r5b.24xlarge to examine the impact of storage performance on the database using four types of tests: OLTP Load test, OLTP Stress test, OLAP Load test, and OLAP Stress test by configuring PostgreSQL databases on each of these environments. One environment was configured with Amazon EBS gp3 volume type and the other with Amazon EBS io2 Block Express volume type.
We compared the database transactional and latency performance using different storage types of io2 Block Express and gp3. Based on the results analysis, for the same IOPS and throughput configuration on each of these EBS volume types, io2 Block Express performed 2.08 times better on transactions per minute (TPM) and provided 3.85 times lower latency for OLTP workloads and 2.78 times lower latency for OLAP workloads. Therefore, io2 Block Express is a recommended solution for database workloads that are sensitive to disk latencies and where performance is a priority over cost. Detailed test results are shown in the following sections.
Comparing EBS volume types gp3 and io2 Block Express
The following figure is a quick comparison of features and pricing between gp3 and io2 Block Express volumes.
Durability advantages
EBS io2 Block Express volumes offers 100 times better durability than EBS gp3 volumes, with an annual failure rate of just 0.001% compared to gp3’s 0.1-0.2%. This makes io2 Block Express particularly valuable for:
Benchmarking system configuration
The following configuration was used to run performance tests for the comparison:
Benchmarking data generation
To compare the performance of Amazon EBS gp3 and io2 Block Express, we loaded the PostgreSQL database with approximately 1 TB of data using the HammerDB tool with 100 warehouses and 10 virtual users, which generated OLTP and OLAP schema, as shown in the following images.
Figure 1: Schema Build Option – OLTP
The image below shows the setting for OLAP schema generation with scale factor of 100 chosen for the benchmark test.
Figure 2: Schema Build Option – OLAP
For more information on how the data was created for benchmark purposes, refer to this HammerDB link.
Benchmark performance analysis
To benchmark performance, the load was generated using the HammerDB tool and stress tests were run for each of the different storage configurations for the same simulated workload in both OLTP and OLAP scenarios.
Benchmark test overview
The following four tests were performed against the PostgreSQL database with RAID-0 configured on gp3 and io2 Block Express to compare performance.
Figure 3: Stress Test Options – OLTP
4. OLAP stress test: In this test, while executing same stress test (10 query sets per user, and 10 virtual users) on the database with different storage configurations on both gp3 and io2 Block Express, the latency of Amazon EBS was measured, as shown in the following figure.
Figure 4: Stress Test Options – OLAP
Benchmark test results
In this section, we give details about the results from the benchmark tests run against the PostgreSQL database running with RAID-0 on Amazon EBS io2 Block Express and gp3.
OLTP load test: In PostgreSQL, while loading the schema for 100 warehouses with 10 users in parallel, write latency per volume on io2 Block express was 3.47 times lower than gp3 on average, shown in the following figures.
Figure 5: Latency Performance in milliseconds – gp3
As seen in the image below there is a significant improvement in latency performance for io2 Block Express for same data load.
Figure 6: Latency Performance in milliseconds – io2 Block Express
Figure 7: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 8: Average Write Latency in milliseconds – io2 Block Express
OLAP load test: In PostgreSQL, while loading the schema for 100 warehouses with 10 users in parallel and 10 query set per user for OLAP schema, write latency per volume on io2 Block express was 3.13 times lower than gp3 on average.
Figure 9: Latency Performance in milliseconds – gp3
Latency performance with OLAP load test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 10: Latency Performance in milliseconds – io2 Block Express
Figure 11: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 12: Average Write Latency in milliseconds – io2 Block Express
OLTP stress test: For the PostgreSQL database with the RAID-0 configuration, the average latency with 80K IOPS running on io2 Block Express volumes was observed to be 0.39 milliseconds, whereas with 80K IOPS running on gp3, the average disk latency was observed to be 1.67 milliseconds. Amazon EBS io2 Block Express was 4.28 times faster than gp3 in terms of disk latency, achieving very low time to complete a single I/O operation on a block device running on the PostgreSQL database.
Figure 13: Latency Performance in milliseconds – gp3
Latency performance with OLTP load test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 14: Latency Performance in milliseconds – io2 Block Express
Figure 15: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 16: Average Write Latency in milliseconds – io2 Block Express
In this stress test, the number of new orders per minute (NOPM) were computed. With gp3 volumes, we observed 129,729 TPM resulting in 55,120 NOPM. With io2 block express we got 269,823 TPM, resulting in 117,460 NOPM. This was a 2.08 times improvement in TPM and a 2.13 times improvement in NOPM.
Figure 17: Transactions per Minute – gp3
HammerDB results showcasing the TPM metrics and NOPM metrics are seen for gp3 in the image above and io2 Block Express in the image below:
Figure 18: Transactions per Minute – io2 Block Express
OLAP stress test: For the PostgreSQL database with the RAID-0 configuration, the maximum latency with 80K IOPS running on io2 Block Express volumes was observed to be 0.7 milliseconds for writes and 0.54 milliseconds for reads. On the other hand, with 80K IOPS running on gp3, the maximum disk latency was observed to be 3.44 milliseconds for writes and 0.81 milliseconds for reads. Amazon EBS io2 Block Express showed 4.91 times better performance for writes and 1.50 times better performance for reads as compared to gp3, achieving very low time to complete a single I/O operation on a block device running the PostgreSQL database, as shown in the following figures.
Figure 19: Latency Performance in milliseconds – gp3 (OLAP Stress Test)
Latency performance with OLAP stress test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 20: Latency Performance in milliseconds – io2 Block Express (OLAP Stress Test)
Figure 21: Average Latency Performance in milliseconds – gp3 (OLAP Stress Test)
Average write latency per volume in OLAP stress test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 22: Average Latency Performance in milliseconds – io2 Block Express (OLAP Stress Test)
Cost and performance use cases for gp3 and io2 Block Express
The following is the cost performance comparison for gp3 and io2 Block Express
gp3:
io2 Block Express:
Amazon EBS io2 Block Express is the premium storage solution for high-performance database workloads, particularly those that are sensitive to disk latencies and need sub-millisecond response times. It excels in scenarios where performance and durability are paramount considerations.
The key advantages of io2 Block Express include:
Although gp3 volumes may be suitable for less demanding workloads or where cost is a primary factor, io2 Block Express is the go-to choice for databases and applications that need the highest levels of performance, consistency, and reliability. It’s particularly well-suited for enterprise-grade databases, high-performance computing, and data-intensive applications where every millisecond counts.
For a detailed analysis of storage patterns and the benefits of moving to the AWS cloud, this Amazon storage post provides valuable insights.
Cleaning Up
The services involved in this solution incur costs. So as not to incur additional costs, make sure to clean up the resources created:
Conclusion
For workloads that demand high performance and sub-millisecond latencies, where performance takes precedence over cost, Amazon EBS io2 Block Express is the ideal block storage solution.
Amazon EBS io2 Block Express uses advanced communication protocols developed as part of the AWS Nitro System. It delivers up to 256K IOPS and 4000 MiB/s of throughput per volume, supports a maximum volume size of 64 TiB, and makes sure of consistently low-variance sub-millisecond disk I/O latency.
In performance benchmarks using a PostgreSQL workload on an r5b.24xlarge EC2 instance, io2 Block Express demonstrated superior transactional and I/O performance as compared to Amazon EBS gp3.
The following table highlights the percentage performance improvements observed during testing, showcasing the advantages of io2 Block Express for high-performance PostgreSQL database workloads over gp3.
The tests in this post were run on the PostgreSQL database, which demonstrated that io2 Block Express performed 3.95 times faster on average than gp3 across all test scenarios. Similar performance improvements can be expected when running other database engines such as Microsoft SQL Server, Oracle, and MySQL, as these benefits stem from the underlying storage architecture rather than being specific to PostgreSQL.
Thank you for reading this post on the benefits of using io2 Block Express over gp3 for I/O intensive database workloads. To learn more about Amazon EBS, check out the tech doc. If you have any comments or questions, then please leave them in the comments section.
” temperature=”0.3″ top_p=”1.0″ best_of=”1″ presence_penalty=”0.1″ ].065/provisioned IOPS-month up to 32,000 IOPS – [cyberseo_openai model=”gpt-4o-mini” prompt=”Rewrite a news story for a technical publication, in a calm style with creativity and flair based on text below, making sure it reads like human-written text in a natural way. The article shall NOT include a title, introduction and conclusion. The article shall NOT start from a title. Response language English. Generate HTML-formatted content using
tag for a sub-heading. You can use only
,
,
,- , and HTML tags if necessary. Text: Databases are a fundamental component for any organization with its own IT infrastructure powering various applications. Making sure of the smooth operation of database servers is vital because any performance disruptions can impact numerous users and their activities. Many companies experience performance slowdowns in their applications due to storage latency during database operations.
Volume type
gp3
io2 Block Express
Durability
99.8% – 99.9% durability (0.1% – 0.2% annual failure rate)
99.999% durability (0.001% annual failure rate)
Use-Cases
– Low-latency interactive apps – Development and test environments
– Workloads that need sub-millisecond latency, and sustained IOPS performance or more than 64,000 IOPS or 1,000 MiB/s of throughput
Volume size
1 GiB – 16 TiB
4 GiB – 64 TiB
Max IOPS per volume
1,000 MiB/s
4,000 MiB/s
Latency
single digit millisecond
sub-millisecond
Price
Storage price: – $0.08/GB-month IOPS price: – 3,000 IOPS included – $0.005/provisioned IOPS-month over 3,000 IOPS Throughput price: – 125 MiB/s included – $0.04/provisioned MiB/s-month over 125 MiBps
Storage price: – $0.125/GB-month IOPS price: – $0.065/provisioned IOPS-month up to 32,000 IOPS – $0.046/provisioned IOPS-month from 32,001 to 64,000 IOPS – $0.032/provisioned IOPS-month for greater than 64,000 IOPS
Durability
99.8% – 99.9% durability (0.1% – 0.2% annual failure rate)
99.999% durability (0.001% annual failure rate)
- Mission-critical databases
- Financial transaction systems
- Healthcare applications
- Any workload where data loss is unacceptable
- An EC2 instance of type r5b.24xlarge with 96vCPU/768GB RAM
- Operating system: Amazon Linux 2023
- PostgreSQL database: PostgreSQL 16.5
- Storage configuration: We provisioned the storage for gp3 and io2 Block Express to match IOPS (80000 IOPS) and throughput (8000 MiB/s) for both configurations. This resulted in eight gp3 volumes (per volume: 10000 IOPS, 1000 MiB/s) as opposed to two io2 Block Express volumes (per volume: 40000 IOPS, 4000 MiB/s) to achieve the same total performance metrics. The r5b.24xlarge instance can support a maximum throughput of 7500 MiB/s.
- OLTP load test: Using this article as a reference and keeping the same CPU and memory configuration, we tested the database with different storage configurations using both io2 Block Express and gp3 when the OLTP schema was being loaded or built to compare against I/O write latency.
- OLAP load test: Using this article as a reference and keeping the same CPU and memory configuration, we tested database with different storage configurations using both io2 Block Express and gp3 when the OLAP schema was being loaded or built to compare against I/O write latency.
- OLTP stress test: In this test, while executing same stress test (100 warehouses, 10 virtual users, and 10 million transactions per user with timed duration of 10 minutes) on the database with different storage configurations on both gp3 and io2 Block Express, the latency of Amazon EBS was measured along with the TPM, as shown in the following figure.
- Optimal for: development, test environments, and production workloads that can tolerate single-digit millisecond latencies
- Cost-effective choice at $1,375.36/month for the tested configuration
- Durability: 99.8% – 99.9% (0.1% – 0.2% annual failure rate)
- Best for: budget-conscious workloads where sub-millisecond latency isn’t critical
- Optimal for: mission-critical production workloads needing consistent sub-millisecond latency
- Higher cost at $5,408/month delivers:
- 2.07 times higher transaction throughput
- 4.28 times faster I/O response time
- Durability: 99.999% (0.001% annual failure rate)
- Best for: performance-sensitive workloads where data durability and consistent sub-millisecond latency are essential
- Superior performance: ideal for I/O-intensive critical workloads, delivering consistently low latency and high throughput.
- Sub-millisecond responsiveness: crucial for applications that demand rapid data access and processing.
- Enhanced durability: offers higher durability as compared to standard EBS volumes, making it suitable for mission-critical data.
- Scalability: supports larger volume sizes and higher IOPS, accommodating growing and demanding workloads.
- Amazon EC2 instances – Stop or delete (terminate) the Amazon EC2 instances that you provisioned.
- Amazon EBS volumes – Delete the EBS volumes created.
To tackle this problem, AWS unveiled Amazon Elastic Block Store (Amazon EBS) io2 Block Express in December 2020. This solution aims to optimize storage management for high-performance database servers, enabling them to efficiently handle I/O intensive workloads.
This post examines the performance differences between a PostgreSQL database running on Amazon EBS gp3 and io2 Block Express. io2 Block Express allows you to attain up to 256,000 IOPS and 4,000 MiB/s throughput per volume. It supports expansive storage needs with up to 64 TiB per volume, while making sure of low-variance sub-millisecond disk I/O latency. The low latency is achieved by Scalable Reliable Datagrams (SRD), an advanced communication protocol integrated into the AWS Nitro System. This post is a part of series that has shown how to achieve higher database performance using Amazon EBS io2 Block Express volumes for Oracle databases.
Database performance comparison overview
To measure database performance, it’s essential to consider key metrics such as IOPS, latency, and throughput. IOPS quantifies the number of input and output operations per second, latency indicates the time it takes for a single I/O request to complete, and throughput measures the amount of data that can be read or written per second.
To assess database performance, we used HammerDB, an open-source database benchmarking and load testing tool that supports multiple database platforms, such as PostgreSQL. It is widely used to measure the performance and scalability of database systems under simulated workloads. For PostgreSQL, HammerDB implements the Transaction Processing Performance Council-C (TPC-C) benchmark, which emulates the online transaction processing (OLTP) workload of a wholesale supplier, and the Transaction Processing Performance Council-H (TPC-H) benchmark for evaluating the performance of Online Analytical Processing (OLAP) systems, which focuses on decision support systems (DSS) and measures how efficiently a database can handle complex analytical queries on large datasets.
This tool measures the average transaction rate in transactions per second (TPS) in OLTP testing and queries per hour in OLAP testing. Using benchmark data allows us to compare the performance of Amazon EBS gp3 with io2 Block Express under identical stress test conditions.
We provisioned two environments on Amazon Elastic Compute Cloud (Amazon EC2) with the instance type of r5b.24xlarge to examine the impact of storage performance on the database using four types of tests: OLTP Load test, OLTP Stress test, OLAP Load test, and OLAP Stress test by configuring PostgreSQL databases on each of these environments. One environment was configured with Amazon EBS gp3 volume type and the other with Amazon EBS io2 Block Express volume type.
We compared the database transactional and latency performance using different storage types of io2 Block Express and gp3. Based on the results analysis, for the same IOPS and throughput configuration on each of these EBS volume types, io2 Block Express performed 2.08 times better on transactions per minute (TPM) and provided 3.85 times lower latency for OLTP workloads and 2.78 times lower latency for OLAP workloads. Therefore, io2 Block Express is a recommended solution for database workloads that are sensitive to disk latencies and where performance is a priority over cost. Detailed test results are shown in the following sections.
Comparing EBS volume types gp3 and io2 Block Express
The following figure is a quick comparison of features and pricing between gp3 and io2 Block Express volumes.
Durability advantages
EBS io2 Block Express volumes offers 100 times better durability than EBS gp3 volumes, with an annual failure rate of just 0.001% compared to gp3’s 0.1-0.2%. This makes io2 Block Express particularly valuable for:
Benchmarking system configuration
The following configuration was used to run performance tests for the comparison:
Benchmarking data generation
To compare the performance of Amazon EBS gp3 and io2 Block Express, we loaded the PostgreSQL database with approximately 1 TB of data using the HammerDB tool with 100 warehouses and 10 virtual users, which generated OLTP and OLAP schema, as shown in the following images.
Figure 1: Schema Build Option – OLTP
The image below shows the setting for OLAP schema generation with scale factor of 100 chosen for the benchmark test.
Figure 2: Schema Build Option – OLAP
For more information on how the data was created for benchmark purposes, refer to this HammerDB link.
Benchmark performance analysis
To benchmark performance, the load was generated using the HammerDB tool and stress tests were run for each of the different storage configurations for the same simulated workload in both OLTP and OLAP scenarios.
Benchmark test overview
The following four tests were performed against the PostgreSQL database with RAID-0 configured on gp3 and io2 Block Express to compare performance.
Figure 3: Stress Test Options – OLTP
4. OLAP stress test: In this test, while executing same stress test (10 query sets per user, and 10 virtual users) on the database with different storage configurations on both gp3 and io2 Block Express, the latency of Amazon EBS was measured, as shown in the following figure.
Figure 4: Stress Test Options – OLAP
Benchmark test results
In this section, we give details about the results from the benchmark tests run against the PostgreSQL database running with RAID-0 on Amazon EBS io2 Block Express and gp3.
OLTP load test: In PostgreSQL, while loading the schema for 100 warehouses with 10 users in parallel, write latency per volume on io2 Block express was 3.47 times lower than gp3 on average, shown in the following figures.
Figure 5: Latency Performance in milliseconds – gp3
As seen in the image below there is a significant improvement in latency performance for io2 Block Express for same data load.
Figure 6: Latency Performance in milliseconds – io2 Block Express
Figure 7: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 8: Average Write Latency in milliseconds – io2 Block Express
OLAP load test: In PostgreSQL, while loading the schema for 100 warehouses with 10 users in parallel and 10 query set per user for OLAP schema, write latency per volume on io2 Block express was 3.13 times lower than gp3 on average.
Figure 9: Latency Performance in milliseconds – gp3
Latency performance with OLAP load test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 10: Latency Performance in milliseconds – io2 Block Express
Figure 11: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 12: Average Write Latency in milliseconds – io2 Block Express
OLTP stress test: For the PostgreSQL database with the RAID-0 configuration, the average latency with 80K IOPS running on io2 Block Express volumes was observed to be 0.39 milliseconds, whereas with 80K IOPS running on gp3, the average disk latency was observed to be 1.67 milliseconds. Amazon EBS io2 Block Express was 4.28 times faster than gp3 in terms of disk latency, achieving very low time to complete a single I/O operation on a block device running on the PostgreSQL database.
Figure 13: Latency Performance in milliseconds – gp3
Latency performance with OLTP load test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 14: Latency Performance in milliseconds – io2 Block Express
Figure 15: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 16: Average Write Latency in milliseconds – io2 Block Express
In this stress test, the number of new orders per minute (NOPM) were computed. With gp3 volumes, we observed 129,729 TPM resulting in 55,120 NOPM. With io2 block express we got 269,823 TPM, resulting in 117,460 NOPM. This was a 2.08 times improvement in TPM and a 2.13 times improvement in NOPM.
Figure 17: Transactions per Minute – gp3
HammerDB results showcasing the TPM metrics and NOPM metrics are seen for gp3 in the image above and io2 Block Express in the image below:
Figure 18: Transactions per Minute – io2 Block Express
OLAP stress test: For the PostgreSQL database with the RAID-0 configuration, the maximum latency with 80K IOPS running on io2 Block Express volumes was observed to be 0.7 milliseconds for writes and 0.54 milliseconds for reads. On the other hand, with 80K IOPS running on gp3, the maximum disk latency was observed to be 3.44 milliseconds for writes and 0.81 milliseconds for reads. Amazon EBS io2 Block Express showed 4.91 times better performance for writes and 1.50 times better performance for reads as compared to gp3, achieving very low time to complete a single I/O operation on a block device running the PostgreSQL database, as shown in the following figures.
Figure 19: Latency Performance in milliseconds – gp3 (OLAP Stress Test)
Latency performance with OLAP stress test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 20: Latency Performance in milliseconds – io2 Block Express (OLAP Stress Test)
Figure 21: Average Latency Performance in milliseconds – gp3 (OLAP Stress Test)
Average write latency per volume in OLAP stress test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 22: Average Latency Performance in milliseconds – io2 Block Express (OLAP Stress Test)
Cost and performance use cases for gp3 and io2 Block Express
The following is the cost performance comparison for gp3 and io2 Block Express
gp3:
io2 Block Express:
Amazon EBS io2 Block Express is the premium storage solution for high-performance database workloads, particularly those that are sensitive to disk latencies and need sub-millisecond response times. It excels in scenarios where performance and durability are paramount considerations.
The key advantages of io2 Block Express include:
Although gp3 volumes may be suitable for less demanding workloads or where cost is a primary factor, io2 Block Express is the go-to choice for databases and applications that need the highest levels of performance, consistency, and reliability. It’s particularly well-suited for enterprise-grade databases, high-performance computing, and data-intensive applications where every millisecond counts.
For a detailed analysis of storage patterns and the benefits of moving to the AWS cloud, this Amazon storage post provides valuable insights.
Cleaning Up
The services involved in this solution incur costs. So as not to incur additional costs, make sure to clean up the resources created:
Conclusion
For workloads that demand high performance and sub-millisecond latencies, where performance takes precedence over cost, Amazon EBS io2 Block Express is the ideal block storage solution.
Amazon EBS io2 Block Express uses advanced communication protocols developed as part of the AWS Nitro System. It delivers up to 256K IOPS and 4000 MiB/s of throughput per volume, supports a maximum volume size of 64 TiB, and makes sure of consistently low-variance sub-millisecond disk I/O latency.
In performance benchmarks using a PostgreSQL workload on an r5b.24xlarge EC2 instance, io2 Block Express demonstrated superior transactional and I/O performance as compared to Amazon EBS gp3.
The following table highlights the percentage performance improvements observed during testing, showcasing the advantages of io2 Block Express for high-performance PostgreSQL database workloads over gp3.
The tests in this post were run on the PostgreSQL database, which demonstrated that io2 Block Express performed 3.95 times faster on average than gp3 across all test scenarios. Similar performance improvements can be expected when running other database engines such as Microsoft SQL Server, Oracle, and MySQL, as these benefits stem from the underlying storage architecture rather than being specific to PostgreSQL.
Thank you for reading this post on the benefits of using io2 Block Express over gp3 for I/O intensive database workloads. To learn more about Amazon EBS, check out the tech doc. If you have any comments or questions, then please leave them in the comments section.
” temperature=”0.3″ top_p=”1.0″ best_of=”1″ presence_penalty=”0.1″ ].046/provisioned IOPS-month from 32,001 to 64,000 IOPS – [cyberseo_openai model=”gpt-4o-mini” prompt=”Rewrite a news story for a technical publication, in a calm style with creativity and flair based on text below, making sure it reads like human-written text in a natural way. The article shall NOT include a title, introduction and conclusion. The article shall NOT start from a title. Response language English. Generate HTML-formatted content using
tag for a sub-heading. You can use only
,
,
,- , and HTML tags if necessary. Text: Databases are a fundamental component for any organization with its own IT infrastructure powering various applications. Making sure of the smooth operation of database servers is vital because any performance disruptions can impact numerous users and their activities. Many companies experience performance slowdowns in their applications due to storage latency during database operations.
Volume type
gp3
io2 Block Express
Durability
99.8% – 99.9% durability (0.1% – 0.2% annual failure rate)
99.999% durability (0.001% annual failure rate)
Use-Cases
– Low-latency interactive apps – Development and test environments
– Workloads that need sub-millisecond latency, and sustained IOPS performance or more than 64,000 IOPS or 1,000 MiB/s of throughput
Volume size
1 GiB – 16 TiB
4 GiB – 64 TiB
Max IOPS per volume
1,000 MiB/s
4,000 MiB/s
Latency
single digit millisecond
sub-millisecond
Price
Storage price: – $0.08/GB-month IOPS price: – 3,000 IOPS included – $0.005/provisioned IOPS-month over 3,000 IOPS Throughput price: – 125 MiB/s included – $0.04/provisioned MiB/s-month over 125 MiBps
Storage price: – $0.125/GB-month IOPS price: – $0.065/provisioned IOPS-month up to 32,000 IOPS – $0.046/provisioned IOPS-month from 32,001 to 64,000 IOPS – $0.032/provisioned IOPS-month for greater than 64,000 IOPS
Durability
99.8% – 99.9% durability (0.1% – 0.2% annual failure rate)
99.999% durability (0.001% annual failure rate)
- Mission-critical databases
- Financial transaction systems
- Healthcare applications
- Any workload where data loss is unacceptable
- An EC2 instance of type r5b.24xlarge with 96vCPU/768GB RAM
- Operating system: Amazon Linux 2023
- PostgreSQL database: PostgreSQL 16.5
- Storage configuration: We provisioned the storage for gp3 and io2 Block Express to match IOPS (80000 IOPS) and throughput (8000 MiB/s) for both configurations. This resulted in eight gp3 volumes (per volume: 10000 IOPS, 1000 MiB/s) as opposed to two io2 Block Express volumes (per volume: 40000 IOPS, 4000 MiB/s) to achieve the same total performance metrics. The r5b.24xlarge instance can support a maximum throughput of 7500 MiB/s.
- OLTP load test: Using this article as a reference and keeping the same CPU and memory configuration, we tested the database with different storage configurations using both io2 Block Express and gp3 when the OLTP schema was being loaded or built to compare against I/O write latency.
- OLAP load test: Using this article as a reference and keeping the same CPU and memory configuration, we tested database with different storage configurations using both io2 Block Express and gp3 when the OLAP schema was being loaded or built to compare against I/O write latency.
- OLTP stress test: In this test, while executing same stress test (100 warehouses, 10 virtual users, and 10 million transactions per user with timed duration of 10 minutes) on the database with different storage configurations on both gp3 and io2 Block Express, the latency of Amazon EBS was measured along with the TPM, as shown in the following figure.
- Optimal for: development, test environments, and production workloads that can tolerate single-digit millisecond latencies
- Cost-effective choice at $1,375.36/month for the tested configuration
- Durability: 99.8% – 99.9% (0.1% – 0.2% annual failure rate)
- Best for: budget-conscious workloads where sub-millisecond latency isn’t critical
- Optimal for: mission-critical production workloads needing consistent sub-millisecond latency
- Higher cost at $5,408/month delivers:
- 2.07 times higher transaction throughput
- 4.28 times faster I/O response time
- Durability: 99.999% (0.001% annual failure rate)
- Best for: performance-sensitive workloads where data durability and consistent sub-millisecond latency are essential
- Superior performance: ideal for I/O-intensive critical workloads, delivering consistently low latency and high throughput.
- Sub-millisecond responsiveness: crucial for applications that demand rapid data access and processing.
- Enhanced durability: offers higher durability as compared to standard EBS volumes, making it suitable for mission-critical data.
- Scalability: supports larger volume sizes and higher IOPS, accommodating growing and demanding workloads.
- Amazon EC2 instances – Stop or delete (terminate) the Amazon EC2 instances that you provisioned.
- Amazon EBS volumes – Delete the EBS volumes created.
To tackle this problem, AWS unveiled Amazon Elastic Block Store (Amazon EBS) io2 Block Express in December 2020. This solution aims to optimize storage management for high-performance database servers, enabling them to efficiently handle I/O intensive workloads.
This post examines the performance differences between a PostgreSQL database running on Amazon EBS gp3 and io2 Block Express. io2 Block Express allows you to attain up to 256,000 IOPS and 4,000 MiB/s throughput per volume. It supports expansive storage needs with up to 64 TiB per volume, while making sure of low-variance sub-millisecond disk I/O latency. The low latency is achieved by Scalable Reliable Datagrams (SRD), an advanced communication protocol integrated into the AWS Nitro System. This post is a part of series that has shown how to achieve higher database performance using Amazon EBS io2 Block Express volumes for Oracle databases.
Database performance comparison overview
To measure database performance, it’s essential to consider key metrics such as IOPS, latency, and throughput. IOPS quantifies the number of input and output operations per second, latency indicates the time it takes for a single I/O request to complete, and throughput measures the amount of data that can be read or written per second.
To assess database performance, we used HammerDB, an open-source database benchmarking and load testing tool that supports multiple database platforms, such as PostgreSQL. It is widely used to measure the performance and scalability of database systems under simulated workloads. For PostgreSQL, HammerDB implements the Transaction Processing Performance Council-C (TPC-C) benchmark, which emulates the online transaction processing (OLTP) workload of a wholesale supplier, and the Transaction Processing Performance Council-H (TPC-H) benchmark for evaluating the performance of Online Analytical Processing (OLAP) systems, which focuses on decision support systems (DSS) and measures how efficiently a database can handle complex analytical queries on large datasets.
This tool measures the average transaction rate in transactions per second (TPS) in OLTP testing and queries per hour in OLAP testing. Using benchmark data allows us to compare the performance of Amazon EBS gp3 with io2 Block Express under identical stress test conditions.
We provisioned two environments on Amazon Elastic Compute Cloud (Amazon EC2) with the instance type of r5b.24xlarge to examine the impact of storage performance on the database using four types of tests: OLTP Load test, OLTP Stress test, OLAP Load test, and OLAP Stress test by configuring PostgreSQL databases on each of these environments. One environment was configured with Amazon EBS gp3 volume type and the other with Amazon EBS io2 Block Express volume type.
We compared the database transactional and latency performance using different storage types of io2 Block Express and gp3. Based on the results analysis, for the same IOPS and throughput configuration on each of these EBS volume types, io2 Block Express performed 2.08 times better on transactions per minute (TPM) and provided 3.85 times lower latency for OLTP workloads and 2.78 times lower latency for OLAP workloads. Therefore, io2 Block Express is a recommended solution for database workloads that are sensitive to disk latencies and where performance is a priority over cost. Detailed test results are shown in the following sections.
Comparing EBS volume types gp3 and io2 Block Express
The following figure is a quick comparison of features and pricing between gp3 and io2 Block Express volumes.
Durability advantages
EBS io2 Block Express volumes offers 100 times better durability than EBS gp3 volumes, with an annual failure rate of just 0.001% compared to gp3’s 0.1-0.2%. This makes io2 Block Express particularly valuable for:
Benchmarking system configuration
The following configuration was used to run performance tests for the comparison:
Benchmarking data generation
To compare the performance of Amazon EBS gp3 and io2 Block Express, we loaded the PostgreSQL database with approximately 1 TB of data using the HammerDB tool with 100 warehouses and 10 virtual users, which generated OLTP and OLAP schema, as shown in the following images.
Figure 1: Schema Build Option – OLTP
The image below shows the setting for OLAP schema generation with scale factor of 100 chosen for the benchmark test.
Figure 2: Schema Build Option – OLAP
For more information on how the data was created for benchmark purposes, refer to this HammerDB link.
Benchmark performance analysis
To benchmark performance, the load was generated using the HammerDB tool and stress tests were run for each of the different storage configurations for the same simulated workload in both OLTP and OLAP scenarios.
Benchmark test overview
The following four tests were performed against the PostgreSQL database with RAID-0 configured on gp3 and io2 Block Express to compare performance.
Figure 3: Stress Test Options – OLTP
4. OLAP stress test: In this test, while executing same stress test (10 query sets per user, and 10 virtual users) on the database with different storage configurations on both gp3 and io2 Block Express, the latency of Amazon EBS was measured, as shown in the following figure.
Figure 4: Stress Test Options – OLAP
Benchmark test results
In this section, we give details about the results from the benchmark tests run against the PostgreSQL database running with RAID-0 on Amazon EBS io2 Block Express and gp3.
OLTP load test: In PostgreSQL, while loading the schema for 100 warehouses with 10 users in parallel, write latency per volume on io2 Block express was 3.47 times lower than gp3 on average, shown in the following figures.
Figure 5: Latency Performance in milliseconds – gp3
As seen in the image below there is a significant improvement in latency performance for io2 Block Express for same data load.
Figure 6: Latency Performance in milliseconds – io2 Block Express
Figure 7: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 8: Average Write Latency in milliseconds – io2 Block Express
OLAP load test: In PostgreSQL, while loading the schema for 100 warehouses with 10 users in parallel and 10 query set per user for OLAP schema, write latency per volume on io2 Block express was 3.13 times lower than gp3 on average.
Figure 9: Latency Performance in milliseconds – gp3
Latency performance with OLAP load test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 10: Latency Performance in milliseconds – io2 Block Express
Figure 11: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 12: Average Write Latency in milliseconds – io2 Block Express
OLTP stress test: For the PostgreSQL database with the RAID-0 configuration, the average latency with 80K IOPS running on io2 Block Express volumes was observed to be 0.39 milliseconds, whereas with 80K IOPS running on gp3, the average disk latency was observed to be 1.67 milliseconds. Amazon EBS io2 Block Express was 4.28 times faster than gp3 in terms of disk latency, achieving very low time to complete a single I/O operation on a block device running on the PostgreSQL database.
Figure 13: Latency Performance in milliseconds – gp3
Latency performance with OLTP load test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 14: Latency Performance in milliseconds – io2 Block Express
Figure 15: Average Write Latency in milliseconds – gp3
Average write latency for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 16: Average Write Latency in milliseconds – io2 Block Express
In this stress test, the number of new orders per minute (NOPM) were computed. With gp3 volumes, we observed 129,729 TPM resulting in 55,120 NOPM. With io2 block express we got 269,823 TPM, resulting in 117,460 NOPM. This was a 2.08 times improvement in TPM and a 2.13 times improvement in NOPM.
Figure 17: Transactions per Minute – gp3
HammerDB results showcasing the TPM metrics and NOPM metrics are seen for gp3 in the image above and io2 Block Express in the image below:
Figure 18: Transactions per Minute – io2 Block Express
OLAP stress test: For the PostgreSQL database with the RAID-0 configuration, the maximum latency with 80K IOPS running on io2 Block Express volumes was observed to be 0.7 milliseconds for writes and 0.54 milliseconds for reads. On the other hand, with 80K IOPS running on gp3, the maximum disk latency was observed to be 3.44 milliseconds for writes and 0.81 milliseconds for reads. Amazon EBS io2 Block Express showed 4.91 times better performance for writes and 1.50 times better performance for reads as compared to gp3, achieving very low time to complete a single I/O operation on a block device running the PostgreSQL database, as shown in the following figures.
Figure 19: Latency Performance in milliseconds – gp3 (OLAP Stress Test)
Latency performance with OLAP stress test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 20: Latency Performance in milliseconds – io2 Block Express (OLAP Stress Test)
Figure 21: Average Latency Performance in milliseconds – gp3 (OLAP Stress Test)
Average write latency per volume in OLAP stress test for gp3 is seen in the above image and io2 Block Express in the image below:
Figure 22: Average Latency Performance in milliseconds – io2 Block Express (OLAP Stress Test)
Cost and performance use cases for gp3 and io2 Block Express
The following is the cost performance comparison for gp3 and io2 Block Express
gp3:
io2 Block Express:
Amazon EBS io2 Block Express is the premium storage solution for high-performance database workloads, particularly those that are sensitive to disk latencies and need sub-millisecond response times. It excels in scenarios where performance and durability are paramount considerations.
The key advantages of io2 Block Express include:
Although gp3 volumes may be suitable for less demanding workloads or where cost is a primary factor, io2 Block Express is the go-to choice for databases and applications that need the highest levels of performance, consistency, and reliability. It’s particularly well-suited for enterprise-grade databases, high-performance computing, and data-intensive applications where every millisecond counts.
For a detailed analysis of storage patterns and the benefits of moving to the AWS cloud, this Amazon storage post provides valuable insights.
Cleaning Up
The services involved in this solution incur costs. So as not to incur additional costs, make sure to clean up the resources created:
Conclusion
For workloads that demand high performance and sub-millisecond latencies, where performance takes precedence over cost, Amazon EBS io2 Block Express is the ideal block storage solution.
Amazon EBS io2 Block Express uses advanced communication protocols developed as part of the AWS Nitro System. It delivers up to 256K IOPS and 4000 MiB/s of throughput per volume, supports a maximum volume size of 64 TiB, and makes sure of consistently low-variance sub-millisecond disk I/O latency.
In performance benchmarks using a PostgreSQL workload on an r5b.24xlarge EC2 instance, io2 Block Express demonstrated superior transactional and I/O performance as compared to Amazon EBS gp3.
The following table highlights the percentage performance improvements observed during testing, showcasing the advantages of io2 Block Express for high-performance PostgreSQL database workloads over gp3.
The tests in this post were run on the PostgreSQL database, which demonstrated that io2 Block Express performed 3.95 times faster on average than gp3 across all test scenarios. Similar performance improvements can be expected when running other database engines such as Microsoft SQL Server, Oracle, and MySQL, as these benefits stem from the underlying storage architecture rather than being specific to PostgreSQL.
Thank you for reading this post on the benefits of using io2 Block Express over gp3 for I/O intensive database workloads. To learn more about Amazon EBS, check out the tech doc. If you have any comments or questions, then please leave them in the comments section.
” temperature=”0.3″ top_p=”1.0″ best_of=”1″ presence_penalty=”0.1″ ].032/provisioned IOPS-month for greater than 64,000 IOPS
Durability advantages
The durability of EBS io2 Block Express volumes is significantly superior, offering 100 times better durability than EBS gp3 volumes, with an annual failure rate of just 0.001% compared to gp3’s 0.1-0.2%. This makes io2 Block Express particularly advantageous for:
Benchmarking system configuration
The following configuration was employed to execute performance tests for the comparison:
Benchmarking data generation
To compare the performance of Amazon EBS gp3 and io2 Block Express, we loaded the PostgreSQL database with approximately 1 TB of data using the HammerDB tool with 100 warehouses and 10 virtual users, generating OLTP and OLAP schemas, as illustrated in the following images.
Figure 1: Schema Build Option – OLTP
The image below displays the settings for OLAP schema generation, with a scale factor of 100 selected for the benchmark test.
Figure 2: Schema Build Option – OLAP
For further details on how the data was created for benchmarking purposes, refer to this HammerDB link.
Benchmark performance analysis
To benchmark performance, we generated load using the HammerDB tool and conducted stress tests for each of the different storage configurations under the same simulated workload in both OLTP and OLAP scenarios.
Benchmark test overview
The following four tests were executed against the PostgreSQL database with RAID-0 configured on gp3 and io2 Block Express to compare performance:
Figure 3: Stress Test Options – OLTP
Benchmark test results
This section provides an overview of the results from the benchmark tests conducted on the PostgreSQL database running with RAID-0 on Amazon EBS io2 Block Express and gp3.
OLTP load test: During the schema loading for 100 warehouses with 10 concurrent users, the write latency per volume on io2 Block Express was found to be 3.47 times lower than gp3 on average, as illustrated in the following figures.
Figure 5: Latency Performance in milliseconds – gp3
The image below highlights the significant improvement in latency performance for io2 Block Express under the same data load.
Figure 6: Latency Performance in milliseconds – io2 Block Express
Figure 7: Average Write Latency in milliseconds – gp3
The average write latency for gp3 is depicted in the above image, while io2 Block Express is shown in the image below:
Figure 8: Average Write Latency in milliseconds – io2 Block Express
OLAP load test: While loading the schema for 100 warehouses with 10 users in parallel and 10 query sets per user for the OLAP schema, the write latency per volume on io2 Block Express was 3.13 times lower than gp3 on average.
Figure 9: Latency Performance in milliseconds – gp3
The latency performance for the OLAP load test with gp3 is shown in the above image, while io2 Block Express is depicted in the image below:
Figure 10: Latency Performance in milliseconds – io2 Block Express
Figure 11: Average Write Latency in milliseconds – gp3
The average write latency for gp3 is illustrated in the above image, with io2 Block Express displayed in the image below:
Figure 12: Average Write Latency in milliseconds – io2 Block Express
OLTP stress test: For the PostgreSQL database configured with RAID-0, the average latency with 80K IOPS on io2 Block Express volumes was recorded at 0.39 milliseconds, while with 80K IOPS on gp3, the average disk latency was measured at 1.67 milliseconds. This indicates that Amazon EBS io2 Block Express was 4.28 times faster than gp3 in terms of disk latency, achieving remarkably low completion times for single I/O operations on the PostgreSQL database.
Figure 13: Latency Performance in milliseconds – gp3
The latency performance for the OLTP load test with gp3 is shown in the above image, while io2 Block Express is depicted in the image below:
Figure 14: Latency Performance in milliseconds – io2 Block Express
Figure 15: Average Write Latency in milliseconds – gp3
The average write latency for gp3 is illustrated in the above image, with io2 Block Express displayed in the image below:
Figure 16: Average Write Latency in milliseconds – io2 Block Express
During this stress test, we calculated the number of new orders per minute (NOPM). With gp3 volumes, we observed 129,729 TPM, resulting in 55,120 NOPM. In contrast, io2 Block Express yielded 269,823 TPM, resulting in 117,460 NOPM. This represents a 2.08 times improvement in TPM and a 2.13 times enhancement in NOPM.
Figure 17: Transactions per Minute – gp3
The HammerDB results showcasing the TPM and NOPM metrics for gp3 are displayed in the image above, while io2 Block Express is shown in the image below:
Figure 18: Transactions per Minute – io2 Block Express
OLAP stress test: For the PostgreSQL database configured with RAID-0, the maximum latency with 80K IOPS on io2 Block Express volumes was recorded at 0.7 milliseconds for writes and 0.54 milliseconds for reads. Conversely, with 80K IOPS on gp3, the maximum disk latency was observed to be 3.44 milliseconds for writes and 0.81 milliseconds for reads. This indicates that Amazon EBS io2 Block Express exhibited 4.91 times better performance for writes and 1.50 times better performance for reads compared to gp3, achieving impressively low completion times for single I/O operations on the PostgreSQL database, as illustrated in the following figures.
Figure 19: Latency Performance in milliseconds – gp3 (OLAP Stress Test)
The latency performance for the OLAP stress test with gp3 is shown in the above image, while io2 Block Express is depicted in the image below:
Figure 20: Latency Performance in milliseconds – io2 Block Express (OLAP Stress Test)
Figure 21: Average Latency Performance in milliseconds – gp3 (OLAP Stress Test)
The average write latency per volume in the OLAP stress test for gp3 is illustrated in the above image, with io2 Block Express displayed in the image below:
Figure 22: Average Latency Performance in milliseconds – io2 Block Express (OLAP Stress Test)
Cost and performance use cases for gp3 and io2 Block Express
The following is a cost-performance comparison for gp3 and io2 Block Express:
gp3:
io2 Block Express:
Amazon EBS io2 Block Express stands out as the premium storage solution for high-performance database workloads, particularly those sensitive to disk latencies and requiring sub-millisecond response times. It excels in scenarios where performance and durability are paramount considerations.
The key advantages of io2 Block Express include:
While gp3 volumes may suffice for less demanding workloads or where cost is a primary concern, io2 Block Express is the preferred choice for databases and applications requiring the highest levels of performance, consistency, and reliability. It is particularly well-suited for enterprise-grade databases, high-performance computing, and data-intensive applications where every millisecond counts.
For a comprehensive analysis of storage patterns and the advantages of transitioning to the AWS cloud, this Amazon storage post offers valuable insights.
Cleaning Up
To avoid incurring unnecessary costs from the services utilized in this solution, it is essential to clean up the resources created: