What I want to do is to emphasize testing my script to simulate about 800 users connected at the same time (yes , This is indeed an estimate).
I have heard of Siege, but I don’t know how to use it to test my application. If I try to run it from a home connection, I’m not sure about my PC / Is ADSL fast enough to create enough traffic to simulate 800 users simultaneously attacking EC2 (hence RDS).
Is it possible to launch another EC2 instance in another region to simply “siege” mine application? Or maybe run 2 EC2 instances, each with 400 users!
I hope this can thoroughly test load balancing, RDS and EC2.
Does anyone have experience with such high-concurrency user testing?
Andy
But first, really, this is the most important thing, you need to consider what defines’user’. Although it seems from descriptive terms Obviously, but from a technical point of view, you need to start talking about requests per second.
Since the bug is no longer there, to use ELB to run load tests on Amazon, you may need to know a few things.
p>
> Under this load, you will most likely need to let Amazon “warm up”. Last time I investigated this, I found that ELB is essentially a software load balancer running on a simple instance. As with everything , These instances have throughput limits and tend to be about (very vaguely) 40 requests per second. They scale automatically, but this algorithm is not suitable for load testing, so the warm-up is Amazon pre-rotating on X ELB, where X is based on The information you provide to them in the request (see my first point, which is the number of requests per second, not users)).
> ELB can cache DNS, which may cause problems during load testing. If Your test tool is based on Java (such as JMeter), please use: -Dsun.net.inetaddr.ttl = 0
No matter which solution you choose, you must be very clear that your test itself is possible Become a bottleneck, you should check before blaming it on the application you are testing.
I have a PHP application that I run on Amazon’s web service. This is a relatively simple PHP script that can basically write to a SQL database easily. This database is an Xtra Large RDS instance. PHP runs on a large EC2 instance behind a load balancer.
What I want to do is to stress test my script to simulate about 800 users connected at the same time (yes, this is indeed an estimate).
I have heard of Siege, but I don’t know how to use it To test my application. If I try to run it from a home connection, I am not sure if my PC/ADSL is fast enough to create enough traffic to simulate 800 users simultaneously attacking EC2 (hence RDS).
Is it possible to launch another EC2 instance in another region to simply “siege” my application? Or maybe run 2 EC2 instances, each with 400 users!
I hope this can thoroughly test load balancing, RDS and EC2.
Does anyone have experience with such high-concurrency user testing?
Andy
I wrote a script that may help what you need, details here, source here.
But first, really, this is the most important thing you need to consider what defines’user’. Although it seems obvious from a descriptive term, from a technical point of view, you need Start talking about requests per second.
Since the bug is no longer there, to use ELB to run load tests on Amazon, you may need to know a few things.
>Under this load, You will most likely need to let Amazon “warm up.” The last time I investigated this, I found that ELB is essentially a software load balancer running on simple instances. As with everything, these instances have throughput limits and tend to About (very obscure) 40 requests per second. They scale automatically, but this algorithm is not suitable for load testing, so the warm-up is Amazon pre-rotating on the X ELB, where X is based on the information you provided to them in the request (see My first point is the number of requests per second, not users)).
> ELB can cache DNS, which may cause problems in load testing. If your testing tool is Java-based (such as JMeter) , Please use: -Dsun.net.inetaddr.ttl = 0
No matter which solution you choose, be very clear that your test itself may become a bottleneck, and you should blame it on what you are testing Check before the application.