Hi all, we have some performance issues with Puppet 3.3 catalog compilation (we are using Passenger to host Puppet master processes). It looks like a single Puppet master process is being used for the catalog compilation, and importing the catalogs is taking ~3 minutes.
Apr 19 10:21:14 ieatlms3841 puppet-master[6700]: Handling request: GET /production/node/ieatrcxb3742 Apr 19 10:21:15 ieatlms3841 puppet-master[6700]: Using cached facts for ieatrcxb3742 Apr 19 10:21:15 ieatlms3841 puppet-master[6700]: Caching node for ieatrcxb3742 Apr 19 10:21:15 ieatlms3841 puppet-master[6700]: node supports formats: pson b64_zlib_yaml yaml raw Apr 19 10:21:15 ieatlms3841 puppet-master[6700]: PROFILE [69862410013880] 1.1 Rendered result in Puppet::Network::Format[pson]: took 0.0014 seconds Apr 19 10:21:15 ieatlms3841 puppet-master[6700]: PROFILE [69862410013880] 1.2 Sent response: took 0.0000 seconds Apr 19 10:21:15 ieatlms3841 puppet-master[6700]: PROFILE [69862410013880] 1 Processed request GET /production/node/ieatrcxb3742: took 0.0159 seconds ... Apr 19 10:21:20 ieatlms3841 puppet-master[6700]: PROFILE [69862429450080] 1.1 Setup server facts for compiling: took 0.0172 seconds Apr 19 10:21:20 ieatlms3841 puppet-master[6700]: 'replace facts' command for ieatrcxb3742 submitted to PuppetDB with UUID 9a23c445-5203-4987-9faf-a187ac7dd0b3 Apr 19 10:21:20 ieatlms3841 puppet-master[6700]: PROFILE [69862429450080] 1.2 Found facts: took 0.1696 seconds Apr 19 10:21:20 ieatlms3841 puppet-master[6700]: Using cached facts for ieatrcxb3742 Apr 19 10:21:20 ieatlms3841 puppet-master[6700]: Caching node for ieatrcxb3742 Apr 19 10:21:20 ieatlms3841 puppet-master[6700]: PROFILE [69862429450080] 1.3 Found node information: took 0.0133 seconds *Apr 19 10:21:20* ieatlms3841 puppet-master[6700]: importing '/etc/puppet/manifests/plugins/ieatlms3841.pp' in environment production Apr 19 10:21:27 ieatlms3841 puppet-master[6700]: importing '/etc/puppet/manifests/plugins/ieatrcxb3739.pp' in environment production Apr 19 10:21:42 ieatlms3841 puppet-master[6700]: importing '/etc/puppet/manifests/plugins/ieatrcxb3740.pp' in environment production Apr 19 10:21:51 ieatlms3841 puppet-master[6700]: importing '/etc/puppet/manifests/plugins/ieatrcxb3742.pp' in environment production Apr 19 10:21:56 ieatlms3841 puppet-master[6700]: importing '/etc/puppet/manifests/plugins/ieatrcxb3743.pp' in environment production Apr 19 10:22:05 ieatlms3841 puppet-master[6700]: importing '/etc/puppet/manifests/plugins/ieatrcxb3744.pp' in environment production Apr 19 10:22:11 ieatlms3841 puppet-master[6700]: importing '/etc/puppet/manifests/plugins/ieatrcxb3755.pp' in environment production ... Apr 19 10:24:03 ieatlms3841 puppet-master[6700]: importing '/etc/puppet/manifests/plugins/ieatrcxb5894.pp' in environment production *Apr 19 10:24:06 *ieatlms3841 puppet-master[6700]: importing '/etc/puppet/manifests/plugins/ieatrcxb6430.pp' in environment production Apr 19 10:24:14 ieatlms3841 puppet-master[6700]: PROFILE [69862429450080] 1.4.1 Compile: Set node parameters: took 0.0025 seconds Apr 19 10:24:14 ieatlms3841 puppet-master[6700]: PROFILE [69862429450080] 1.4.2 Compile: Created settings scope: took 0.0295 seconds Apr 19 10:24:14 ieatlms3841 puppet-master[6700]: PROFILE [69862429450080] 1.4.3 Compile: Evaluated main: took 0.0083 seconds ... Apr 19 10:24:29 ieatlms3841 puppet-master[6700]: (Firewall[1018 vmmonitord ipv6]) Adding default for require Apr 19 10:24:29 ieatlms3841 puppet-master[6700]: PROFILE [69862429450080] 1.4.7 Compile: Finished catalog: took 0.1885 seconds Apr 19 10:24:31 ieatlms3841 puppet-master[6700]: PROFILE [69862429450080] 1.4 Compiled catalog for ieatrcxb3742 in environment production: took *191.6076* seconds Apr 19 10:24:31 ieatlms3841 puppet-master[6700]: Compiled catalog for ieatrcxb3742 in environment production in 191.61 seconds Apr 19 10:24:31 ieatlms3841 puppet-master[6700]: Caching catalog for ieatrcxb3742 I was wondering whether there is any way to reduce catalog compilation? Could the catalog compilation be split across different Puppet master processes or something like that? Thanks, Cesar. -- This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/c04da5d1-bb08-46a1-ab95-ffe3e52069a2%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.