MTS Summary
Date: Fri, 3 Jun 1994 18:17:36 GMT
Message-ID: <1994Jun3.181736.26894_at_rossinc.com>
The following is the promised summary of information on the general usefuleness of the Oracle7 MTS (Multi-threaded Server).
I asked:
>I am looking for information on real-life benefits and drawbacks of
>using Oracle7 in multi-threaded mode as opposed to dedicated process.
>
>Oracle says that it is more memory-efficient, but won't say by how much.
>They also won't say why you would not want to use it.
>
>Moreover, Oracle says that in order to use it, the client programs have
>to connect via SQL*Net. It is not clear to me if the pipe driver is
>covered by this or not.
The summary of (the somewhat contradictory) answers follows.
One Oracle employee, speaking unofficially, sez:
"The multithreaded server configuration can be a lot more memory efficient simply because you have fewer processes running."
He goes on to say, repeating the manual, that the MTS should be essentially always used, except when a process is going to have a server all to itself for some time, as in a batch job.
Further:
"There is an IPC adapter built-in which will allow you to connect to
multithreaded servers even if you don't have SQL*Net. This IPC adapter is
functionally the same as the pipe driver."
Another source flatly contradicts:
"Using MTS elimimates 90% of the shadow processes which consume about 50K each of memory. The memory savings are trivial, the real benefit is only if you want to get more processes on a UNIX box. If you want to run 800 concurrent users, then use MTS."
and expands to say that:
"According to [ respected Oracle performance authority ], Oracle Performance studies Group in the UK, most UNIX operating systems bottleneck at about 950 processes due to single threaded code in the kernel.
If you have 400 users with 400 shadow processes, this is 800 processes. Add to that a hundred or so daemons, etc and you have reached his stated limit."
Finally an answer that deserves to show up in full:
"MTS (MultiThreaded Server) is not at all more efficient then V1 architecture because much more inter-process communication is involved then with V1. (proces->listener->dispatcher->server).ORACLE has recently sent a message advising VARs against using MTS until version 2.1 (RDBMS 7.1).The main purpose of MTS is not to save resources,but to enable inter-protocol interchange (which is not yet in production).
"Supposed resource saving are expected because MTS eliminates shadow processes entirely and deals with fixed set of server processes instead.Smaller the number of processes,less task-switching,les memory,les CPU used,etc..True? Not entirely.This way of inter process communication starts less processes then V1 but puts much heavier load on system's IPC resources.When talking about memory,V7 so much more of a memory pig then V6 that I find it indecent to even mention savings in memory.
Thanks to all the folks who responded!
-djg Received on Fri Jun 03 1994 - 20:17:36 CEST