Oracle Closed World 2010: Graphing the AAS ala EM + doing some cool linear regression
-
Upload
karlarao -
Category
Technology
-
view
1.541 -
download
0
Transcript of Oracle Closed World 2010: Graphing the AAS ala EM + doing some cool linear regression
Oracle Closed World 2010: Graphing the AAS ala EM + doing
some cool linear regression
Who am I?
• Karl Arao, Oracle ACE, OCP‐DBA, RHCT• Solutions Architect / Principal Consultant @ SQL*Wizard
• Blog: http://karlarao.wordpress.com• Wiki: http://karlarao.tiddlyspot.com
DBA_HIST_* tables
My first close encounter
gc block lost
http://karlarao.wordpress.com/2009/06/07/diagnosing-and-resolving-gc-block-lost
AWR Scripts
Visualization
Can’t go back in time?
AAS – Average Active SessionsKyle Hailey: http://www.perfvision.com/ftp/emea_2010_may/02_AAS.ppt
Max CPU
Max CPU
AAS – the Golden Metric
AAS & CPU count as a yardstick for a possible performance problem (I suggest reading Kyle's
stuff about this):
if AAS < 1
‐‐
Database is not blocked
AAS ~= 0
‐‐
Database basically idle
‐‐
Problems are in the APP not DB
AAS < # of CPUs
‐‐
CPU available
‐‐
Database is probably not blocked
‐‐
Are any single sessions 100% active?
AAS > # of CPUs
‐‐
Could have performance problems
AAS >> # of CPUS
‐‐
There is a bottleneck
awr_topevents.sql
Textual trends
AAS throughout the AWR retention period!
http://karlarao.wordpress.com/2010/07/25/graphing-the-aas-with-perfsheet-a-la-enterprise-manager
Capacity Planning
awr_genwl.sql
http://karlarao.wordpress.com/2010/01/31/workload-characterization-using-dba_hist-tables-and-ksar
U = R / C
where aas > 1
Filter the data points• AAS range
aas > 1
• Per SNAP_ID or range of SNAP_IDsid in (336)where id >= 336 and id <= 340
• Oracle CPU Utilizationoracpupct > 50
• OS CPU Utilizationoscpupct > 50
• Workload periods
AND TO_CHAR(s0.END_INTERVAL_TIME,'D') >= 1 ‐‐
Day of week: 1=Sunday 7=SaturdayAND TO_CHAR(s0.END_INTERVAL_TIME,'D') <= 7AND TO_CHAR(s0.END_INTERVAL_TIME,'HH24MI') >= 0900 ‐‐
HourAND TO_CHAR(s0.END_INTERVAL_TIME,'HH24MI') <= 1800AND s0.END_INTERVAL_TIME >= TO_DATE('2010‐jan‐17 00:00:00','yyyy‐mon‐dd hh24:mi:ss') ‐‐
Data rangeAND s0.END_INTERVAL_TIME <= TO_DATE('2010‐aug‐22 23:59:59','yyyy‐mon‐dd hh24:mi:ss‘)
Straight line graph: Slope‐Intercept Form y = mx + b
AAS vs. CPU% utilizationhttp://karlarao.tiddlyspot.com/#r2project
“oracpupct”
column also has a good linear fit. Since the server’s load is CPU centric (see top r2 stats from .92 and above), why not use it?
AAS(y) against CPU% Utilization(x) will be more
meaningful/readable instead of “CPU used by this session”
AAS vs. CPU% utilizationhttp://karlarao.tiddlyspot.com/#r2project
Drilling down on the peak workload... with AAS of 10
AAS vs. CPU% utilizationhttp://karlarao.tiddlyspot.com/#r2project
Now on the low workload period... with AAS of 2.2
AAS vs. CPU% utilizationhttp://karlarao.tiddlyspot.com/#r2project
Conclusion
References and Tools• http://karlarao.wordpress.com
– http://karlarao.tiddlyspot.com/#%5B%5BStorage%20IOPS%2Ccapacity%2Cperformance
%2Ccost%5D%5D
– http://karlarao.tiddlyspot.com/#Statistics– http://karlarao.tiddlyspot.com/#OraclePerformance
• Tanel
Poder
@ http://blog.tanelpoder.com– http://www.tanelpoder.com/files/TPT_public.zip– http://www.tanelpoder.com/files/PerfSheet.zip– Neil Gunther
& Tanel
Poder
‐
Multidimensional Visualization of Oracle Performance
using Barry007 http://arxiv.org/pdf/0809.2532
• Kyle Hailey @ http://ashmasters.com
, http://www.perfvision.com• Craig Shallahamer
@ orapub.com– Introduction To Oracle Server Consolidationhttp://resources.orapub.com/product_p/server_consolidation_ppt.htm
• Husnu
Sensoy
@ husnusensoy.wordpress.com– Database Consolidation Best Practiceshttp://husnusensoy.files.wordpress.com/2010/05/database‐consolidation‐best‐
practices.pdf
• Andy Rivenes
@ http://www.appsdba.com/pubs.htm• Neeraj
Bhatia @ www.nioug.org/files/Linear_Regression.pdf
Contact me through: