Issue #18880 has been reported by konrad rzentarzewski.

----------------------------------------
Bug #18880: compile with large number of defines is becoming very slow, ruby 
1.9.3 is affected even more
https://projects.puppetlabs.com/issues/18880

Author: konrad rzentarzewski
Status: Unreviewed
Priority: Normal
Assignee: 
Category: compiler
Target version: 
Affected Puppet version: 
Keywords: 
Branch: 


today i've made some synthetic checks with our lb setup, which consists of 121 
defines, each of them wraps around 4-7 another defines (nagios, haproxy, 
stunnel configs, firewall).

results are catastrophic.

even more, we started to use ruby 1.9.3, as 1.8.7 is becoming obsolete and it's 
adding a more lag.

i've reduced define numbers and observed that compile time reduces 
significantly each time.
additionally i've inlined code from each define that we source from our lb 
define, and it also speeds up compile a lot.

i've compiled with:
time /usr/local/rvm/rubies/ruby-1.9.3-p327/bin/ruby /usr/bin/puppet master 
--compile lb2.acme.corp
and
time /usr/bin/ruby /usr/bin/puppet master --compile lb2.acme.corp

actual times are here: 
https://github.com/asquelt/puppet-defines-wtf/blob/master/BENCHMARK
manifest is here: 
https://github.com/asquelt/puppet-defines-wtf/blob/master/manifests/projects/dc1-lb.pp
catalogs are also in repo: https://github.com/asquelt/puppet-defines-wtf

you can see that i've decorated everything with double colon to make sure this 
is not related to #17335

case is described in puppet-users but wasn't commented: 
https://groups.google.com/forum/?fromgroups=#!topic/puppet-users/4V01Kw5cReA

we use puppetdb, but disabling it won't help (it strips 3-20 seconds depending 
on number of resources).

cpu on test machine is 2x Intel(R) Xeon(R) CPU E5335 @ 2.00GHz 4 cores, testing 
with single process.



-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
Visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to