
Agent and Controller Interaction
The controller manages a set of agents to run tests. The controller communicates with agents to start tests, stop tests, track agent status, and collect test results.
Controller
The controller provides a general architecture for running tests, and includes special features for running load tests. The controller sends the load test to all agents and waits until all the agents have initialized the test. When all agents are ready, the controller sends a message to the agents to start the test.
You can configure the controller to select agents based on the properties of the agent, for example, the operating system installed on the agent. You do this on the Controller and Agents tab of the run configuration file. For more information, see How to: Specify a Test Run Configuration.
Agent
The agent runs a service that listens for requests from the controller to start a new test. When a request is received, the agent service starts a process on which to run the tests. Each agent runs the same load test.
Agents are assigned a weight by the administrator, and load is distributed according to an agent’s weighting. For example, if agent 1 has a weighting of 30, and agent 2 has a weighting of 70, and the load is set to 1000 users, then agent 1 simulates 300 virtual users while agent 2 simulates 700 virtual users. For more information about how to assign a weight to an agent, see How to: Administer a Rig.
The agent takes as input a set of tests and a set of simulation parameters. A key concept in Test Edition is that tests are independent of the computer on which they are run.