Amazon ELB is designed to handle unlimited concurrent requests per second with “gradually increasing” load pattern. For example: Imagine an e-commerce website whose traffic increases gradually to thousands of concurrent requests/sec in hours, Amazon ELB can easily handle this traffic pattern. Amazon ELB internally follows Scale Up <---> Scale Out algorithm to scale the Load balancing EC2 instances launched in its ELB tier. Initially, it might start with small EC2 instance Type, depending upon the traffic pattern it will scale out/up its is EC2 LB fleet constantly and during peak traffic ends up with multiple EC2 instances serving the web traffic from its ELB tier. We have implemented ELB for production cases where it is successfully serving 18K+ HTTP requests/sec at peak during Thanksgiving sale for some e-commerce sites.
According to the RightScale benchmark, Amazon ELB was easily able to handle 20K+ requests/sec and more, RightScale stopped the load testing after some point, because Amazon ELB elastically kept on increasing its EC2 LB fleet and there was not logical end to this benchmark, secondly they did not want end up paying heavy $$$$ for AWS. The test clearly shows Amazon ELB is designed to handle virtually unlimited concurrent requests per second. Amazon ELB is inherently scalable and it can elastically increase /decrease its capacity depending upon the traffic. The benchmark results can be found at URL :http://blog.rightscale.com/2010/04/01/benchmarking-load-balancers-in-the-cloud/
Though Amazon ELB is designed to be inherently scalable , It is not designed to handle heavy sudden spike of load or flash traffic. For example : Imagine use cases like Mass Online Exam (or) GILT website load pattern (or) 3-Hrs Sales/Launch campaign sites expecting 10K+ concurrent requests/sec spike suddenly in few minutes. Amazon ELB will struggle to handle this kind of load pattern. This is because Amazon ELB is designed simulating for real world traffic scenarios and such flash traffic patterns are not common occurrence for many online websites.
If this sudden spike pattern is not a frequent occurrence then we can Pre-Warm Amazon ELB. Amazon ELB can be pre-warmed by raising a request to Amazon Web Service Support Team. AWS team will pre-warm the Load Balancers in the Amazon ELB tier well before the event to handle the sudden load/flash traffic. This is advisable for scenarios like Quarterly Sales/Launch campaigns, promotions etc and other cases which follow flash traffic pattern. Amazon ELB pre-warming cannot be done on hourly/daily basis (i think) but rather if it is a monthly/quarterly event we can raise the request accordingly.
It will be a cool feature if AWS team can bring ELB Pre-Warming (Reqs/sec) as a configurable feature into the AWS console (like how we scale req/sec in Amazon DynamoDB layer)
Other Amazon ELB related articles
Amazon ELB supported Algorithms and Protocols
Other Amazon ELB related articles
Amazon ELB supported Algorithms and Protocols
No comments:
Post a Comment