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.
