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.

Reply via email to