On Mon, 2003-06-09 at 21:02, Stas Bekman wrote:
Paul Simon wrote:
So, according to the docs, http://perl.apache.org/docs/2.0/user/performance/mpm.html#Work_with_DataBases_under_Threaded_MPM, using Apache::DBI doesn't do anything under mp2+windows2000 ...
That's correct. Since Apache::DBI does per-process pooling, and apache 2.0 on winFU, runs one process with many threads. So Apache::DBI is useless there.
Wait a minute, it's only useless if DBI and DBD::Oracle are not thread safe. Do we know if that's true?
Yes, but:
mp2+winFU => winnt MPM => no forking, only threads => Apache::DBI is useless there. not only useless, but also wasteful, since it's going to do work that has no added value.
Of course I tell all that without ever using winFU, but I don't think this is a wrong assumption if the server doesn't fork.
Just to be clear, Apache::DBI stores database handles in globals, which are not shared between threads. This provides persistence. DBI::Pool is a more ambitious idea to allow the handles to be actually shared, providing "pooling" as well as persistence.
Once DBI::Pool will be available, Apache::DBI may use it internally, or it may become obsolete altogether.
But since you are using Oracle, if I remember correctly DBD::Oracle provides an internal pooling support. I could be wrong, please check the docs.
It's called ora_dbh_share. I haven't tried it yet, and probably won't for a bit since I'm not using Oracle at the moment.
__________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com