A company runs a high-volume OLTP application on an Amazon RDS for PostgreSQL database configured in a Multi-AZ deployment. During end-of-month reporting cycles, users experience significant performance degradation and query timeouts on their analytics dashboards. Monitoring metrics show that the primary database instance is experiencing CPU utilization near and high read IOPS, while write transaction response times increase. The analytics queries are strictly read-only. Which of the following optimization strategies should the solutions architect implement to resolve the performance bottleneck in a cost-effective and operationally efficient manner?
- AConfigure the reporting dashboards to point to the DNS endpoint of the standby instance in the secondary Availability Zone of the Multi-AZ deployment.
- BRequest AWS Support to pre-warm an Application Load Balancer placed in front of the RDS database instances to load balance the database connection requests.
- Create one or more Amazon RDS PostgreSQL Read Replicas and update the reporting application to route the read-only query traffic to the read replica endpoints.Answer
- DPurchase EC2 Instance Savings Plans to automatically cover the compute cost of the database instances as they scale during reporting periods.
Answer
Create one or more Amazon RDS PostgreSQL Read Replicas and update the reporting application to route the read-only query traffic to the read replica endpoints.
Creating one or more Amazon RDS PostgreSQL Read Replicas is the correct strategy because standard RDS PostgreSQL Read Replicas allow read-only query workloads to be offloaded from the primary write instance, thereby reducing CPU and IOPS contention. This is supported by PostgreSQL read replicas, which run independently of the Multi-AZ standby.
Step-by-Step Solution
Key Concept
Horizontal scaling of database read workloads using Read Replicas in Amazon RDS.