[Zope-dev] how bad are per-request-write-transactions
Eric Roby
vekn@msn.com
Tue, 16 Apr 2002 19:04:27 -0500
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" <casey@zope.com>
To: "Ivo van der Wijk" <ivo@amaze.nl>
Cc: <zope-dev@zope.org>
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 - Zope-Dev@zope.org
> 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 )
>