Running puppet agent as a daemon is not recommended in large environments with many nodes.
We usually recommend running puppet agent from cron instead.
When running puppet agent as daemon:
T0 - Puppet agent start
T0+x - Puppet agent finishes. Now waits for runinterval time (default 30 min). Runtime for puppet agent can differ from run to run
When running from cron, we recommend to use the fqdn_rand function to create a random number based on the fqdn. Number will be identical for identical fqdn.
This allows us to spread puppet agent runs in the platform.
In very large environment (more than 4000 nodes) we recommend to add Puppet compilers behind a load balancer.
The CA will still run on the primary server, but load is spread amongst more systems (catalog compilation).