On 2014-06-02 22:50, Brice Figureau wrote:
Hi,

During (the awesome) cfgmgmtcamp Puppet Contributor Summit earlier this
week, Peter Meier and I were chasing (in fact he did all the hard work)
a couple of strange bugs, and we found while stracing the agent what
might be a performance issue.

Everything is explained in detail in PUP-1592 [1], but the tl;dr version
is we're stat(2)ing a lot of inexistent files during the transaction for
every instance of a given defined types (that might well get in the
order of 100s of stat(2) per instance of defined types).

I'd like to get the input of all the devs here on the proper way of
fixing the bug before sending a PR :)

I'll also try to do some performance tests during the week-end to see
the impact (it's not yet fully known if it really matters or not
compared to the I/O load an agent already see).

Thanks!

[1]:
https://tickets.puppetlabs.com/browse/PUP-1592

So, we found a simple way to improve the performance. This has now been merged to master for release in 3.5. Basically if the name contains ':' it cannot be a type and the lookup for type then bails out as early as possible.

This speeds up loading of user defined type by 2x in the benchmark defined_types.

Brice, it would be great if you could try your scenario on master and see what it does to your use case.

- henrik

--
You received this message because you are subscribed to the Google Groups "Puppet 
Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-dev/le6c0b%24d0f%241%40ger.gmane.org.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to