AWS ELB handling less request than single instance

amazon-ec2, amazon-elb, amazon-web-services, load-testing, tomcat6

Solution

In the background (deep inside the Amazon jungle) ELBs are basically just very simple small instances running LB software, so they definately have a performance limit and this is probably what you are hitting. Now, ELBs are designed to scale with increasing load (requests, not connections I believe) but this scaling only happens over a five minute period so if you have a synthetic test that ramps up in less time than that then you will hit problems.

Two solutions:

- Ramp up very slowly, but that's boring.

- Raise a support call with Amazon and ask for your ELB instances to be 'pre warmed'. Tell them how much load you want to test to and they will make some adjustments accordingly.

Problem

I am performing load testing on my web-app behind the AWS ELB. I have tested two scenario 1) Check throughput directly generate load on tomcat instance 2) Check throughput by generate load on AWS ELB. I am using Apache Benchmark tool for load testing. I have observed that AWS ELB gives less req/sec than directly throughput on instance. I want to know that what is the problem in AWS ELB that causing the low throughput.

Original source