A company runs a three-tier web application on Amazon EC2 instances in an Auto Scaling group behind an Application Load Balancer (ALB). The application's database is a single-node Amazon RDS for PostgreSQL instance. During high-traffic events, users experience slow response times. System metrics indicate that EC2 CPU utilization remains below , but the RDS instance CPU utilization reaches due to a large volume of read-only reporting queries. Which architectural optimization should a solutions architect implement to resolve the performance bottleneck with the least operational overhead?
- Deploy Amazon RDS Read Replicas and configure the application to route read-only queries to the read replica endpoints.Answer
- BEnable Amazon RDS Multi-AZ replication to distribute the read-only reporting queries between the primary and standby database instances.
- CRequest that AWS Support pre-warm the Application Load Balancer to ensure it scales ahead of high-traffic events and reduces latency.
- DDeploy an Amazon ElastiCache for Memcached cluster with Multi-AZ replication to cache the query results and persistent database sessions.
Answer
Deploy Amazon RDS Read Replicas and configure the application to route read-only queries to the read replica endpoints.
Deploying Amazon RDS Read Replicas is the correct strategy because it allows the read-only reporting queries to be directed to a separate read replica endpoint. This offloads read traffic from the primary database instance, lowering its CPU utilization and resolving the performance bottleneck without requiring significant application refactoring.
Step-by-Step Solution
Key Concept
Horizontal scaling of database workloads using Read Replicas versus High Availability configurations.