[Zope-dev] zope2/zodb cache size question

Jürgen Herrmann Juergen.Herrmann at XLhost.de
Thu Apr 22 13:19:12 EDT 2010


On Thu, 22 Apr 2010 12:54:55 -0400, Jim Fulton <jim at zope.com> wrote:
> On Thu, Apr 22, 2010 at 9:00 AM, Jürgen Herrmann
> <Juergen.Herrmann at xlhost.de> wrote:
>>
>> hi there!
>>
>> today i ran a check script which iterates over approx 150000 objects
>> and does some sanity check calculations on these. during this loop
>> i saw the zope process use up to about 4.5gb memory. the database
>> has ~3.5million objects in it.
>>
>> i set the zodb cache size for the mount point in question to 10000
>> objects. obviously this limit is not honoured during one transaction:
> 
> Right.
> 
>> so two questions here:
>> - would the byte-limited zodb cache setting help here?
> 
> No. The limits aren't really limits. They are more like
> suggestions. :)  In particular, they are only enforced at
> transaction (or subtransaction) boundaries, when a connection is
> opened or closed, or when applications call certain APIs explicitly.
are these apis exposed somewhere? calling these periodically sounds
cleaner than the aproach below.
> 
>> - if no - how can i iterate over a big set of objects without
>>  forcing them to stay in the cache for the whole transaction?
>>  after all i just need each object once during the iteration.
> 
> As you're iterating through the objects, if you know you aren't going
> to need an object again or otherwise think it would be OK to free it
> from memory, you can call _p_deactivate on it. If the object hasn't
> been modified, then it's state will be released and it will become a
> ghost.
as my objects contain references to OOBTrees, do i also have to call
_p_deactivate() on these explicitly, or is it enough to call it on the
containing object?

thanks for your help!
best regards, jürgen
-- 
>> XLhost.de - eXperts in Linux hosting ® <<

XLhost.de GmbH
Jürgen Herrmann, Geschäftsführer
Boelckestrasse 21, 93051 Regensburg, Germany

Geschäftsführer: Volker Geith, Jürgen Herrmann
Registriert unter: HRB9918
Umsatzsteuer-Identifikationsnummer: DE245931218

Fon:  +49 (0)800 XLHOSTDE [0800 95467833]
Fax:  +49 (0)800 95467830

WEB:  http://www.XLhost.de
IRC:  #XLhost at irc.quakenet.org


More information about the Zope-Dev mailing list