Re: [Puppet Users] Magazine article comparing CPU usage of Puppet vs. Cfengine

James Cammarata
2010-02-22T21:37:15Z

On Mon, 22 Feb 2010 21:17:52 +0000, Toby Riddell <toby.riddell@gmail.com>
wrote:
> I received my copy of ;login (the Usenix magazine) today. There''s
an
> article* comparing CPU utilisation of Puppet and Cfengine. To
> abbreviate massively: Puppet requires much more CPU than Cfengine when
> both verifying and fixing configuration.
>
> I''m in the early days of implementing Puppet and this has given me
> something to think about. Whilst I won''t be verifying/fixing
> configuration on our servers on a continual basis, it would be nice if
> it could be done with low CPU overhead. I am not familiar with
> Cfengine beyond the reading I did while choosing which configuration
> management tool to use; I chose Puppet because it seemed more flexible
> and I figured me and my team would be able to get more done in less
> time once we''d learned how to use it.
>
> Can CPU overhead be reduced to something closer to Cfengine, or is it
> inherent in the design/implementation of Puppet? Is there an upside in
> terms of greater flexibility of Puppet?
>
> I''d welcome comments from those familiar with both Puppet and
Cfengine.
>
> *Article is here:
> http://www.usenix.org/publications/login/2010-02/pdfs/bjorgeengen.pdf.
> Note that reading the magazine article requires a subscription, at
> least until Feb 2011 (articles published more than 12 months ago are
> openly available).

I''m not really surprised by this, puppet is written in Ruby (an
interpreted
language) vs CFengine which is written in C.  I''ve used both, and
I''d
gladly trade a little CPU performance for the stability gains offered by
puppet.  CFengine is notoriously buggy in implementation, something I can
definitely attest to (like when spaces make a difference in
unions/intersections when the documentation plainly says they should
not...).

I''d have to see the article to know for sure if the CPU utilization
difference is negligible, but having run puppet for several months now I
have not seen any performance impact myself.  Most systems have so may
extra cores nowadays that aren''t doing anything (especially in our
case,
running puppet during off-hours) it would have to peg multiple CPUs for an
extended period of time to make a noticeable impact.



--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.