Issue #17335 has been updated by Russell Harrison.

eric sorenson wrote:
> Hi Andrew -- we don't have a lot more work slated for the 2.7.x series, but 
> if it turns out that 2.7.20 -- and particularly 3.0.2 -- have the same 
> slowdown on your use-case, I'd be interested in seeing this fixed.  Now that 
> 2.7.20 is released, could I ask you to please re-test your data set against 
> it? Sounds like you were pretty close to a patch too; if it turns out that 
> 2.7.20 doesn't improve things, working up a pull request would be super 
> awesome -- even if it's not the final state, it's great to have a working 
> branch that the dev team can a/b test against.  Feel free to assign the 
> ticket back to me if you get to that point (or get blocked before that); 
> alternately if it turns out 2.7.20 improves the profile, please mark this 
> Closed.  Thanks for the report and the investigation!

I can verify this is still an issue in 2.7.21. We recently upgraded from 2.6 to 
2.7.21 and noticed our catalog compile times were much slower. I'm doing some 
testing now with fully qualified variables and class references and I'm seeing 
about a 60% improvement in catalog compile times by doing so.

----------------------------------------
Bug #17335: Handling of defined resources is significantly slower in 2.7.19 
than 2.6.12
https://projects.puppetlabs.com/issues/17335#change-90512

* Author: Andrew Gaffney
* Status: Needs More Information
* Priority: Normal
* Assignee: Andrew Gaffney
* Category: 
* Target version: 
* Affected Puppet version: 2.7.19
* Keywords: 
* Branch: 
----------------------------------------
I've been doing some comparisons of catalog compile time between 2.6.12 and 
2.7.19 in preparation for doing an upgrade. For most nodes, the catalog 
compilation time goes down. For my nagios servers, it goes up...drastically.

I added some debugging code to time the 
evaluate_{generators,collections,definitions} functions as that's where most of 
the time seemed to be going.

2.6.12:

debug: evaluate_collections() took 0.003229 seconds
debug: evaluate_definitions() took 42.65947 seconds
debug: evaluate_collections() took 0.010716 seconds
debug: evaluate_definitions() took 115.365583 seconds
debug: evaluate_collections() took 22.686326 seconds
debug: evaluate_definitions() took 52.906777 seconds
debug: evaluate_collections() took 1.122837 seconds
debug: evaluate_definitions() took 7.981192 seconds
debug: evaluate_collections() took 1.181 seconds
debug: evaluate_definitions() took 0.062297 seconds
debug: evaluate_collections() took 1.375645 seconds
debug: evaluate_definitions() took 0.095662 seconds
debug: evaluate_generators() took 245.456254 seconds

2.7.19:

debug: evaluate_collections() took 0.003082 seconds
debug: evaluate_definitions() took 90.218711 seconds
debug: evaluate_collections() took 0.011682 seconds
debug: evaluate_definitions() took 233.494054 seconds
debug: evaluate_collections() took 35.162047 seconds
debug: evaluate_definitions() took 81.172985 seconds
debug: evaluate_collections() took 38.45576 seconds
debug: evaluate_definitions() took 12.677507 seconds
debug: evaluate_collections() took 36.425026 seconds
debug: evaluate_definitions() took 0.055544 seconds
debug: evaluate_collections() took 37.27485 seconds
debug: evaluate_definitions() took 0.093251 seconds
debug: evaluate_generators() took 565.050061 seconds

The manifests for this node are complex and can't easily be distilled into a 
test case. There are a lot of defined resources (5095 in this case), but that 
shouldn't directly factor into the increase in compilation time.


-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to 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