On Wednesday, November 27, 2013 11:17:44 PM UTC-6, Glenn Poston wrote:
>
> My external fact script takes 5s to run.
>
> With external fact...
> puppet takes 2.5m to run
> facter takes 33s to run
>
> Without external fact...
> puppet takes 27s to run
> facter takes 0.68s
>
> Bottom line... there's no significant change in facter runtime when 
> parsing the external fact, but the puppet runtime quadruples.
>


Well, no significant change in facter's runtime give or take a factor of 
x50.  What's two orders of magnitude between friends?

Really, a five-second runtime for a fact is pretty extreme, but even that 
seems not to match the timings you report -- it looks more like your 
external fact takes 32 seconds to run.

In the past, Puppet has sometimes had issues with unnecessarily evaluating 
facts more than once, so perhaps such an issue is magnifying the effect of 
your slow fact.  Or perhaps the fact value is extremely large.  Or maybe 
evaluating the fact leaves the node in a state that slows or delays 
communication with the master.

It is probably worth your while to run the agent with the "--test 
--evaltrace" options to get a more detailed breakdown of how the time is 
being consumed.  Please post the whole timing report.

Also, it might be helpful to know what your external fact script is 
actually doing.  Are you at liberty to post that?

 

>
> From watching the logs in real time I can see that the extra time is taken 
> before puppet outputs its first response line (compilation time).  Also 
> note that the compilation time that puppet reports is ~2s even though (when 
> watching the output realtime) it takes 2 minutes for that line to return 
> when puppet is parsing the external fact script.
>
> Note: This script generates 36 custom facts
>
> Should I submit a bug for this?
>
>

I think that would be premature at this time.  The issue is likely to be 
tied to details of your external fact script, so although there may indeed 
be a bug to report, I don't think we know yet what it might be.


John

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/fe6a462d-77d9-4058-ad37-58d6a7dd667b%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to