Courseiva
Cost and Performance OptimizationhardMultiple ChoiceObjective-mapped

SOA-C02 Cost and Performance Optimization Practice Question

A company runs a web application on Amazon EC2 instances behind an Application Load Balancer (ALB). The application reads data from an Amazon RDS for MySQL database. During peak hours, the database CPU utilization is consistently high, and the application experiences increased latency. The SysOps administrator observes that 90% of database queries are read-only. Which combination of actions will both improve performance and optimize costs?

⚠ Common exam trap

Many exam-takers confuse Multi-AZ (high availability) with read replicas (performance scaling), or assume caching (ElastiCache) is always the best choice for read-heavy workloads without considering the simplicity and cost-effectiveness of read replicas for database-level offloading.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

Implement a read replica for the RDS instance and modify the application to route read queries to the read replica

Implementing a read replica offloads read-heavy (90%) queries from the primary RDS instance, reducing CPU utilization and latency. Modifying the application to route read queries to the replica distributes the workload, improving performance while avoiding costly vertical scaling. This optimizes costs by using a smaller primary instance and paying only for the replica's resources.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • Enable Multi-AZ for the RDS instance and scale up the instance size

    Why it's wrong here

    Enabling Multi-AZ adds a standby replica in a different Availability Zone for high availability and automatic failover, but the standby is passive and cannot serve read traffic. Scaling up the instance size increases vCPU and memory, which may help if the bottleneck is CPU capacity, but it does not address the architectural issue that read-heavy queries are consuming primary instance resources. This approach incurs significant cost for a larger instance plus the standby, and it does not provide a dedicated endpoint for read scaling, so it fails to solve the root cause: read load on the primary.

  • Implement a read replica for the RDS instance and modify the application to route read queries to the read replica

    Why this is correct

    Implementing a read replica creates a separate RDS instance that uses asynchronous replication to maintain a copy of the primary database, and it has its own endpoint that can handle read traffic. By modifying the application to route SELECT queries to the read replica (and keeping write operations on the primary), you offload CPU-intensive read workloads from the primary instance, directly alleviating high CPU utilization. This is a proven pattern for read-heavy applications because it scales read capacity independently and is more cost-effective than scaling up the primary, as you only size the primary for write throughput.

  • Enable Amazon RDS Performance Insights and increase the storage allocation

    Why it's wrong here

    Performance Insights helps identify performance bottlenecks but does not directly reduce CPU load. Increasing storage may improve I/O performance if bottlenecks are I/O-related, but it does not address high CPU from read queries and increases cost.

  • Implement Amazon ElastiCache for Memcached in front of the database and migrate read-heavy queries to cache

    Why it's wrong here

    Implementing ElastiCache for Memcached would offload some read queries by caching frequently accessed data, reducing direct database hits. However, it does not scale the underlying database's read capacity by providing additional read endpoints, which is crucial when the database CPU itself is consistently high due to read-only queries. This option is tempting as it addresses read-heavy workloads and improves performance by reducing database load. It would be correct for caching specific query results or application objects, such as session data, to minimise repetitive database access.

About these practice questions

This SOA-C02 question is part of Courseiva's 247-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This SOA-C02 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SOA-C02 exam.