[ZODB-Dev] ZEO 2 : cache twiddling

Chris Withers chrisw@nipltd.com
Wed, 20 Nov 2002 15:09:57 +0000


Right, I've enabled cache trace logging.

Here's the summary from stats.py:
Read 80,207 records (1,924,968 bytes) in 3.5 seconds
Versions:   3 records used a version
First time: Wed Nov 20 11:23:11 2002
Last time:  Wed Nov 20 14:49:56 2002
Duration:   12,405 seconds
File stats: 44,253 in file 0; 35,954 in file 1
Data recs:  38,967 (48.6%), average size 3373.1 KB
Hit rate:   1.6% (load hits / loads)

         Count Code Function (action)
             2  00  _setup_trace (initialization)
             1  08  *** unknown code ***
         2,792  10  invalidate (miss)
            73  1c  invalidate (hit, writing 'i')
        38,206  20  load (miss)
           603  2a  load (hit, returning non-version data)
             1  32  *** unknown code ***
             3  44  *** unknown code ***
           154  4c  modifiedInVersion (hit, return '')
            76  54  *** unknown code ***
        38,210  5a  store (non-version data present)
            69  6a  _copytocurrent
             2  6e  *** unknown code ***
            14  70  checkSize (cache flip)
             1  76  *** unknown code ***

Can anyone help reading these runes?
I'm quite interested in the Versions bit, none of the storages used by the ZEO 
client have any versions in them, to my knowledge, so what does this mean?

I did try running simul.py as well, but ran into problems:

python /usr/local/zope/2.6.0/lib/python/ZEO/simul.py -s 200 zeo_cache.log
ZEOCacheSimulation, cache size 200,000,000 bytes
   START TIME  DURATION    LOADS     HITS INVALS WRITES  FLIPS HITRATE
Nov 20 11:23  -1:59:00      353      106      0      0      0  30.0%
Traceback (most recent call last):
   File "/usr/local/zope/2.6.0/lib/python/ZEO/simul.py", line 753, in ?
     sys.exit(main())
   File "/usr/local/zope/2.6.0/lib/python/ZEO/simul.py", line 127, in main
     sim.event(ts, dlen, version, code, current, oid, serial)
   File "/usr/local/zope/2.6.0/lib/python/ZEO/simul.py", line 187, in event
     self.load(oid, dlen)
   File "/usr/local/zope/2.6.0/lib/python/ZEO/simul.py", line 276, in load
     self.write(oid, size)
   File "/usr/local/zope/2.6.0/lib/python/ZEO/simul.py", line 283, in write
     if self.filesize[self.current] + size > self.cachelimit / 2:
OverflowError: integer addition

Why did that happen?

cheers,

Chris