On Wed, May 9, 2012 at 2:15 AM, Peter Meier <peter.me...@immerda.ch> wrote:

>> Otherwise i work on Puppet optimizations and i have seen some strange
>> things too. I work on big catalog (more than 1000 resources) and i want to
>> reduce the application time (around 20 sec).
>> I have seen two kind of things:
>> - First, recent Puppet versions are slowest (see PuppetVersions.png in
>> attachment), mainly the last one: 2.7.12.
>
> I can confirm that.
>
> It's one of the reasons I'm still on 2.6 at a lot of places, as I have a
> 10-20% catalog compilation time increase with 2.7. Even with a master
> pre-2.7.12 (might have been 2.7.1 or so), which is what I tested and I never
> read it got better, hence I never retested it.

We are aware that there have been some performance drops - and that we
have some fundamental problems like a tendency to flush some  cached
data to often when using environments - even if we don't fully
understand them yet.

Internally we are working on having some CI around performance so we
can know when things slow down.

>> - Second, ruby 1.9.3 is very slow compare to ruby EE (see PuppetRuby.png
>> in attachment). I think the problem come from the yaml library: caching
>> catalog is very slow.
>
> It is interesting that 1.9 is slower.
>
> But anyway I remember that caching the catalog (read serializing it as yaml
> to disk) has been very slow for years and also known. It usually makes the
> agent look like it's hanging. This especially happens on huge catalogs - I
> have catalogs with up to 10k resources.

It would be great to improve that, from our point of view, but I
wonder a bit: when is this a killer problem for everyone?

Also, someone commented about using marshall to speed this up - sadly,
that isn't an acceptable solution.  We have had problems with Marshall
data being impossible to transport between Ruby versions, and worse,
causing segfaults.  That means we can't use it to persist data where
it might be read by a different version Ruby later.

> Having a puppet release focused on stability and performance would really be
> appreciated. I think there could some room for improvements at various
> places.

I don't think we will ever have a release that is exclusively focused
on performance.

The discovery of the horrible performance drop in 2.7, though, has
brought us to see that we need to focus on it in a more formal way.

You can expect that performance, stability, and correctness will drive
the roadmap for the platform team much more than "shiny new features"
will over the coming months.

These are vital things to deliver, and my team is absolutely committed to them.

...and I am genuinely sorry that we have not communicated about this
to everyone effectively.  This should have been obvious outside our
walls, and wasn't.

-- 
Daniel Pittman
⎋ Puppet Labs Developer – http://puppetlabs.com
♲ Made with 100 percent post-consumer electrons

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

Reply via email to