Creating multiple Jenkins nodes
Testing is a heavyweight process. If you want to scale your services then you will need to plan to offset most of the work to other nodes.
One evolutionary path for Jenkins in an organization is to start off with one Jenkins master. As the number of jobs increases we need to push off the heavier jobs such as testing to slaves. This leaves the master the lighter and more specialized work of aggregating the results. There are other reasons as well to farm out testing, for example for functional testing when you want to use different web browsers under different OS or run .NET applications natively.
This recipe uses the Multi slave config plugin (https://wiki.jenkins-ci.org/display/JENKINS/Multi+slave+config+plugin