ETExamTower
Q91Design High-Performing Architectures

A company runs a multi-tier ecommerce web application in the AWS Cloud. The application runs on Amazon EC2 instances and uses an Amazon RDS for MySQL Multi-AZ DB instance. Amazon RDS is configured with the latest-generation DB instance and 2,000 GB of storage on a General Purpose SSD (gp3) Amazon Elastic Block Store (Amazon EBS) volume. Database performance affects the application during periods of high demand. A database administrator analyzes the logs in Amazon CloudWatch Logs and discovers that application performance always degrades when the number of read and write IOPS exceeds 20,000. What should a solutions architect do to improve application performance?

← → navigate · a answer
Community votes
C
73% (11)
B
20% (3)
D
7% (1)
A
0% (0)
Discussion · 30
D 37
A - Magnetic Max IOPS 200 - Wrong B - gp3 Max IOPS 16000 per volume - Wrong C - RDS not supported io2 - Wrong D - Correct; 2 gp3 volume with 16 000 each 2*16000 = 32 000 IOPS
B 15
It can not be option C as RDS does not support io2 storage type (only io1). Here is a link to the RDS storage documentation: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html Also it is not the best option to take Magnetic storage as it supports max 1000 IOPS. I vote for option B as gp3 storage type supports up to 64 000 IOPS where question mentioned with problem at level of 20 000.
7
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html - Right there in the first paragraph: "Amazon RDS provides three storage types: General Purpose SSD (also known as gp2 and gp3), Provisioned IOPS SSD (also known as io1 and io2 Block Express), and magnetic (also known as standard). They differ in performance characteristics and price, which means that you can tailor your storage performance and cost to the needs of your database workload. You can create Db2, MySQL, MariaDB, Oracle, and PostgreSQL RDS DB instances with up to 64 tebibytes (TiB) of storage. "
C 7
Provisioned IOPS SSDs (io2) are specifically designed to deliver sustained high performance and low latency (RDS is supported in IO2). They can handle more than 20,000 IOPS.
6
that Link is to EBS instead of RDS
C 6
Now EBS support io2.
6
I really wonder how this answer can be the top answer. How would it even be possible to provision multiple gp3 volumes for RDS? RDS manages the storage, we have no influence on the number of volumes. *Striping* is something that RDS does automatically depending on storage class and volume size: "When you select General Purpose SSD or Provisioned IOPS SSD, depending on the engine selected and the amount of storage requested, Amazon RDS automatically stripes across multiple volumes to enhance performance (...)" For MariaDB with 400 to 64,000 GiB of gp3 storage, RDS automatically provisions 4 volumes. This gives us 12,000 IOPS *baseline* and can be increased up to 64,000 *provisioned* IOPS. RDS does not support io2. Therefore: Option B
C 5
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html
C 5
It should be "C" right, now. https://aws.amazon.com/blogs/aws/amazon-rds-now-supports-io2-block-express-volumes-for-mission-critical-database-workloads/
4
It must be that io2 was originally not supported by RDS, because I see this untruth reposted everywhere. It totally is.
4
Updated 2024 Answer: C
C 4
Per the newest info it should be C right now https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html
3
https://repost.aws/knowledge-center/ebs-volume-type-differences RDS does support io2
3
Nice to see that everyone just picked a different answer...
C 3
RDS now support io2
3
is this true? Amazon RDS (Relational Database Service) supports the Provisioned IOPS SSD (io2) storage type for its database instances. The io2 storage type is designed to deliver predictable performance for critical and highly demanding database workloads. It provides higher durability, higher IOPS, and lower latency compared to other Amazon EBS (Elastic Block Store) storage types. RDS offers the option to choose between the General Purpose SSD (gp3) and Provisioned IOPS SSD (io2) storage types for database instances.
2
check the link below https://repost.aws/knowledge-center/ebs-volume-type-differences it states: General Purpose SSD volumes are good for a wide variety of transactional workloads that require less than the following: 16,000 IOPS 1,000 MiB/s of throughput 160-TiB volume size
2
Answer is C, io2 volumes are supported https://aws.amazon.com/blogs/aws/amazon-rds-now-supports-io2-block-express-volumes-for-mission-critical-database-workloads/
2
PS: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html
C 2
Provisioned IOPS SSDs (io2) are specifically designed to deliver sustained high performance and low latency (RDS is supported in IO2). They can handle more than 20,000 IOPS.
C 1
How on earth would the answer be D? Splitting the gp3 volume into two does not solve the IOPS limitation because each volume would still be subject to the gp3 performance cap. The core of the crux is still there! C - io2 volumes are exactly designed for workloads requiring consistent, high-performance storage.
1
Still doesn't change the fact that RDS now supports io2 https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html
1
‘the application performance always degrades when the number of read and write IOPS is higher than 20,000’ … question didn’t say read and write IOPs can’t be higher than 32,000. Answer: C if it’s based on performance and not cost related. ‘Amazon RDS provides three storage types: General Purpose SSD (also known as gp2 and gp3), Provisioned IOPS SSD (also known as io1), and magnetic (also known as standard). They differ in performance characteristics and price, which means that you can tailor your storage performance and cost to the needs of your database workload.’ https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html
C 1
Since ~ March 24, C is arguably the right answer: https://aws.amazon.com/blogs/aws/amazon-rds-now-supports-io2-block-express-volumes-for-mission-critical-database-workloads/
1
Please add a reference where it states that io2 is supported by RDS.
B 1
B for sure
B 1
I selected C initially, but after read the doc https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html, noticed maximum IOPS for gp3 volume is 64K (16K for SQL server), For an RDS for MySQL workload, increasing the provisioned IOPS on the gp3 volume to exceed the application's peak demand (e.g., 30,000 IOPS) is a cost-effective and scalable solution.
1
gp3 Max IOPS 16000 per volume is for SQL server, for MySQL server it is 64000 per volume, so B should work. https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html
1
C is more expensive and overkill.
C 1
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#Concepts.Storage.GeneralSSD