The Multi-Threaded Server was invented in the days when most corporate
servers couldn't scale beyond a couple of hundred connections without using
a transaction manager, and it was typically used in memory-bound not
CPU-bound apps (lots of lightweight concurrent connections running simple
queries). With MTS you were trading off the speed of dedicated connections
with the scalability of a kind of connection pool (The "multi-threaded" in
MTS does not mean threading the way the rest of the computer world means
it). However, with today's much more powerful hardware, unless your
benchmarks show otherwise, you should stick with dedicated servers.

This is not to say that you shouldn't use a connection pool solution like
SQL Relay (http://sqlrelay.sourceforge.net/). This is more of a traditional
pool like you'd see with Java. I haven't used it myself, but it looks ok on
paper - according to its doco, the Perl solution is potentially faster than
Apache::DBI. It has a native Perl API, and a DBD:: Perl API as well.
Although it's database agnostic, it was originally inspired to handle large
numbers of Oracle connections, and may help you scale beyond 2000+

Dan

> -----Original Message-----
> From: Chris Drake [mailto:[EMAIL PROTECTED] 
> Sent: Friday, 17 November 2006 6:43 a.m.
> To: Garrett, Philip (MAN-Corporate); Robert Hicks
> Cc: dbi-users@perl.org; cgiapp@lists.erlbaum.net
> Subject: [cgiapp] Re[2]: How should I connect via DBD::Oracle 
> to efficiently obtain 2000+ simultaneous connections?
> 
> Hi Philip & Robert,
> 
> Thanks for those excellent references & help offers. Do you (or
> anyone) know whether or not I should even be *using* a shared 
> server, and have you any idea about how many dedicated 
> connections is "too many" on a dual-3.8ghz Xeon Linux PC with 
> 8gigs or RAM running Oracle 10g?
> 
> The reason I ask is because this guy says "do not use shared servers"
> http://www.dba-oracle.com/t_mts_multithreaded_servers_shared.htm
> ... irritatingly, during install - Oracle gives no hints 
> about what numbers to put into "processes" and "sessions", so 
> I've no idea if I should be putting 200, 2000, 20000, or even 
> if I should be changing these at all...
> 
> Kind Regards,
> Chris Drake
> 
> 
> Friday, November 17, 2006, 2:39:29 AM, Garrett, Philip wrote:
> 
> GPMC> Chris Drake wrote:
> >> I'm expanding, and adding extra web servers to handle my load.  My 
> >> Apache/mod_perl environment maintains a new connection for each 
> >> process, and these processes seem to chew up a lot of server
> >> resources.   
> >> 
> >> What is the normal acceptable way to maintain large numbers of 
> >> simultaneous connections?
> >> 
> >> I have enabled "shared server" support in my database, but 
> I suspect 
> >> it's not being utilized, since I only get a few hundred 
> connections 
> >> before hitting the "too many connections" error.
> >> 
> >> Am I supposed to be passing a switch in with my initical 
> "connection"
> >> requests to request a shared (instead of dedicated) 
> connection maybe 
> >> ?
> 
> GPMC> You'll want to read the Oracle Net Services 
> Administrator's Guide.
> GPMC> 
> http://www.lc.leidenuniv.nl/awcourse/oracle/network.920/a96580/mts
> GPMC> .htm#4
> GPMC> 53189
> 
> >>From a higher-level architectural viewpoint, you could use some load
> GPMC> balancing.  Look into SQLRelay.  It provides out-of-process 
> GPMC> connection pooling that can work for mod_perl servers.
> GPMC> http://sqlrelay.sourceforge.net/
> 
> GPMC> Regards,
> GPMC> Philip
> 
> 
> 
> Friday, November 17, 2006, 2:30:08 AM, Robert Hicks wrote:
> 
> RH> Chris Drake wrote:
> >> Hi All,
> >> 
> >> Is there a way to specify that a connection should use the Oracle 
> >> "shared server" feature?  I'm only getting a max of a 
> hundred or so 
> >> connections, each kicking off it's own oracle process to handle it:
> >> unless I'm mistaken, a new process means it's *not* a shared 
> >> connection?
> >> 
> >> Kind Regards,
> >> Chris Drake
> >> 
> 
> RH> If you don't get your answer here the dbi.perl ng would 
> be the place 
> RH> to go for an answer.
> 
> RH> If you can't get there let me know and I can post for you 
> and post 
> RH> back here the answer(s).
> 
> RH> Robert
> 
> 
> RH> 
> --------------------------------------------------------------------
> RH> -
> RH> Web Archive: 
> RH> http://www.mail-archive.com/cgiapp@lists.erlbaum.net/
> RH>               http://marc.theaimsgroup.com/?l=cgiapp&r=1&w=2
> RH> To unsubscribe, e-mail: [EMAIL PROTECTED]
> RH> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 
> 
> ---------------------------------------------------------------------
> Web Archive:  http://www.mail-archive.com/cgiapp@lists.erlbaum.net/
>               http://marc.theaimsgroup.com/?l=cgiapp&r=1&w=2
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 


---------------------------------------------------------------------
Web Archive:  http://www.mail-archive.com/cgiapp@lists.erlbaum.net/
              http://marc.theaimsgroup.com/?l=cgiapp&r=1&w=2
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to