Courseiva
Monitoring and TroubleshootinghardMultiple ChoiceObjective-mapped

DBS-C01 Monitoring and Troubleshooting Practice Question

A company runs an e-commerce platform on AWS using a multi-tier architecture. The application tier consists of Auto Scaling groups of EC2 instances behind an Application Load Balancer. The database tier uses Amazon RDS for MySQL with Multi-AZ deployment. Recently, the operations team noticed that during flash sales, the application becomes unresponsive and users receive 503 errors. The team checks CloudWatch metrics and sees that the RDS instance's CPU utilization spikes to 100%, and the `DatabaseConnections` metric also spikes to the maximum allowed value of 500. The application uses connection pooling with a maximum of 200 connections, but the metric shows 500 connections. The team suspects that the connection pooling configuration is not being honored. The application code is written in Python and uses SQLAlchemy with a connection pool size of 10 per application instance. There are 20 application instances in the Auto Scaling group during peak times. The team wants to resolve the issue without increasing the database instance size. What should the team do?

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

Set the `max_connections` parameter in the RDS parameter group to 200 and configure the application to handle connection errors with retry logic

Setting the `max_connections` parameter in the RDS parameter group enforces a hard limit at the database level, preventing the database from accepting more than 200 connections. With 20 application instances each using a connection pool of 10, the total intended connections are 200. By setting `max_connections` to 200, any excess connection attempts will be rejected, and the application should handle connection errors with retry logic, preventing the database from being overwhelmed. Option A is wrong: reducing the Auto Scaling group's desired capacity to 10 instances would reduce the total connection pool to 100, which might temporarily reduce load but is not a scalable solution and does not address the root cause that the application's connection pooling is not being honored. Option C is wrong: migrating to Amazon Aurora MySQL with Auto Scaling does not directly solve the connection pooling issue. Aurora may allow more connections, but the root cause is that the application is opening more connections than configured, and a migration is a costly change that doesn't fix the configuration problem. Option D is wrong: increasing the SQLAlchemy pool size per instance to 25 would increase the total potential connections to 500 (20 instances × 25), which would worsen the connection spike and exceed the database's maximum, increasing contention and load.

Answer analysis

Option-by-option breakdown

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

  • Reduce the Auto Scaling group's desired capacity to 10 instances during flash sales

    Why it's wrong here

    Reducing instances may lower load but is not a reliable solution and may impact performance.

  • Set the `max_connections` parameter in the RDS parameter group to 200 and configure the application to handle connection errors with retry logic

    Why this is correct

    Limiting max_connections to 200 ensures the database does not accept more connections than the application intends, and retry logic handles connection failures.

  • Migrate the database to Amazon Aurora MySQL with Auto Scaling enabled

    Why it's wrong here

    Aurora may improve performance but does not address the connection mismanagement.

  • Increase the SQLAlchemy pool size to 25 per instance to reduce connection contention

    Why it's wrong here

    Increasing pool size would increase total connections, exacerbating the issue.

Visual reference

Client Recursive Resolver Root DNS (13 root servers) TLD DNS (.com, .org, …) Authoritative example.com query IP addr answer

About these practice questions

This DBS-C01 question is part of Courseiva's 1,663-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 DBS-C01 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 DBS-C01 exam.