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