Increase number of deployment targets that a step can affect in parallel

Is there a way to increase the number of deployment targets that can be simultaneously deployed to within a given deployment step?

I have a job that includes a deployment step which targets 20 different servers in the environment. When I run this job, the step does not simultaneously start in all 20 servers - it, instead, starts simultaneously in, say, just 8-10 servers. It proceeds to the remaining servers only after the first set has completed.

This reduces the parallelism somewhat because this step which should’ve taken 10 minutes ends up taking 20 minutes.

I know about the “task cap” setting which controls the number of deployment jobs that can run concurrently; however, this doesn’t change the above parallelism within a deployment step.

My Octopus server version is “v2019.6.8 LTS”.

Hi @pmn,

Thanks for getting in touch!

This is absolutely possible. We have a system variable Octopus.Action.MaxParallelism that controls how many machines a deployment can target simultaneously. As you’ve noticed, this default is set to 10 but can be increased as needed. Increasing this will increase the resources being used by your Octopus Server during deployment and the amount of network traffic occurring, so we do advise you to only increase this in projects where it is necessary and only as high as you need.

If your deployment includes packages, you may also need to add the Octopus.Acquire.MaxParallelism variable, which controls how many packages can be concurrently deployed to multiple targets.

If you wish to apply them to several projects, these variables can be added to a library variable set.

We have full details on these variables here.

Regards,
Paul

Hi @paul.calvert - Thank you for the quick response. This worked beautifully.

Is there ongoing support for these variables (say, if I upgraded to a more recent version of Octopus Server would these still work)?

Of course, these variables are still present in the latest version, and as they are used by ourselves to control the default values and by a large number of our users, I don’t foresee them ever being changed or removed.

That is good to know. Thanks.

1 Like