Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Users per MTS Ora 9
"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