Re: [mp2] Connection pool with Apache::DBI and Oracle

2003-01-27 Thread Perrin Harkins
Georg Botorog wrote:

I don't understand. The Apache server I am using has 50 ThreadsPerChild


If you want help with mod_perl 2, you need to say so.  Otherwise it is 
assumed you are using 1.x.  Put [mp2] in your subject line.

Thus, Apache is able to handle quite a few
requests simultaneously. However, Oracle has only one session for the
job.


Each thread has its own Perl interpreter and each one of those will have 
a persistent DBI connection when using Apache::DBI.  Nothing is shared 
between threads unless you explicitly make it shared.

There is currently no way to share DBI handles between threads.  If 
you're interested in working on that problem, you can read the archived 
posts on the topic.  As I mentioned in the last message, sharing doesn't 
help much unless you have a lot of mod_perl code that doesn't use 
database connections.

As a consequence, starting two identical requests from distinct
clients leads to blocking the second request until the first one is
served.


Absolutely not.  There is no sharing and thus no blocking.

- Perrin




Re: [mp2] Connection pool with Apache::DBI and Oracle

2003-01-27 Thread Perrin Harkins
Georg Botorog wrote:

Actuallly, I had no idea I am using mp2. I have downloaded some time ago
a bundle with Perl, Apache, etc. (for NT), and I'm still using it today.


Ah, okay NT is another key piece of information.  Sorry, I don't use 
apache on NT so I thought that was a mp2 directive.

So, you are using 1.x on NT.  With 1.x, all requests are handled 
serially on NT, which explains the behavior you're getting.  It's 
actually not related to DBI at all.

See http://perl.apache.org/docs/1.0/os/win32/multithread.html for the 
full story.

- Perrin