How can a solutions architect make the system more responsive?
Use Amazon SQS with AWS Lambda to generate reports.
Increase the idle timeout on the Application Load Balancer to 5 minutes.
Update the client-side application code to increase its request timeout to 5 minutes.
Publish the reports to Amazon S3 and use Amazon CloudFront for downloading to the user.
Explanations:
Using Amazon SQS to queue report generation requests allows the application to offload the processing from the EC2 instances. AWS Lambda can then process these requests asynchronously, freeing up connections and making the system more responsive for other users.
Increasing the idle timeout on the Application Load Balancer does not solve the problem of long-running requests consuming connections. It merely allows connections to stay open longer, which does not improve overall responsiveness.
Updating the client-side request timeout does not address the underlying issue of connections being held open for too long. This would still lead to unresponsive behavior, as it does not change how the application processes requests.
While publishing reports to Amazon S3 can help with storage and retrieval, it does not address the issue of generating reports in a timely manner. Users would still face delays during report generation, impacting responsiveness.