测量共享服务器的性能
• 测量共享服务器配置的性能可用到下面一些性能视图:
Ø V$SHARED_SERVER 共享服务器进程的详细统计,包括每个进程的空闲和繁忙时间;
Ø V$QUEUE 包含请求队列和响应队列的信息;
Ø V$SHARED_SERVER_MONITOR 关于共享服务器进程的合计信息,包含经由PMON启动和终止的共享服务器进程数,共享服务器进程的高水位,并发会话的最大数量,虚抑电路的最大数量;
Ø V$DISPATCHER 调度进程的详细统计,包括每个进程的空闲和繁忙时间;
Ø V$DISPATCHER_RATE 包含调度进程服务的历史和实时的统计;
Ø V$CIRCUIT 包含连接路径(用户进程和调度进程,共享服务器进程的关系)的统计,
• 测量共享服务器进程的性能
Ø 共享服务器进程的忙百比例:
Select Name,
Decode(Busy + Idle, 0, 0, Round((Busy / (Busy + Idle)) * 100, 4)) "busy_rate"
From V$shared_Server
Where Status != 'QUIT';
Ø 用户请求在请求队列中的平均等待时间(百分之一秒)
Select Decode(Totalq,
0,
'TOTALQ IS ZERO',
Round(Sum(Wait) / Sum(Totalq), 4)) "AVG SHARED_SERVER WAIT"
From V$queue
Where Type = 'COMMON'
Group By Totalq;
Ø 当上面的数值很大或者不断上升时需要考虑增加SHARED_SERVERS的值;
• 测量调度进程的性能
Ø 调度时程的忙百分比(当这个比例超过50时,需要增加DISPATCHERS 的值):
Select Name "Dispatcher",
Network,
(Round(Sum(Busy) / (Sum(Busy) + Sum(Idle)), 4)) * 100 "Busy_Rate"
From V$dispatcher
Group By Name, Network;
Ø 用户请求等待调度进程调度的平均时间(百分之一秒)
Select Decode(Totalq,
0,
'TOTALQ IS ZERO',
Round(Sum(Wait) / Sum(Totalq), 4)) "AVG DISPATCHER WAIT"
From V$dispatcher d, V$queue q
Where d.Paddr = q.Paddr
And q.Type = 'DISPATCHER'
Group By Totalq;
Ø 调度进程服务的连接数量(当前,历史最高以及差异)
Select Name,
Cur_In_Connect_Rate,
Max_In_Connect_Rate,
Max_In_Connect_Rate - Cur_In_Connect_Rate "VARIANCE"
From V$dispatcher_Rate;
• 查询共享服务器环境下的累积活动:
Select * From V$shared_Server_Monitor;
• 查询用户进程,调度进程和共享服务器进程间的对应关系:
Select s.Username, d.Name "DISPATCHER", Ss.Name "SHARED_SERVER"
From V$circuit c, V$session s, V$dispatcher d, V$shared_Server Ss
Where c.Saddr = s.Saddr
And c.Dispatcher = d.Paddr
And c.Server = Ss.Paddr;