Which actions should a DevOps engineer take to resolve this delay?
(Choose two.)
Check the ApproximateAgeOfOldestMessage metric for the SQS queue. Increase the Lambda function concurrency limit.
Check the ApproximateAgeOfOldestMessage metnc for the SQS queue Configure a redrive policy on the SQS queue.
Check the NumberOfMessagesSent metric for the SQS queue. Increase the SQS queue visibility timeout.
Check the WriteThrottleEvents metric for the DynamoDB table. Increase the maximum write capacity units (WCUs) for the table’s scaling policy.
Check the Throttles metric for the Lambda function. Increase the Lambda function timeout.
Explanations:
Checking the ApproximateAgeOfOldestMessage metric for the SQS queue helps determine how long messages are waiting to be processed. If this age is high, it indicates that the Lambda function is not processing messages quickly enough. Increasing the Lambda function concurrency limit can help process more messages simultaneously, reducing delays.
While checking the ApproximateAgeOfOldestMessage metric is relevant, configuring a redrive policy is not directly related to resolving the delay in processing. A redrive policy is used to move messages that can’t be processed after several attempts to a dead-letter queue, which doesn’t address the delay in processing existing messages.
The NumberOfMessagesSent metric is not directly relevant to the issue of processing delays. Increasing the SQS queue visibility timeout affects how long a message remains invisible after being retrieved, but it does not directly resolve issues related to processing delays caused by Lambda concurrency or DynamoDB throttling.
Checking the WriteThrottleEvents metric for the DynamoDB table is important to identify if writes are being throttled, which can cause delays in reflecting order processing statuses. If throttling is observed, increasing the maximum write capacity units (WCUs) for the table’s scaling policy allows for more write operations, reducing delays in updating the order status.
While checking the Throttles metric for the Lambda function is relevant, increasing the Lambda function timeout does not address the processing delay. The timeout determines how long a Lambda function can run, but if the function is throttled (i.e., it has reached its concurrency limit), simply increasing the timeout will not resolve the underlying issue of insufficient concurrency.