Hi, On Wed, 2012-11-14 at 13:43 +0100, David Schmitt wrote: > On Tue, 13 Nov 2012 11:08:57 -0800, Luke Kanies <[email protected]> > wrote: > >> The run with 2.7.19 takes around ten minutes wallclock time. 3.0.1 > takes > >> around nine minutes wallclock for a complete "puppet agent --test". > The > >> difference is approximately the time saved on master compiling the > >> catalog. I'm not concerned about the two minutes spent actually > managing > >> 3000 resources (~0.04s per resource). I'm concerned about the other > seven > >> minutes overhead. > > > > Any idea what that other seven minutes is? > > > > That seems completely pathalogical. > > I'm still scratching at the surface. I've attached the complete > --verbose > --noop log from master and agent. > > Since I've got no comparison, perhaps one of you can point out > something.
Let's try to answer the question. Looking at the log: 07:43:28 agent starts 07:43:30 agent has finished pluginsync 07:43:33 master starts catalog compilation 07:44:48 master has finished compilation (it took 75.51 seconds which is coherent) 07:49:28 agent starts applying the catalog 07:51:00 agent finishes the catalog run (it took 125.23 seconds) Between those two traces, we have a time span of about 7 minutes 30s. So everything looks normal: compilation 75.51 catalog run 125.23 total 3 min 34 s Then we have the almost 4 minutes hole between compilation is finished and the agent starting to apply the catalog. This is where the agent downloads the catalog, unserialize it to ruby objects from pson, serialize it again to pson, and stores it to disk. As I (and Peter) said numerous time, this part of the agent lifecycle is one of the most time consuming. It should now be much better than when it was serialized in yaml (can you check that your catalog are serialized as pson on the agent?), but still we're doing an operation that has no use just because the internal wiring doesn't allow us to directly write what the agent receives from the catalog. BTW, if you put the agent in debug mode, it should show how long it took to serialize/dump the cached catalog. This way we could compare this time with the total time and see if the time is spent on serialization, unserialization, download, etc... HTH, -- Brice Figureau Follow the latest Puppet Community evolutions on www.planetpuppet.org! -- You received this message because you are subscribed to the Google Groups "Puppet Developers" 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-dev?hl=en.
