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: Users per MTS Ora 9

Re: Users per MTS Ora 9

From: Quarkman <quarkman_at_nowhere>
Date: Sun, 29 Jun 2003 07:18:15 +1000
Message-ID: <3efe0613$0$5429$afc38c87@news.optusnet.com.au>

"Tanel Poder" <tanel@@peldik.com> wrote in message news:3efdca7f$1_1_at_news.estpak.ee...
> > If I understand your post right, that means you don't have MTS at all.
> With
> > no shared server processes, and unless you specifically state
> > (SERVER=SHARED) in your tnsnames.ora, then each user gets a dedicated
> server
> > process. No wonder the 8.1.7 database performed so well!
>
> If you have MTS configured, then new sessions get a shared server by
> default. They get dedicated only when server=dedicated is set in
> tnsnames.ora.
>

Not if you set SHARED_SERVERS=0 they won't!

Which is what I believe the original poster said he had done (though as I said in my original reply to him, I could just be misunderstanding his statement "Oracle 8 has MTS with
server=0").

At which point, an explicit request in the tnsnames.ora for SERVER=SHARED will cause the connection to fail, but a connection request that is silent on the issue will get a dedicated server process.

As I said, if you set shared_servers=0 (or MTS_SERVERS=0 in version 8), then whilst you have dispatchers, you don't actually have MTS configured correctly, and the system will behave just like a dedicated setup.

> > If you have lots of jobs that last longer than about 3 seconds, then you
> > shouldn't be using MTS. Long jobs means the job hijacks the shared
server
> > process for a long time... which means fewer shared server processes for
> > other users. MTS is only really of benefit in an environment where most
of
> > your server process time is spent idle, waiting for a user to do the
next
> > piece of SQL. If you have long-running SQL, then your server processes
are
> > spending most of their time doing long-running SQL!
>
> I generally agree with you, but where does this 3 seconds come from?

Thomas Kyte, IIRC. Expert one-on-one. But don't ask me to quote the page number!

> I'd put the need for MTS dependent on amount of server processes idle time
> and free system memory.

Inevitably. If you have lots of server process idle time, give yourself 1 point. If you have lots of memory, give yourself 1 point. And if you have lots of short jobs, give yourself 1 point. And if you've got 3 points, then MTS is possibly for you.

> If you got enough memory, you can very well go all the way with dedicated
> servers (other issues, as max number of OS processes are minor in most
> systems). But if you don't have lots of extra memory, and if some of your
> server processes have idle time, you could reduce the number of them and
use
> MTS for sharing them between sessions.
>

I don't disagree (see above). But length of job comes into it, too. Because otherwise, a long job simply snaffles what's supposed to be a shared server for its own exclusive use for a long time. The pool of shared servers available to service the short jobs is thus deprived of a pool 'member', and everyone else suffers as the server process busy rate climbs steadily upwards. Of course, shared servers are automatically spawned when needed... provided you haven't set a maximum limit for them (MAX_SHARED_SERVERS)... and provided you don't spawn so many of them that you hit the implicit maximum, which is 20 or twice the specified number of SHARED_SERVERS.

~QM

> Tanel.
>
>
>
Received on Sat Jun 28 2003 - 16:18:15 CDT

Original text of this message

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