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 help reduce throttling, but since throttling is currently only 1%, this option is unlikely to address the main issue of increased response times effectively. The more significant problem lies in the DynamoDB interactions, as indicated by the error logs.
Implementing DynamoDB auto scaling can dynamically adjust the read and write capacity based on the traffic, which is essential in handling increased demand. Given that errors are occurring during calls to DynamoDB, auto scaling would help maintain performance and reduce response times during peak loads.
Increasing the API Gateway throttle limit may prevent some requests from being throttled, but it does not address the underlying issue of DynamoDB errors and could lead to more Lambda invocations without resolving the actual bottleneck, which is the database access.
Re-creating the DynamoDB table with a better-partitioned primary index might optimize access patterns but requires significant effort and could introduce downtime. Moreover, the current errors indicate that the primary issue is not just partitioning but also the demand exceeding capacity, which auto scaling would directly address.