Label Throttle Build Plugin


When slaves are really virtual machines (VMs), you may have multiple slaves that actually share the same physical resources underneath. Whenever multiple jobs are fired off, they may execute on different VMs, but the VMs are on the same underlying machine. This results in slower builds due to thrashing of the VMs.


The Label Throttle Build plugin, available with the CloudBees Jenkins Platform, allows you to define a limit for your builds. You can group slaves together, then assign a limit that specifies how many concurrent builds can happen on the slaves that belong to that group. In this way, the CloudBees Jenkins Platform avoids overloading your hypervisor host machine.

Thus, when you have a single-system hypervisor, such as VMware ESXi or VirtualBox, Jenkins might think that you have 10 slaves with two executors each, but in reality 20 concurrent builds cannot really be executed. You can only run up to, say, four. This plugin will allow you to define four (in this case) as a limit for your builds, ensuring that the VMs do not thrash. The end result: faster builds, overall.

This plugin is very complementary in combination with the VMware ESXi/vSphere Auto-Scaling plugin.