Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Why MTS/Shared Server doesn't use round-robin?

Re: Why MTS/Shared Server doesn't use round-robin?

From: Svend Jensen <svend.SPAMKILLjensen_at_secret.dk>
Date: Thu, 31 Mar 2005 09:03:18 +0200
Message-ID: <424ba127$0$145$edfadb0f@dread11.news.tele.dk>


NetComrade wrote:
> Question in the subject line..
>
> And what would the method used by Oracle be called? First non-busy?
> Last Recently Used/Non-Busy?
>
> Reason I ask:
> We have an in-house app-server, that takes requests from apache. There
> is X such (app server) processes. Each has a one-to-one relationship
> with a connection (each has a db connection).. Hence we do use
> MTS/Shared Server.. The app server takes requests in round-robin.. I
> figured that the app server would benefit from using similar algorithm
> as Oracle. First (and I don't know much about OSes), the overhead on
> the frontend (app server) should be lighter, since the OS would need
> to put fewer processes on/off CPU (or page in/out, since i think
> round-robin encourages paging).. and second I think there might be a
> smaller overhead on the Oracle side since it has to manage fewer
> 'active' connections.
>
> My thoughts are totally unsupported.. I tried googling for what other
> app servers or apache does; tried searching for algorithm advantages,
> however, as you can see I don't even know what's the 'something' going
> to be in round-robin vs "something". Looking for some pointers from
> fellow knowledgeable oracle professionals, don't have time to read up
> on how OS works (but would be happy to if someone narrows it down for
> me)
>
> Thanks,
> The App server runs on solaris 8
>
> .......
> We use Oracle 8.1.7.4 and 9.2.0.5 on Solaris 2.7 boxes
> remove NSPAM to email

Hi NetComrade, et.al.

I don't understand <snip> "Each has a one-to-one relationship  > with a connection (each has a db connection).. Hence we do use  > MTS/Shared Server.." <endsnip>
If you have a one to one connection, it is dedicated. If you use MTS you don't have a one to one connection.

Best practices is to have X appserver processes and each has a dedicated oracle connection. Requests are held in a queue. If too many requests in the queue, more processes are spawned, ie. more oracle connections. It is common to have a max- and min- processes defined, and some idle time for a process to disconnect and terminate when idle.

Double queue in the app server and in the database (MTS) does not work well. (my experience with 8.0.5 to 8.1.7) rgds
Svend Received on Thu Mar 31 2005 - 01:03:18 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US