Calculate concurrent SSH connection load generated by an Ansible run across hosts.
Peak concurrent SSH load is capped at min(forks, hosts) — Ansible never opens more simultaneous connections than either your fork limit or your host count. Total connections over the whole run, however, depends heavily on whether SSH multiplexing (ControlPersist/ControlMaster) is enabled: without it, a naive per-task connection would need one SSH session per task per host; with it, one persistent connection per host serves every task in the play.
With multiplexing
total_connections = hosts (one persistent connection per host)
Without multiplexing
total_connections = hosts × tasks_per_play
Modern Ansible enables pipelining and SSH ControlPersist-based multiplexing by default via the `ssh` connection plugin, but it can be disabled by configuration — always confirm `ansible.cfg`'s `[ssh_connection]` settings if you see unexpectedly high SSH load.
Peak concurrency determines instantaneous load on the control node's file descriptors and the network/firewall's simultaneous-connection limits, while total connections over the run affects aggregate SSH daemon load on target hosts and any per-connection rate limiting.
Yes — target hosts with a low `MaxStartups` or `MaxSessions` in sshd_config can reject connections under high fork counts, and firewalls/security groups with connection-rate limits can throttle or drop them.
Run with `-vvv` and look for `ControlPath` reuse in the SSH command output, or check `~/.ansible/cp/` for active control sockets during a run.