Ansible Roles performance at scale


This is a pretty general question. I’ve been using Ansible to run roles against hosts pretty successfully for a while now. I’m trying to figure out if there’s a way to speed things up a bit though.

I have a rather large number of roles that run. I notice that when I run these roles against one host it takes about 5 minutes, when I run the same exact set of roles on 15 hosts that 5 minutes increases to 25 minutes. I do have forks set to 20 in /etc/foreman-proxy/ansible.cfg so I don’t fully understand why the dramatic increase in running time - not sure if there’s any settings in Foreman I should be playing with.

I’m not sure if Foreman has anything to do with this or if it is purely an Ansible thing, but figured if I asked someone who knows more about these things than I do might point me in the right direction. Thanks!