Edited on December 14, 2016
A simple rule is to install one agent per host and calibrate the capacity of the agent based on the ressources that are available to it (CPUs, Memory, I/O). The capacity of each agent can be adjusted in its AgentConf.json file, located in the folder "conf".
Then you can progressively provision more hosts and agents. To do that you just need to install or copy the agent package and libraries to the target hosts and boot use the start scripts as described in section "Installation" of this documentation.
Make sure to set the variable tec.executor.threads high enough so that the controller doesn't turn into a bottleneckt when increasing your test executions or the level of concurrency inside your tests.