Load Generation in the Cloud – LoadStorm

LoadStorm is a distributed application that leverages the power of Amazon Web Services to scale on demand with processing power and bandwidth as needed to test the largest web projects. As you crank up the testing load to 100 or 100,000 virtual users, LoadStorm is automatically adding machines for you (as many as necessary) from Amazon’s server farm to handle the processing. When your tests are done and the extra machines are not needed, they are turned off to wait for another test.

The normal processing is for a scenario to be processed as a sequential series of steps that you have defined in the test plan. A virtual or simulated user does what a “real” user does as specified by the scenarios and steps that you have created in LoadStorm. If there are X number of users, then there are X scenarios running at that particular time.

Once a step finishes, the VUser pauses for the specified time (between min and max for scenario), then the next step proceeds. After the last step completes, the VUser context (session, cache, cookies) is cleared and the scenario starts from the beginning again with a new VUser.

You define the number of concurrent users you want, start and peak, during your test. As one VUser completes the scenario as described above, then another VUser is created to replace it – starting at step 1 again.

If you have started at a small number and set the peak number much higher, then LoadStorm will not only retire VUsers that have completed the scenario, it will also add additional users throughout the test to ramp up the volume. This is repeated until the test is done as defined by the test duration field (in minutes) when you began the load test.

When creating a scenario, you can adjust the pause times which is how much time there is between steps. The actual pause is randomly generated to give a more realistic load against the server. As an example, a scenario which opens a single page for each step with an average pause of 30 seconds will have an average of 2 requests per minute per user. It gets a bit more complicated when there are external files like Javascript. These are added as well and counted in the total requests. When one scenario ends for a designated number of users, another is started within a minute to maintain the desired user load until the end of the test.

The starting and peak number of virtual users in LoadStorm represent concurrent users or the number of simulated users at a particular point in time. Each concurrent user will last for the duration of the scenario. If you have only one step in your scenario, then a concurrent user will last for less than a minute and then another one will take its place.

For example, if you have a test with one scenario having one step, starting at 10 concurrent users and peak of 10 concurrent users for 20 minutes, there will be 200-300 total users simulated (and same number of sessions). LoadStorm will create a new session for each virtual user, but it will not maintain the session after the scenario has ended, so your session should time out as you have configured it.

The LoadStorm test parameters simulate “concurrent” users not total users. The total simulated users will generally be much higher than concurrent users, but the actual count depends on lots of other factors such as the number of steps in the scenarios, pause times, etc.

Similar Posts