Zope+Oracle efficiency (was Re: [Zope-DB] ANN: eGenix
mxODBC Zope Database Adapter, Version 1.0.0)
Tue, 04 Mar 2003 13:24:42 +1300
On 3/03/03 at 23:24 Dario Lopez-K=E4sten wrote:
>well, I am no expert either but AFAIK Oracle uses SQL*NET for ODBC
>communications (ODBC sits on top of SQL*NET). Not sure if this is slower=
>not. I also have the impression that ODBC is slower per se, but perhaps
>coupled with better connection pooling it makes mxODBC faster?
So it's going to be really slow now, because it's running through the CLR,=
an interpreted environment.
>I wonder though if the *sheer number* of active/connected ZOracleDA=
>in the ZODB has some relevance to those numbers (ie. more open DA objects
>means increase threads and/or ZODB connections?). I have not read any
>specific numbers and I have yet to begin to understand how the amount of
>ZODB connections has an impact on the usage of ZOracleDA
The actual work of Zope takes place within the context of a thread, so the=
only way I can see that having lots of DA objects adversely affects=
performance is because the DA is opening a connection with the database=
for every object rather than pooling them and also maybe the connections=
are being dropped either by Zope or the RDBMS. To avoid this problem,=
whenever possible, you should have a single top level DA object and bind=
your ZSQL methods to it using acquisition from your lower level folders,=
because at any one time you cannot have more active database queries than=
the number of Zope threads, usually four in a standard installation.
isectZope (http://www.zope.org/Members/creditscore/isectZope) is a DA that=
uses external database connection pooling to avoid large numbers of=
database connections clogging up your RDBMS. Each Zope connection is=
nothing more than a lightweight socket handle.The database connections=
themselves are maintained externally by the Isectd middleware and you=
limit them to the number of threads you have defined in Zope, so there is=
always a free connection available to service a Zope thread.
Credit Systems Control Ltd
Ph: 64 3 3266115
'making decisions easy'