What change should the solutions architect make to improve the current response times as the web application becomes more popular?
Increase the concurrency limit of the Lambda function
Implement DynamoDB auto scaling on the table
Increase the API Gateway throttle limit
Re-create the DynamoDB table with a better-partitioned primary index
Explanations:
Increasing the concurrency limit of the Lambda function may not directly resolve the underlying issue of DynamoDB calls causing errors. While it could help with throughput if the Lambda function itself is throttled, the significant error rate tied to DynamoDB suggests that other changes are needed first.
Implementing DynamoDB auto scaling on the table is the most effective solution. Auto scaling can adjust the read and write capacity based on demand, helping to prevent throttling and errors when the application experiences increased traffic due to the marketing campaign. This directly addresses the issues indicated by the logs.
Increasing the API Gateway throttle limit may provide more room for incoming requests but does not address the error rate linked to DynamoDB calls. Without resolving the underlying issues causing the errors, simply allowing more requests may lead to further issues.
Re-creating the DynamoDB table with a better-partitioned primary index could be beneficial, but it is a more complex and disruptive change compared to enabling auto scaling. It may not be necessary if auto scaling can adequately address the errors and performance issues seen.