AWS Certified Solutions Architect - Associate SAA-C03 Exam QuestionsBrowse all questions from this exam

AWS Certified Solutions Architect - Associate SAA-C03 Exam - Question 714


A company runs a highly available web application on Amazon EC2 instances behind an Application Load Balancer. The company uses Amazon CloudWatch metrics.

As the traffic to the web application increases, some EC2 instances become overloaded with many outstanding requests. The CloudWatch metrics show that the number of requests processed and the time to receive the responses from some EC2 instances are both higher compared to other EC2 instances. The company does not want new requests to be forwarded to the EC2 instances that are already overloaded.

Which solution will meet these requirements?

Show Answer
Correct Answer: B

To prevent overloading specific EC2 instances with too many outstanding requests, the least outstanding requests algorithm should be used. This algorithm routes new requests to the EC2 instance with the lowest number of in-progress requests, which helps balance the load more effectively and prevents any single instance from becoming a bottleneck. The metrics 'RequestCountPerTarget' and 'ActiveConnectionCount' are instrumental in determining the current load on each instance. 'RequestCountPerTarget' gives insight into the number of requests each target (EC2 instance) is handling, and 'ActiveConnectionCount' provides information on the number of active connections, helping to ensure that overloaded instances are bypassed in favor of those with lower loads.

Discussion

16 comments
Sign in to comment
h0ng97_spare_002Option: B
Mar 25, 2024

Option B is correct because can use "RequestCountPerTarget" to identify the amount of requests for each EC2 instance. Then use "least outstanding requests algorithm" to route to targets with the lowest number of in progress requests. Option D is wrong because "RequestCount" cannot identify the amount of requests for each EC2 instance. "RequestCount" is for the whole ALB.

Tatai2015
Jun 3, 2024

https://aws.amazon.com/about-aws/whats-new/2019/11/application-load-balancer-now-supports-least-outstanding-requests-algorithm-for-load-balancing-requests/

Andy_09
Feb 5, 2024

Option B would be the correct choice

KezukoOption: B
Mar 19, 2024

https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html To understand the types

osmkOption: D
Feb 24, 2024

The least outstanding requests routing algorithm routes requests to the targets with the lowest number of in progress requests > https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html

haciOption: B
Mar 10, 2024

The question is not asking for better performance in response time. It is just simply asking to distribute the number of requests among instances. So B seems more logical.

TruthWS
Mar 26, 2024

Option B

Moon239
Feb 8, 2024

Why not D?

jaswantn
Feb 11, 2024

With Least outstanding requests algorithm, new request will send it to the "target" with least number of outstanding requests. Targets processing long-standing requests or having lower processing capabilities are not burdened with more requests. That's why option B is correct and not option D.

alawadaOption: B
Mar 22, 2024

distribute the number of requests among instances

dkw2342
Mar 24, 2024

IMO the correct answer is option D: This is from an earlier version of the AWS documentation on ALB target groups - for some reason they removed this information in the current revision: "Consider using least outstanding requests when the requests for your application vary in complexity or your targets vary in processing capability. Round robin is a good choice when the requests and targets are similar, or if you need to distribute requests equally among targets. You can compare the effect of round robin versus least outstanding requests using the following CloudWatch metrics: RequestCount, TargetConnectionErrorCount, and TargetResponseTime." https://web.archive.org/web/20200426172626/https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#modify-routing-algorithm

h0ng97_spare_002
Mar 25, 2024

The link is just saying that you can view "RequestCount, TargetConnectionErrorCount, and TargetResponseTime" to understand the difference in effect between round robin vs least outstanding requests. It is not the direct answer to this question.

Salilgen
Dec 30, 2024

I agree. "The CloudWatch metrics show that the number of requests processed and the time to receive the responses from some EC2 instances are both higher compared to other EC2 instances". Then we must monitor time and number of requests metrics

ScheldonOption: B
Jun 27, 2024

AnswerB

osmk
Feb 18, 2024

D>>> The least outstanding requests routing algorithm routes requests to the targets with the lowest number of in progress requests > https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html

xBUGxOption: D
Mar 24, 2024

I think TargetResponseTime is the best indicator for telling is a server is overloaded or not

FlyingHawkOption: B
Jan 2, 2025

D will be correct if change ReqeustCount to RequestCountPerTarget. RequestCount applies to the ALB rather than individual targets, making it unsuitable for identifying overloaded instances. ActiveConnectionCount: This metric indicates the current number of active TCP connections. It complements RequestCountPerTarget by helping identify instances that might be overwhelmed with connections, even if their request count seems moderate.

sk1974Option: D
Feb 26, 2025

I will go with D since the question asks for the target response.

sk1974Option: B
Feb 26, 2025

Actually ,I now vote for B and not D

chest_jdOption: D
Apr 17, 2025

D is correct. https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html ActiveConnectionCount - The total number of concurrent TCP connections active from clients to the load balancer RequestCountPerTarget - The average request count per target, in a target group Both metrics do not show stage of every target. RequestCount - The number of requests processed over IPv4 and IPv6. This metric is only incremented for requests where the load balancer node was able to choose a target. We can say how many requests go to targets. TargetResponseTime - The time elapsed, in seconds, after the request leaves the load balancer until the target starts to send the response headers. We have metric to get statistics for every target/instance. In fact Item D is correct