Re: How do you set your dispatcher and server process parameters?

From: Brian M. Biggs <bbiggs_at_cincom.com>
Date: 1996/01/11
Message-ID: <30F51928.317C_at_cincom.com>#1/1


Cherie Machler wrote:
>
> A section of a book I read about multi-threaded servers recommends
> that certain dispatcher and server process parameters be set
> "high" or "low" to allow for potential tuning. High and low are
> relative terms. Is high x + 10? Or x + 50? If so, what is x?
>
> Is low y - 5 or y - 10? If so, what is y?
>
> How do you set the following variables when you're setting up
> a multi-threaded server?
>
> MTS_MAX_DISPATCHER
> MTS_SERVERS
> MTS_MAX_SERVERS
On our system, which is currently a low usage system, we set MTS_MAX_DISPATCHERS and MTS_MAX_SERVERS to 10, which I believe are just the defaults. MTS_SERVERS is set to 1, but should be higher if you have a busy system.

You then need to monitor your MTS statistics to see if things are operating efficiently or not. Here is a script I use to check things out. The first two queries show information about each dispatcher and dispatchers in each protocol, respectively. The last query shows information on each shared server.

I've not had much opportunity to interpret these results in a real system. But I think what you want to look for is a high busy rate on shared servers, indicating you may need more servers. And a high average wait per response on the dispatchers, indicating you need more dispatchers for that protocol.

Hope this all helps.

Brian


  • File : MTS.SQL
  • Purpose : Shows contention statistics for the multi-threaded server
  • Params : None.
  • Run As : SYS, SYSTEM or DBA account

SET PAGESIZE 999
SET FEEDBACK OFF

COLUMN network       HEADING "PROTOCOL"        FORMAT A8
COLUMN status                                  FORMAT A10
COLUMN accept                                  FORMAT A6
COLUMN idle          HEADING "IDLE|(sec)"      FORMAT 9,999,990.00 JUSTIFY LEFT
COLUMN busy          HEADING "BUSY|(sec)"      FORMAT 9,999,990.00 JUSTIFY LEFT
COLUMN busy_rate     HEADING "Busy Rate|(%)"   FORMAT 990.00       JUSTIFY LEFT

COLUMN connections HEADING "CONNECTIONS|(cur/total)" FORMAT A11 COLUMN avg_wait_time HEADING "Avg Wait Per Resp|(hundredths of secs)" FORMAT 990.00

PROMPT
PROMPT MTS Dispatcher Statistics

SELECT name, network, status, accept, owned || '/' || created AS connections,

       (SUM(busy) / (SUM(busy) + SUM(idle))) * 100 AS busy_rate FROM v$dispatcher
GROUP BY name, network, status, accept, owned, created /

SELECT network,

       DECODE(SUM(totalq), 0, 'No Response', SUM(wait) / SUM(totalq))
               AS avg_wait_time

FROM v$queue q, v$dispatcher d
WHERE q.type = 'DISPATCHER' AND q.paddr = d.paddr GROUP BY network
/
  • Begin Shared Server Statistics Section
COLUMN status                                  FORMAT A16
COLUMN busy_pct      HEADING "BUSY|(%)"        FORMAT 990.00 JUSTIFY LEFT

PROMPT
PROMPT MTS Shared Server Statistics

SELECT name, status, circuit, idle / 100 AS idle, busy / 100 AS busy, requests,

       (busy / (busy + idle)) * 100 AS busy_pct FROM v$shared_server
/

CLEAR COLUMNS
CLEAR BREAKS
SET FEEDBACK ON
SET PAGESIZE 14

-- 
Brian M. Biggs                             mailto:bbiggs_at_cincom.com
Cincom Systems, Inc.                       voice: (513) 677-7661
http://www.cincom.com/
Received on Thu Jan 11 1996 - 00:00:00 CET

Original text of this message