First let me say that I'm aware that this topic comes up with some frequency on the mod_perl and DBI-users list.  I am aware of posts like this one:
 
 
which argue against the necessity of pooling. 
 
However, I am also aware of a _major_ ISP that implements their email system using a _major_ RDBMS that has had problems that are best solved via connection pooling.  Essentially, the time it takes them to search through all the cached connections is nearly as long as the time it is taking to read/write to the database.   Although, I'm not implementing email as this ISP is, I think that scalability in my case may definitely run into similar roadblocks.
 
I am interested in hearing from anyone that has tried to implement true connection pooling either within Apache or as an external process.  I'm particularly interested in hearing about implementations that could be made to work or are done using Perl and DBI/DBD.  I am mostly interested in things that are Open Source or licensed like Perl itself.
 
I am aware of a project called Gnu Transaction Server (GTS), but it doesn't seem like this is quite ready for prime time at the moment or is even under active development.  I've seen posts that hint at using shared memory and IPC to implement this within Apache as well as posts that hint at possibilities of implementing this using DBI::Proxy.
 
I basically want to do what the big TP monitors (Tuxedo/Encina/CICS) do with respect to condensing connections to a database, but I'm not in need of features like two-phase commit, cross database joins, heterogeneous database environment, etc. incorporated in these products.
 
Even if you'd simply be interested in working on such a project, I'd like to hear from you.  If you think such a project is plain stupid, I'd also be interested in hearing from you (but be gentle!).  If you already have something sort of working along these lines, I'd DEFINITELY be interested in hearing from you!
 
-- Jeff Horn

Reply via email to