
Ultimate access to all questions.
Answer-first summary for fast verification
Answer: Create a read replica for the DB instance. Configure the application to send read traffic to the read replica., Create an Amazon ElastiCache cluster. Configure the application to cache query results in the ElastiCache cluster.
## Explanation **Correct Answers: B and D** **B. Create a read replica for the DB instance. Configure the application to send read traffic to the read replica.** - This directly addresses the heavy read load issue by offloading read queries from the primary database to one or more read replicas. - Read replicas in Amazon RDS provide a scalable solution for read-heavy workloads by allowing you to scale out beyond the capacity constraints of a single DB instance. - This improves performance by distributing read traffic across multiple database instances. **D. Create an Amazon ElastiCache cluster. Configure the application to cache query results in the ElastiCache cluster.** - Caching frequently accessed data in ElastiCache (Redis or Memcached) reduces the number of database queries, which directly alleviates the heavy read load on the RDS instance. - This improves application performance by serving cached data from memory, which is much faster than querying the database. - It's particularly effective for read-heavy applications with repetitive queries. **Why other options are incorrect:** **A. Turn on auto scaling for the DB instance.** - RDS does not have auto scaling for compute capacity in the same way EC2 does. While you can modify instance types, this is not an automatic scaling solution. - Vertical scaling (changing instance types) requires downtime and doesn't address read scalability effectively. **C. Convert the DB instance to a Multi-AZ DB instance deployment. Configure the application to send read traffic to the standby DB instance.** - Multi-AZ deployments are primarily for high availability and disaster recovery, not for read scaling. - The standby replica in Multi-AZ is synchronous and cannot be used for read traffic (except for Aurora with reader endpoints). - For PostgreSQL RDS, Multi-AZ standby instances cannot serve read traffic. **E. Configure the Auto Scaling group subnets to ensure that the EC2 instances are provisioned in the same Availability Zone as the DB instance.** - While this might reduce network latency slightly, it doesn't address the core issue of database read load. - This approach also reduces fault tolerance by concentrating resources in a single Availability Zone. - The performance bottleneck is database read capacity, not network latency between EC2 and RDS. **Key AWS Concepts:** 1. **RDS Read Replicas**: Provide horizontal scaling for read-heavy workloads 2. **ElastiCache**: In-memory caching service that reduces database load 3. **Multi-AZ vs Read Replicas**: Multi-AZ is for high availability, read replicas are for read scalability 4. **Database Performance Optimization**: Combine caching (ElastiCache) with read scaling (Read Replicas) for optimal performance
Author: LeetQuiz Editorial Team
No comments yet.
A company runs a web application on Amazon EC2 instances in an Auto Scaling group. The application uses a database that runs on an Amazon RDS for PostgreSQL DB instance. The application performs slowly when traffic increases. The database experiences a heavy read load during periods of high traffic.
Which actions should a solutions architect take to resolve these performance issues? (Choose two.)
A
Turn on auto scaling for the DB instance.
B
Create a read replica for the DB instance. Configure the application to send read traffic to the read replica.
C
Convert the DB instance to a Multi-AZ DB instance deployment. Configure the application to send read traffic to the standby DB instance.
D
Create an Amazon ElastiCache cluster. Configure the application to cache query results in the ElastiCache cluster.
E
Configure the Auto Scaling group subnets to ensure that the EC2 instances are provisioned in the same Availability Zone as the DB instance.