On Feb 7, 2010, at 10:24 AM, Brice Figureau wrote:
Hi,
Following one of my blog post[1] about Puppetd memory consumption, I
decided to also try to add my stone to the edifice.
Since #2892 is almost fixed by now, I decided to spend my time on
something else:
1) json catalog (and its deserialization)
2) sourced file content
Those two things can consume memory for a short time (memory which
unfortunately
is always consumed, see my blog post for some explanations).
So this patch brings to puppet:
1) support for a new Json parser: Yajl-ruby[1], which is faster and
uses
less memory than the regular json parser. Yajl-ruby is available as
a gem.
To activate the support it is needed to use --
preferred_serialization_format=yajl
2) use Yajl-ruby in "streaming" mode: puppetd never reads the whole
response
body in ram, but instead feeds Yajl-ruby chunk by chunk. This way,
the json
serialized catalog is never fully stored in RAM.
3) allow the file resource source system to stream file content to
disk instead
of reading the whole response body in RAM and then dumping it on file.
This patch has been lightly tested and seems to work, YMMV, though.
I also
tried for the patch to be as minimal as possible.
[...]
Hi Brice (and Markus, I guess),
What's the status of this patch series? I'd love to get this into
rowlf if at all possible, and I'll work with you to get it done if you
need some backup on it.
--
I respect faith, but doubt is what gets you an education.
-- Wilson Mizner
---------------------------------------------------------------------
Luke Kanies -|- http://reductivelabs.com -|- +1(615)594-8199
--
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.