[Zope] Options for handling concurrency?

Tony McDonald tony.mcdonald@ncl.ac.uk
Mon, 28 Feb 2000 16:10:52 +0000


At 10:37 am +0900 28/2/00, Brian Takashi Hooper wrote:
>Hi Tone,
>
>I just recently solved a performance problem that was related to ZODB
>lock contention due to a idiosyncrasy with an external method that was
>causing writes to ZODB on every page view, for my top page... it
>couldn't be anything like this, could it?  One easy way to check is to
>look at the undo list, if there are lots of transactions by the
>Anonymous user on pages that don't look like they should be getting
>changed, that's a good heads up.

That's a pretty neat thought - I checked my undo list however and 
there's no transactions from Anonymous there :(

>The DB is another possible bottleneck - I have been using Sybase, which
>with the level 3 DA gives very good performance, I can have 20 or more
>simultaneous, persistent connections open to the DB...  tuning the SQL,
>as Martijn mentioned, is also important - I profiled ZSQL methods once
>and for the stuff I tested, selects from the cache were over 100 times
>faster than direct access to the database.

For the time being we're using MySQL, as we're a bit strapped for 
cash. I'm mightily impressed by the cache performance over direct 
access to the database. However, a lot of my database calls are from 
external methods (as I figured they'd be faster), so I guess I'd lose 
a lot of that speedup. We do have a cache for the MySQL database, 
which (I've always thought) would help out.

Is there a documented way of profiling ZSQL method perhaps?


>Hope you can solve your problem!

I certainly hope so - I guess I'm a little disappointed in the 
performance from our 'Sun Iron' - particularly when a PIII 500MHz 
gave twice as many raw 'pystones' as our vastly more expensive 
Solaris box.  :(

thanks for the advice,
tone,
------
Dr Tony McDonald,  FMCC, Networked Learning Environments Project 
http://nle.ncl.ac.uk/
The Medical School, Newcastle University Tel: +44 191 222 5888
Fingerprint: 3450 876D FA41 B926 D3DD  F8C3 F2D0 C3B9 8B38 18A2