I have  same issuer with running puppentmaster and puppted in same
host. When I updated ruby to 1.8.7 enterprise It resolve problem for
me.
Leonid S. Batizhevsky



On Tue, Dec 14, 2010 at 11:24, Chris
<iwouldratherbesleeping...@gmail.com> wrote:
> Hi
>
> I recently upgraded my puppet masters (and clients) from 0.24.8 to
> 2.6.4
>
> Previously, my most busy puppet master would hover around about 0.9
> load  average, after the upgrade, its load hovers around 5
>
> I am running passenger and mysql based stored configs.
>
> Checking my running processes, ruby (puppetmasterd) shoots up to 99%
> cpu load and stays there for a few seconds before dropping again.
> Often there are 4 of these running simultaneously, pegging each core
> at 99% cpu.
>
> It seems that there has been a serious performance regression between
> 0.24 and 2.6 for my configuration
>
> I hop the following can help work out where...
>
> I ran puppetmasterd through a profiler to find the root cause of this
> (http://boojum.homelinux.org/profile.svg).  The main problem appears
> to be in /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/resource.rb, in
> the evaluate function.
>
> I added a few timing commands around various sections of that function
> to find the following breakdown of times spent inside it, and the two
> most intensive calls are
> ---
>    paramobjects = parameters.collect { |param|
>      param.safeevaluate(scope)
>    }
> ---
>
> and
> ---
>    resource_titles.flatten.collect { |resource_title|
>      exceptwrap :type => Puppet::ParseError do
>        resource = Puppet::Parser::Resource.new(
>          fully_qualified_type, resource_title,
>          :parameters => paramobjects,
>          :file => self.file,
>          :line => self.line,
>          :exported => self.exported,
>          :virtual => virt,
>          :source => scope.source,
>          :scope => scope,
>          :strict => true
>        )
>
>        if resource.resource_type.is_a? Puppet::Resource::Type
>          resource.resource_type.instantiate_resource(scope, resource)
>        end
>        scope.compiler.add_resource(scope, resource)
>        scope.compiler.evaluate_classes([resource_title],scope,false)
> if fully_qualified_type == 'class'
>        resource
>      end
>    }.reject { |resource| resource.nil? }
> ---
>
>
> Unfortunately, that is about the limit of my current ruby skills.
> What else can be looked at to speed 2.6 back up to the performance of
> 0.24?
>
>
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Puppet Users" group.
> To post to this group, send email to puppet-us...@googlegroups.com.
> To unsubscribe from this group, send email to 
> puppet-users+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/puppet-users?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-us...@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to