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.