For more information, refer to the attached document - "MTP Introduction.rtf'.
In order to maximize performance using MTP, the target computer must have several CPU's. In a single CPU computer, the scheduler will just give time-slices to each thread using up a lot of overhead when it switches. In single and dual CPU computer it is possible that MTP may be slower than STP.
Even if you have many CPU's, if there is a bottleneck in Oracle, MTP will be slow. The database must be tuned for less I/O contention than with STP.
If all the messages are in one subqueue, you won't see any performance gains. The ideal mix for MTP would be many large transactions that are distributed over many subqueues.
Parameters that affect the performance of MTP
---------------------------------------------------------------------------
SP_SHS_SHMSIZE - Controls the Shared memory statistics size for process statistics in sp_ctrl. Typical values when running in MTP mode are 64MB and above.
SP_OPO_DELAY_TIME - Determines if the sql thread is blocked while executing the oexn function. Default is 5 seconds
SP_OPO_IDLE_LOGOUT - amount of time after commit to set the thread in idle state. Default is 60 seconds. When a thread has committed and SP_OPO_IDLE_LOGOUT seconds has elapsed, the main thread will destroy the thread
SP_OPO_MAX_CDA - max number of cursors that each session can open. Default is 50
SP_OPO_MAX_QUEUE_SIZE - This adjusts the maximum size of the sql thread's waiting queue. The default is 100
SP_OPO_PARSE_TIMEOUT - max amount of time allowed for parsing a sql statement. Default is 100 msec
SP_OPO_READRELEASE_INTERVAL - number of messages to be processed by each thread before it is allowed to readrelease. Default is 1000
SP_OPO_THREADS_MAX - max number of threads. Default is 64. Range is 4 to 64.
Non-SharePlex configurables
The amount of dynamic memory may need to be increased (this is the data parameter set with ulimit).
Under MTP the number of connections to Oracle may increase Shareplex requirements for Oracle PROCESSES and SESSIONS setting: The minimum requirement for MTP (Multithread Post) is to set Oracle's PROCESSES and SESSIONS settings to (SP_OPO_THREADS_MAX + one).
Starting with SharePlex 6.x, the single-threaded Post is deprecated. So all references about switching from single-threaded and multi-threaded Post and vice versa will not be applicable in current versions as Post only runs in multi-threaded mode.