[Zope] Re: MySQL thread connection question
    Chris Withers 
    chris at simplistix.co.uk
       
    Mon Aug 16 07:48:41 EDT 2004
    
    
  
Dieter Maurer wrote:
> 
> Why do you have 10 database connections to the same server?
10 different users with different levels of access?
>>We do that several times and our da connections of mostly all sleeping is a few hundred.
> 
> I doubt that a connection pool would help you:
I have real-world evidence to the contrary ;-)
>   There probably is a reason that you allow seven threads.
>   When the connection pool is not ready to allocate seven connections,
>   you will get less concurrency than you (apparently) want.
I don't understand what you're trying to say here...
>   *If* there is a reason that you have more than 1 DA instance,
>   then the connection pool cannot reuse connections for different
>   DAs. Otherwise, you, too, could live with a single DA instance!
Yep, but rather than creating one connection for each Zope thread, it 
only creates as many connections as are concurrently needed, and that's 
almost always a MUCH lower number...
>   This means, the worst case number of connections is the
>   same in both schemes (unless you are ready to reduce
>   concurrency).
With a connection pool, the worst case number of connections is the 
largest number of concurrent requests. Without one, it is the number of 
Zope threads (plus some for those leaked by _v_ variables), regardless 
of the load on the server.
>   Using a connection pool will not fix your "sleeping connection"
>   problem when you restart a client.
That's true.
> Implementing a connection pool correctly is tricky (when
> one request requests two connections from the same DA,
> it *MUST* get the same connection).
I'd be interested to hear your thoughts on the code in ZOracleDA on the 
branch I created...
Chris
-- 
Simplistix - Content Management, Zope & Python Consulting
            - http://www.simplistix.co.uk
    
    
More information about the Zope
mailing list