When deploying an instance to multiple environments, process steps on an environment is waiting on another environment to complete, hence decreasing the total deployment time

Octopus version 3.3.6

When deploying an instance to multiple environments, process steps on an environment is waiting on another environment to complete, hence decreasing the total deployment time.

We are worried about deployment performance when pushing to 30+ clients on the same deployment target. The way octopus is currently set up is it only allows running deployments to 5 environments simultaneously, along with running a step per environment for all 5 environments (not parallel) before jumping on the next step in the Task process. Our recent testing showed us that if we deploy the web application to 30 clients on a deployment target, it would take total of 6 hrs to complete the deployment which is slightly more than what it took us doing it manually (5hrs for 3 people before using Octopus Deploy).
The tentacle is busy performing a task for an environmnet and does not multi task which seems to be the bottleneck in our scenario. Is there a way we could improve the deployemnt performance? Is there a way to have the deployments run in parallel for each environment? That way a step for a client is not bogging down the entire deployment process for other clients who could have been done long ago (We have one step that upgrades the client’s database, and it can take varying amounts of time depending on the size of the client’s DB).

I would appreciate any suggestions .

Thanks!
Girvan

Hi Girvan,

Thanks for getting in touch! I believe what you are running in to is the Task Cap on your Octopus server. This can be seen in Configuration -> Nodes and by default is set to a conservative value of 5. To allow the server to run more tasks in parallel increase this setting. There is no particular limit on this, but keep an eye on the CPU and IO use on the server, Octopus performs badly when it becomes CPU limited.

Hope that helps!

Mark