Hi, Trevor Vaughan a écrit :
All,I've noticed an understandable correlation between catalog size and config retrieval time. However, I'm a bit lost as to why it seems so slow. For an example 1.5M catalog: 24 seconds compile time Almost instantaneous transfer time (localhost) 40 seconds registered by the puppet client as the 'Config retrieval time' Why is there almost as much "other stuff" on the client as the original compile time and is there anywhere that I can start looking to potentially optimize it?
'Config retrieval time' include the 'caching catalog time' (write catalog on disk in YAML format). Your catalog is pretty big, so this could be very slow. You can check this by add theses lines in lib/puppet/indirector/indirection.rb :
+ beginning_time = Time.now
Puppet.info "Caching #{self.name} for #{request.key}"
cache.save request(:save, result, *args)
+ Puppet.debug "Caching catalog time: #{(Time.now - beginning_time)}"
I'm perfectly willing to accept that it's just doing a lot and that's how long it takes but it seems a bit odd.
I have made a patch to add an option for caching catalog in Marshal format (read and write in this format is very faster); I will make a pull request for this patch in few time.
Thanks, Trevor
Otherwise i work on Puppet optimizations and i have seen some strange things too. I work on big catalog (more than 1000 resources) and i want to reduce the application time (around 20 sec).
I have seen two kind of things:- First, recent Puppet versions are slowest (see PuppetVersions.png in attachment), mainly the last one: 2.7.12. - Second, ruby 1.9.3 is very slow compare to ruby EE (see PuppetRuby.png in attachment). I think the problem come from the yaml library: caching catalog is very slow.
Does someone have seen the same things? Thanks, Émile -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en.
<<inline: PuppetRuby.png>>
<<inline: PuppetVersions.png>>
