The benefit of Accelerate mode, when and where to use it ?

Hi.

I have been playing with accelerate mode and serial options to see if I can speed up the deployment process. For now I’m just deploying to 8 servers but once in prod I will deploying to 40 servers.

In my tests I realize that asccelerate mode is much slower than default for a quite a significant number like around 350 seconds more.

basically my playbook uses rsync to deploy like so :

command: rsync -rthim {{codecache_dir}}/{{project_name}}/ {{releases_path}}/{{project_name}}/{{release_tag}}/

Base on my results now I’m wondering why is accelerate mode slower than the default options ?

is this a good use case to use accelerate mode ?

is good when sending bigger files ?

Thanks.

It is more efficient for large number of hosts(100s to 1000s) and playbooks with many tasks, if you have only one task the setup cost will be counterproductive.

I already have it setup and it was really simple but is it supposed to be faster ?

not your setup costs, the (time) cost of setting up the socket server on the ‘targets’ and networking them, for you its just a connection: .

it IS faster when dealing with average to large playbooks, but it stands to reason that it will be slower for a single task, as it uses ssh to connect initially to setup the accelerated socket server and then run the task, vs ssh and running the task.

Yep, it’s primarily useful for longer playbooks, rather than a parallelism thing (completely unrelated to the number of hosts), and shows greater dividends over more latent connections.

All being said the alternate SSH transport being developed now (-c ssh_alt, to become the new -c ssh once completed with testing) may obviate the need for accelerate mode in many cases.