2

I have a server application running on EC2 behind a Elastic Load Balancer.

I have tested this using Blazemeter - a jMeter based load testing service that also runs on EC2 based infrastructure. The results were good.

However, should I be concerned that it was running with the Amazon network? Is network 'distance' an issue here, should I be seeking a load testing service that does not run within EC2?

2 Answers 2

2

"Running within EC2" can mean many, many locations. The load tester might be in us-east-1 but your app in us-west-2, for example. That'd probably be a fair test.

If the load tester is in the same region as your app, the main ramification I can see is that there's going to be very little in-transit time for your data. This means your web server will be able to complete and close connections faster than it would over the public internet.

As an example, if your pages take 100ms to generate, and latency to your average user is 200ms but 10ms within your EC2 region, the average request is going to take 300ms for normal users but 210ms for EC2 load testers. That's a significant difference with lots of requests.

1
  • Yeah - this was my concern. I guess running from another region might be a good enough test. Thank you, +1. I'll leave this for a day and accept this. Jan 21, 2013 at 17:55
0

If your main goal is to test throughput then your test doesn't need to be run from another region. Running from a different region will add latency but latency isn't always a good way to measure application performance. If your application can handle 100 req/s from us-east then it can handle 100 req/s us-west, the difference is that your requests from us-west will take longer because of the added latency. It can't hurt to also execute the tests from another region, but it wont add any more stress to the servers.

2
  • 1
    "If your application can handle 100 req/s from us-east then it can handle 100 req/s us-west, the difference is that your requests from us-west will take longer because of the added latency." If the request takes longer and you're running Apache, that worker is tied up longer, meaning your server can't handle as many requests per second.
    – ceejayoz
    Jan 21, 2013 at 18:36
  • Good point, part of the reason I don't use Apache anymore. Though this is a good reason to check from another region. Any application that wastes CPU cycles waiting like Apache is going to behave differently.
    – bwight
    Jan 22, 2013 at 14:59

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .