Sounds like a job for DBD::Proxy or DBD::Gofer, not that I've ever
used them, and I have no idea whether they would play nice with DBIC --
the DBIC folks would have a better grasp on that question. That would
leave the Catalyst parts unchanged apart from configuration, which would
be a good thing architecturally.
--S
Stuart Watt
ARM Product Developer
Information Balance
On 9/8/2010 10:54 AM, Simon Miner wrote:
Thanks for the responses,
Jason, I don't think reducing the number of database connections will
hurt responsiveness. Even though there are 3 separate Catalyst apps,
each HTTP request will only involve one of them (since they all run
out of the same web server), so there should never be contention
between the apps for the shared database connection. Does this make
sense?
Tom and Nicholas, I wish this was premature optimization, but my
organization has experienced serious performance issues in the past
related to multiple (Oracle) database connections per HTTP server
process. Extra Oracle connections are expensive to maintain,
particularly on the database server, and so we've tried to ensure that
a single server process only has a single connection to a given
database (since that's all it should need at any given time).
I've attached a Devel::NYTProf screenshot for one of the server
processes I profiled this morning. Looks like it confirms the multiple
database connections.
So back to initial question -- How do I update the models of my three
Catalyst apps to share a single Oracle database connection?
Thanks again. I really appreciate your feedback.
Simon
On Tue, Sep 7, 2010 at 11:40 PM, Nicholas Wehr
<[email protected] <mailto:[email protected]>> wrote:
I'm with Tom on this one. Unless you've narrowed all optimization
efforts and this is all you have left - it could be worth a try..
but as Jason points out, you may not gain a thing. I'd recommend
profiling your code and tracking down performance issues from that
base level. Please post your results - I've very curious!
-nw
On Tue, Sep 7, 2010 at 7:21 PM, Tomas Doran <[email protected]
<mailto:[email protected]>> wrote:
On 7 Sep 2010, at 18:59, Simon Miner wrote:
All three of these apps run under a single Apache
1.3.42/mod_perl 1.31 server.
Wow, mod_perl 1.... Ok then :)
It appears that each server process creates a unique
database connection variable for each of these apps.
Although these database connections get reused from
request to request, I would like to make things even more
efficient by having a single database connection variable
per server process which gets shared across all 3 Catalyst
apps.
Why do you think that this will help or affect anything?
I.e. is this not premature optimisation?
Cheers
t0m
_______________________________________________
List: [email protected]
<mailto:[email protected]>
Listinfo:
http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive:
http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/
_______________________________________________
List: [email protected] <mailto:[email protected]>
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive:
http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/
--
-- Simon
--
This message was scanned by ESVA and is believed to be clean.
Click here to report this message as spam.
<http://antispam.infobal.com/cgi-bin/learn-msg.cgi?id=7897728072.B3B1D>
_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/
_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/