[ZCM] [ZC] 1847/ 3 Comment "unable to configure zeo client cache tracing"

Collector: Zope Bugs, Features, and Patches ... zope-coders-admin at zope.org
Wed Jul 20 05:51:09 EDT 2005


Issue #1847 Update (Comment) "unable to configure zeo client cache tracing"
 Status Pending, Zope/bug medium
To followup, visit:
  http://www.zope.org/Collectors/Zope/1847

==============================================================
= Comment - Entry #3 by alzhimer on Jul 20, 2005 5:51 am

hmm, in this case, is "believing" == "knowing"? :-) at least, if I set trace=True and run stats.py on the resulting .zec.trace file, i see results...so you say i'd better not trust them, right?

seriously, it would be very helpful to have a tool for cache tuning. i frequently see the problem, that cache verification takes a long time (up to 20 minutes on a 250 MB cache size), which would slow down all other zeo clients as well (the zeo server is quite busy during that time, may be because we have a uncommon huge Data.fs of about 7 GB :-( (we already worked hard to _shrink_ it to that size...)). if i only knew if i would be better off with a smaller cache or not...

as a side note, if the need for a cache verification is discovered, couldn't it be more efficient to simple wipe the cache file and start with a blank?

Cheers, Sascha
________________________________________
= Comment - Entry #2 by tim_one on Jul 19, 2005 5:38 pm

Yes, I believe cache tracing is wholly broken in ZODBs 3.3 and after, and at all levels.  I don't have current plans to look into this, so the best hope for relief is an interested volunteer(s).

Should note that the ZEO cache was rewritten entirely (to support MVCC) after the cache-trace stuff was added, and even if the latter still worked it would no longer have any direct relationship to the way the ZEO cache currently works.  Maybe everything related to cache-tracing should simply be thrown away?
________________________________________
= Request - Entry #1 by alzhimer on Jul 19, 2005 7:40 am

The documention about ZEO client cache tracing is outdated/misleading. In

    Zope/doc/ZEO/trace.txt

it is explained to set the environment variable ZEO_CACHE_TRACE; however, there seems to be no code left that would work that way. In fact, in

    Zope/lib/python/ZEO/ClientStorage.py,

where ClientCache of

    Zope/lib/python/ZEO/cache.py

is instantiated, there is no configurable way to enable the tracing. A simple workaround would be

    #self._cache = self.ClientCacheClass(cache_path, size=cache_size)
    self._cache = self.ClientCacheClass(cache_path, size=cache_size, trace=True)


Unfortunately, I'm not familiar enough with the internals to know how to make this configurable via zope.conf.

By the way, not sure if I'm right, but it looks very much as if

    Zope/lib/python/ZEO/simul.py

isn't working as advertised - no matter what cache size I choose to simulate the collected trace, the calculated hitrate is always 0.0 %.


Cheers, Sascha
==============================================================



More information about the Zope-Collector-Monitor mailing list