RE: shared server configuration

  • From: "Goulet, Richard" <Richard.Goulet@xxxxxxxxxxx>
  • To: <yong321@xxxxxxxxx>, <maureen.english@xxxxxxxxxx>
  • Date: Thu, 21 Oct 2010 12:08:49 -0400

Yong,

        I regret to say that I have not seen shared server sessions
consume more cpu that dedicated.  The reason is that the user places
their sql into the request queue for processing and then retrieves their
results from the result queue, both of which live in the shared pool.
Which is why when switching modes you should increase shared pool, and
consequently the session does not really switch contexts from the
dispatcher to the shared server.


Dick Goulet
Senior Oracle DBA


-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Yong Huang
Sent: Thursday, October 21, 2010 10:30 AM
To: maureen.english@xxxxxxxxxx
Cc: oracle-l@xxxxxxxxxxxxx
Subject: Re: shared server configuration

Hi Maureen,

Most likely you lower processes and possibly increase sessions when 
you go from dedicated to shared config. You can check v$resource_limit 
for process and session count of current and max values (max since 
instance startup). Dba_hist_resource_limit has history before the 
latest startup.

> I can see in v$session that
> there are many sessions with the same ospid...which makes sense,
> those are all using the same shared server process.

What column of v$session is it? V$session.process is client OS pid. 
V$process.spid is server process pid on the server. When the session 
is inactive (idle), its server process is a dispatcher and multiple 
sessions can use the same dispatcher. When the session is active, its 
server process is a shared server, which is dedicated to process this 
session's work till it's done; you can't have multiple active sessions 
using the same shared server.

> if we have 3000-5000 people hitting our application at the 
> same time, how will that affect the number of processes?

It's unlikely you'll have that many sessions active as seen by Oracle. 
If you have 100 truly active sessions, 100 shared servers are needed, 
or some sessions would have to wait.

By the way, Oracle running in shared server config may use slightly 
more CPU probably due to session constantly switching from a dispatcher 
to a shared server and switching back.

Yong Huang


      
--
//www.freelists.org/webpage/oracle-l


--
//www.freelists.org/webpage/oracle-l


Other related posts: