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'
Which version of Ruby and Puppet ?

'Config retrieval time' include the 'caching catalog time' (write catalog on disk in YAML format). Your catalog is pretty big, so caching could be very slow. You can check this by add theses lines in lib/puppet/indirector/indirection.rb on the agent side:

+      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)}"

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?

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.

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.

Thanks,

Trevor


É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.

Reply via email to