Optimizing Customer Load Time for Windows-based Web Application on Amazon EC2 Instances

Technique for Ensuring Customer Load Time Efficiency

Prev Question Next Question

Question

You are responsible for your company's large multi-tiered Windows-based web application running on Amazon EC2 instances situated behind a load balancer.

While reviewing metrics, you've started noticing an upwards trend for slow customer page load time.

Your manager has asked you to come up with a solution to ensure that customer load time is not affected by too many requests per second.

Which technique would you use to solve this issue?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

Answer - C.

Auto Scaling helps you ensure that you have the correct number of Amazon EC2 instances available to handle the load for your application.

You create collections of EC2 instances, called Auto Scaling groups.

You can specify the minimum number of instances in each Auto Scaling group, and Auto Scaling ensures that your group never goes below this size.

You can specify the maximum number of instances in each Auto Scaling group, and Auto Scaling ensures that your group never goes above this size.

If you specify the desired capacity, either when you create the group or at any time thereafter, Auto Scaling ensures that your group has this many instances.

If you specify scaling policies, then Auto Scaling can launch or terminate instances as demand on your application increases or decreases.

Option A and B are invalid because Autoscaling is required to solve the issue to ensure the application can handle high traffic loads.

Option D is invalid because there is no Autoscaling template.

For more information on Autoscaling, please refer to the below document link: from AWS.

http://docs.aws.amazon.com/autoscaling/latest/userguide/WhatIsAutoScaling.html

The issue at hand is slow customer page load time due to too many requests per second. The solution should ensure that customer load time is not affected by too many requests per second.

Option A suggests re-deploying the infrastructure using AWS CloudFormation and configuring Elastic Load Balancing health checks to initiate a new AWS CloudFormation stack when health checks return failed. This solution does not directly address the issue of too many requests per second, and it may take time for the new stack to spin up, potentially increasing customer load time.

Option B proposes re-deploying the infrastructure using AWS CloudFormation and spinning up a second AWS CloudFormation stack. This solution also configures Elastic Load Balancing SpillOver functionality to spill over any slow connections to the second AWS CloudFormation stack. This solution addresses the issue of too many requests per second by redirecting slow connections to the second stack, which is specifically designed to handle slow connections. This solution is a viable option.

Option C proposes re-deploying the infrastructure with CloudFormation and setting up Autoscaling group policies to scale based on the number of requests per second and customer current load time. This solution addresses the issue of too many requests per second by scaling the infrastructure based on the number of requests per second and customer load time. This solution may take some time to configure and may not be as effective as Option B.

Option D suggests re-deploying the application using an Auto Scaling template and configuring the template to spin up a new Elastic Beanstalk application when the customer load time surpasses your threshold. This solution does not address the issue of too many requests per second directly and may not be as effective as Option B.

In conclusion, Option B is the best solution as it directly addresses the issue of too many requests per second and redirects slow connections to a second stack specifically designed to handle slow connections.