Forum Discussion

AndyHughes's avatar
AndyHughes
Regular Contributor
14 years ago

Use of Agents and/or Virtual users.

I'm new to load testing and whilst I understand the principles I confused by the relationship between different types of load.
Ultimately I want to test the performance of a service and LOADUI allows me to do this by providing numerous 'generators' which simulate load. One of these generators is called 'virtual users'. Does this really simulate virtual users or is it more a name given to a type of generator? In the documentation it even says that this is effectively the same as 'fixed rate'.

Also if I was to distribute testing on a number of agents (on VM sessions for example) but get each agent to run the same test, is this the same thing.?

What is the point of Agents? Is it to create real world scenarios in terms of load that my local PC couldn't handle if I was to kick everything off all together?
Which will be useful in the future but in the first instance I need to benchmark services in isolation, so am I right in thinking that spreading the tests over multiple agents to save time would be counter productive since then I would not be testing the services in isolation?

To compound this, if I set up numerous vm sessions on my pc to put the agents on, I'm presuming that this wouldn't help the issue as ultimately it's all still on my PC?

Is there a general consensus as to whether a service will fall over first when loaded rather than the client pc? I appreciate this may not be an easy question to answer but a general idea would be good. And how would I tell (would my pc just crash?)
  • Hi,

    The Virtual User Generator produces a fixed rate output, just like the Fixed Rate Generator. The difference is in how you enter the input ( number of users and request interval instead of directly entering the rate of requests ), plus the ability to add some randomness to the output times. If this simulates actual users or not depends on the service you are testing. If it's a basic stateless web site then yes, this does effectively simulate users. The current limitation is rather in the WebRunner component, that it is stateless and each new trigger causes a request to be made without storing any cookies or anything like that.

    Different loadUI Agents are used to distribute parts of your test (TestCases) to other physical machines in order to increase the generated load beyond the capacity of a single computer. This also helps simulate real-world network conditions better as it allows requests to come from several locations and not just a single PC. You are right that setting up multiple VMs on a single PC would probably not enable you to output a higher load, and thus may be counterproductive instead.

    In loadUI there are two modes of operation, local mode and distributed mode. The difference is that TestCases are either run on the local computer or on all assigned agents. This allows you to easily set up a load test locally and then flip the switch and distribute it once you are ready to run it "for real".

    Regarding what will fail first, this depends on too many factors for me to speculate about, but we've noticed that one limit which we often reach early is that the network becomes the bottleneck. It's likely that you would notice by checking the Task Manager to see if either CPU usage or network is maxed out. This will usually manifest itself as the load reaching a maximum which it doesn't go above, but your system (hopefully) shouldn't crash.

    Regards,
    Dain
    eviware.com