RE: shared server configuration

From: Goulet, Richard <Richard.Goulet_at_parexel.com>
Date: Thu, 21 Oct 2010 12:08:49 -0400
Message-ID: <6B0D50B70F12BD41B5A67F14F5AA887F0B252C66_at_us-bos-mx022.na.pxl.int>



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_at_freelists.org
[mailto:oracle-l-bounce_at_freelists.org] On Behalf Of Yong Huang Sent: Thursday, October 21, 2010 10:30 AM To: maureen.english_at_alaska.edu
Cc: oracle-l_at_freelists.org
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       

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


--
http://www.freelists.org/webpage/oracle-l
Received on Thu Oct 21 2010 - 11:08:49 CDT

Original text of this message