I developed a profiler service for a production site about 8 months ago. I essentially did what you are asking. I needed to see how customers were using the various navigational elements and other services provided within the site layout. The logging service could not give me a sense of the context. To make a long story short, I had a method in the standard_html_header that kicked off the evaluation process. I essentially created a mirror of the site (containers/sub-containers/methods) for each hit for each day for each month , etc... This provided me with a way to see specific site activity in real-time. Each object that was evaluated (for each day) had two tinyTable instances. One recorded each hit as a record (IP, referrer, username, time) while the other tallied the numbers per hit (per unique IP).
This was all running on a Sun on a terrible network and I saw little or no performance difference and the ZODB growth was as you might expect adding the additional folder objects and tinyTable instances. It wasn't a high profile site (about 3000 hits per week). I ran the service for three months with no problems. The key was the hits recorded in the tinyTable's did not create a ZODB transaction. Hope this helps Eric ----- Original Message ----- From: "Casey Duncan" <[EMAIL PROTECTED]> To: "Ivo van der Wijk" <[EMAIL PROTECTED]> Cc: <[EMAIL PROTECTED]> Sent: Tuesday, April 16, 2002 10:04 AM Subject: Re: [Zope-dev] how bad are per-request-write-transactions > This will kill performance, especially concurrent use of the site. It > will also cause large amounts of database bloat. Do you need real time > numbers, or is a delay (such as 24 hours) acceptable? > > If you can stand a delay, another approach would be to write a script > which scans the z2.log file (or another log that you generate on page > hits) each night and in a single transaction updates a counter on each > object hit. > > If you use the z2.log, no additional writing is needed to the FS, and > you get the benefit of easy access to the counts directly from the > objects, without degrading performance or db bloat. > > -Casey > > Ivo van der Wijk wrote: > > Hi, > > > > How bad are per-request transactions in a non-ZEO environment? I.e. > > each request on a folder or its subobjects will cause a write transaction > > (somewhat like a non-fs counter, but worse as it happens for all subobjects) > > > > And if this is really bad, are there any workarounds except for writing > > to the filesystem? > > > > Cheers > > > > Ivo > > > > > > > > > _______________________________________________ > Zope-Dev maillist - [EMAIL PROTECTED] > http://lists.zope.org/mailman/listinfo/zope-dev > ** No cross posts or HTML encoding! ** > (Related lists - > http://lists.zope.org/mailman/listinfo/zope-announce > http://lists.zope.org/mailman/listinfo/zope ) > _______________________________________________ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )