Issue #17335 has been updated by eric sorenson.

Status changed from Unreviewed to Needs More Information
Assignee set to Andrew Gaffney

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!
----------------------------------------
Bug #17335: Handling of defined resources is significantly slower in 2.7.19 
than 2.6.12
https://projects.puppetlabs.com/issues/17335#change-78016

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 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-bugs?hl=en.

Reply via email to