We use the combination of 'beforestorage' (zc.beforestorage) and 'demostorage' 
for development and some testing. For most development, we've been using a 
local set of ZEO servers built off of backups of production databases, with 
desktop development changes going into a 'Changes.fs' local filestorage. This 
has generally worked out fine, and we've started using this practice with a new 
'beta' server for some customers that connects to the production ZEO server, 
but puts changes (again) into a local Changes.fs file.

For desktop development this has worked quite well, but I've noticed that when 
starting up our Zope 3-ish servers I'd see "No verification necessary -- empty 
cache" messages when connecting to ZEO. But performance was always fine since 
most of the ZEO loads were small and local.

In our new beta setup, however, there seems to be quite a performance impact. 
Even when configured with a large ZEO client cache for our base/'before' 
storage setup, some page loads were taking achingly long times and then would 
appear to be fine. I decided to look at the ZEO client cache file in a hex dump 
and noticed that it was nothing but zeros (null bytes).

Is there a way to configure the demostorage/beforestorage setup so that the 
client cache can still get populated? This is what our setups look like:

  cache-size 25000

    <before base>
      before now

        cache-size 800MB
        client example
        read-only true
        server zeo.example.com:8888
        storage example
        var /home/blah/projects/example/parts/zeoclient
    <filestorage changes>
      path /home/blah/projects/example/skiutah/var/db/Changes.fs

Or is the non-touching of the client cache just an artifact of one or both of 
these extra storages (beforestorage or demostorage)?

Jeff Shell

For more information about ZODB, see http://zodb.org/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org

Reply via email to