wrkld char ppt16 - northern california oracle users group (nocoug)

22
1 11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 1 Oracle Workload Characterization Andy Rivenes ([email protected]) AppsDBA Consulting 11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 2 My Background Started as an IBM systems programmer in 1984. Became an Oracle DBA in 1992. Worked for Oracle Corporation for a couple of years. Founded AppsDBA Consulting in 1998. Full time employment at Lawrence Livermore National Laboratory.

Upload: others

Post on 03-Feb-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Wrkld Char ppt16 - Northern California Oracle Users Group (NoCOUG)

1

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 1

Oracle Workload Characterization

Andy Rivenes ([email protected])

AppsDBA Consulting

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 2

My Background

• Started as an IBM systems programmer in 1984.

• Became an Oracle DBA in 1992.

• Worked for Oracle Corporation for a couple of years.

• Founded AppsDBA Consulting in 1998.

• Full time employment at Lawrence Livermore National Laboratory.

Page 2: Wrkld Char ppt16 - Northern California Oracle Users Group (NoCOUG)

2

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 3

Introduction

• This is part 2 of Oracle Workload Management.

• Part 1 was Oracle Workload Measurement.

– See appsdba.com – Oracle Workload Measurement

– Presented at 2005 Hotsos Symposium and the May 2005 NoCOUG meeting.

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 4

The Business Major Approach

• Not meant to offend any business majors, but all I was initially looking for was the ability to create a picture like this:

Batch

Forms Users

Self Service

adhoc Users

Page 3: Wrkld Char ppt16 - Northern California Oracle Users Group (NoCOUG)

3

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 5

Scope Creep

• Of course nothing is really that simple.

• So, had to create a process.

• Had to be repeatable.

• How accurate is it really?

• Ultimately had to build a tool.

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 6

Workload Characterization

Menasce and Almeida[1] define workload characterization as:

“Process of partitioning the global workload of a computer system into smaller sets or workload components composed of transactions or requests having similar characteristics, and assigning values that represent their typical resource demand and intensity.”

Page 4: Wrkld Char ppt16 - Northern California Oracle Users Group (NoCOUG)

4

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 7

Levels of Workload

The Computer’s View Physical Level

The Programmer’s View Logical Level

The User’s View Functional Level

Source: An article titled “An Introduction to Workload Characterization”[2], Ron Lee credits “Dr. Domenico Farrari, a professor in the Computer Science Division of the University of California at Berkeley” with the following concept of levels of workload characterization

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 8

My Definition of Workload Characterization

Workload characterization is the process of identifying classes of workload, measuring those classes and then identifying their impact to the business. The goal is to understand the impact of those classes on database workload and to enable the organization to better schedule its business processes.

Page 5: Wrkld Char ppt16 - Northern California Oracle Users Group (NoCOUG)

5

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 9

The Goal

• So, if we can figure out how to measure the workload classes that we have defined, we can create this picture:

Workload Characterization

Batch

Forms Users

Self Service

adhoc Users

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 10

Workload Management

• Workload Measurement

• Workload Characterization

• Capacity Planning

• Workload Reduction

Page 6: Wrkld Char ppt16 - Northern California Oracle Users Group (NoCOUG)

6

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 11

Workload MeasurementCPU Utilization Trend

Database CPU Utilization

0

10

20

30

40

50

60

70

80

8/17/2004

8/19/2004

8/21/2004

8/23/2004

8/25/2004

8/27/2004

8/29/2004

8/31/2004

9/2/2004

9/4/2004

9/6/2004

9/8/2004

9/10/2004

9/12/2004

9/14/2004

9/16/2004

Dates Observed

Avera

ge U

tilization

DB CPU Avg(%)

OS Usr CPU Avg(%)

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 12

Workload MeasurementCPU Utilization

CPU Utilization

0

5000

10000

15000

20000

25000

30000

Interval Date

6/23/2004 0:50

6/23/2004 2:51

6/23/2004 4:50

6/23/2004 6:50

6/23/2004 8:50

6/23/2004 10:50

6/23/2004 12:50

6/23/2004 14:50

6/23/2004 16:50

6/23/2004 18:51

6/23/2004 20:50

6/23/2004 22:51

Date

Tim

e (sec)

Other CPU

Recursive CPU

Parse CPU

Page 7: Wrkld Char ppt16 - Northern California Oracle Users Group (NoCOUG)

7

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 13

Workload Classes

• Classifying workload at the functional level let’s us easily understand the impact those classes have on database workload.

• Typically it’s pretty easy to classify workload. We do it all the time.

• For example, in an Oracle Applications database we know we will have batch, forms users, self service web users and probably adhoc users as well.

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 14

Oracle Helps Us!

• Oracle has helped us by creating the framework to classify workload:

– Services

– Auditing and triggers

– Client Identification (dbms_session.set_identifier)

– dbms_application_info

• Client Info (set_client_info)

• Module Info (set_module)

• Action Info (set_action)

Page 8: Wrkld Char ppt16 - Northern California Oracle Users Group (NoCOUG)

8

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 15

Services Are The Future

• Services are built into the database– OEM/Grid Control

– RAC

– Resource Manager

– dbms_service

– Oracle Networking

• They’re easy to implement.

• They are really easy to implement.

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 16

10g Really Adds Services Support

• In Oracle 10g the Service Name column is added to the view v$session

• OEM Grid Control is close to tracking workload information based on services

• RAC incorporates services

Page 9: Wrkld Char ppt16 - Northern California Oracle Users Group (NoCOUG)

9

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 17

Services In v$session

User Oracle Client Client Client Service

Name SID Serial# Identifier Machine Info Module Action Name

------------- ------- ------- ---------- ------- ---------- --------- --------- -------------

AUTHENSVR_MGR 172 10628 nspws-2 SYS$USERS

COLLAB_MGR 173 7518 nspws-1 SYS$USERS

COLLAB_MGR 175 343 nspws-2 SYS$USERS

SYSTEM 177 5050 nspdb-1 SQL*Plus SYS$USERS

AUTHENSVR_MGR 180 9876 nspws-1 SYS$USERS

COLLAB_MGR 182 612 nspws-1 SYS$USERS

AUTHENSVR_MGR 183 228 nspws-1 SYS$USERS

COLLAB_MGR 187 7044 nspws-2 SYS$USERS

COLLAB_MGR 188 669 nspws-1 SYS$USERS

USER1 189 11281 USER-PC SYS$USERS

COLLAB_MGR 191 5491 nspws-2 SYS$USERS

COLLAB_MGR 193 6561 nspws-2 SYS$USERS

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 18

Grid Control – 10g R2

• Straight from the Oracle Enterprise Manager Concepts, 10gR2 Guide:– A "service" is defined as an entity that provides a useful function to its users.

– A "system" is a logical grouping of targets that collectively hosts one or more services.

– Services are measured in terms of availability and performance.

Page 10: Wrkld Char ppt16 - Northern California Oracle Users Group (NoCOUG)

10

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 19

Grid Control System View

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 20

Grid Control Service Dashboard

Page 11: Wrkld Char ppt16 - Northern California Oracle Users Group (NoCOUG)

11

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 21

Grid Control – I think it’s almost there

• I believe the infrastructure is there

• The ability to create tests, use custom scripts, and define your own services and systems are all available.

• Oracle just has to add the ability to track service level resource usage for a system

• It would be nice to also allow an aggregation by system

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 22

Auditing and Triggers

• The “audit sessions” feature has been around since Oracle7.

• Logoff triggers

• Interval based snapshots

• Application level auditing

Page 12: Wrkld Char ppt16 - Northern California Oracle Users Group (NoCOUG)

12

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 23

Client Identification

• dbms_session.set_identifier

• It is meant to allow individual application user identification when using shared connections.

• It is exposed in the field “client identifier” in the v$session view.

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 24

Application Information

• The dbms_application_info package

– set_client_info

– set_module

– set_action

Page 13: Wrkld Char ppt16 - Northern California Oracle Users Group (NoCOUG)

13

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 25

v$session Fields

v$session view:

User Oracle Client Client Client

Name SID Serial# Identifier Machine Info Module Action

-------- ------- ------- ---------- --------------- --------------- --------- -------

PERFSTAT 164 15069 Rivenes1 appsdba DBAMON module step2

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 26

Tool Support

• SQL*Plus provides the ability to set the module field with the “set appinfo” command

• JDBC End-To-End Metrics and Dynamic Monitoring Services (DMS) provide “free” access to instrumentation calls.

Page 14: Wrkld Char ppt16 - Northern California Oracle Users Group (NoCOUG)

14

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 27

SQL*Plus appinfo

SQL> show appinfo

appinfo is OFF and set to "SQL*Plus"

SQL> set appinfo on

SQL> show appinfo

appinfo is ON and set to "SQL*Plus"

SQL> set appinfo 'AppsDBA Example'

SQL> variable mod varchar2(30)

SQL> variable act varchar2(30)

SQL> execute dbms_application_info.read_module(:mod,:act);

PL/SQL procedure successfully completed.

SQL> print mod

MOD

--------------------------------

AppsDBA Example

SQL> print act

ACT

--------------------------------

SQL> show appinfo

appinfo is ON and set to "AppsDBA Example"

SQL> set appinfo off

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 28

JDBC End-To-End Metrics

// Register application

metrics = new

String[OracleConnection.END_TO_END_STATE_INDEX_MAX];

metrics[OracleConnection.END_TO_END_MODULE_INDEX] = "AppInfo10g";

metrics[OracleConnection.END_TO_END_ACTION_INDEX] = "Main";

conn.setEndToEndMetrics(metrics, (short) 0);

String[] etem = conn.getEndToEndMetrics();

System.out.println("Module:

"+etem[OracleConnection.END_TO_END_MODULE_INDEX]);

System.out.println("Action:

"+etem[OracleConnection.END_TO_END_ACTION_INDEX]);

Page 15: Wrkld Char ppt16 - Northern California Oracle Users Group (NoCOUG)

15

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 29

Collection

• Collecting workload information is highly dependent on the type of application.

• It is important to realize that we’re only after aggregates of our classes. We don’t need perfection.

• Usually several methods of collection are required.

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 30

Collection Guidelines

• Connections that span collection intervals should use interval snapshots

• Connections that last less than a collection interval should use some form of logoff based trigger.

Page 16: Wrkld Char ppt16 - Northern California Oracle Users Group (NoCOUG)

16

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 31

Classifying Workload

• Identify the workload classes

• Classify the workload (i.e. how to capture)

• Measure the workload

• Interpret the results

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 32

Identify Workload Classes

• Identify workload classes for the system being diagnosed.

• In general all systems will be different.

• However, there are some classes that will be common to similar types of applications.

• The script usercat.sql will produce output that can be used to help identify workload classes.

Page 17: Wrkld Char ppt16 - Northern California Oracle Users Group (NoCOUG)

17

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 33

Output – usercat.sql

User Client Client Logical Physical

Name OS User Machine Program Module Action Reads Reads

------- -------- --------------- --------------- --------- --------- --------------- ---------------

APPS appsrvr app2 FNDSCSGN US PO Inq 3,101 26

uiry

APPS appsrvr app2 httpd@db- httpd@db- 18,134 673

app2 (TNS app2 (TNS

V1-V3) V1-V3)

APPS appsrvr app2 JDBC Thin ap.oie.se 22999 34,343 1,919

Client rver.Home

PageAM:R

EXTAPP winapp DOM\APP-PRD Mvbars32.exe Mvbars32. 1,298,339 119,857

exe

APPS appsrvr app3 OEXOEORD FRM:US OM 1,068,797 26,821

Inquiry

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 34

Classify

Class Class Column Column

Description Type Name Value-------------------------- ---------- ---------------- --------------------

Background processes INTERVAL TYPE BACKGROUND

APP User INTERVAL USERNAME APP_DATA

Interval Totals INTERVAL USERNAME

LOADING_META_DATA User INTERVAL USERNAME LOADING_META_DATA

SQL*Plus Connections INTERVAL PROGRAM SQLPLUS

STATS User INTERVAL USERNAME STATS

Page 18: Wrkld Char ppt16 - Northern California Oracle Users Group (NoCOUG)

18

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 35

Workload Class Measurements

Count Logical Physical CPU TimeRun Date Intvl Description Total Reads Reads (min.)

---------- ----- ------------------------ -------- ------------- ------------- ---------01/26/2006 00:10 Interval Totals 512 80,887,158 2,350,458 19.20

OA Forms Users 61 34,425,797 113,017 5.63

Ext App 41 1,195,564 153,933 1.77

Custom Users 11 236,176 186,101 0.69

Background processes 11 30,366 24,955 0.00

Interface App 24 13,198 3,321 0.05

OA Self Service 9 22 0 0.00

Concurrent manager jobs 11 0 1,898,109 0.08

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 36

Interpretation

• Interpretation leads to understanding the overall impact of each workload class on the total workload.

• Based on the information available a pie chart or some other visual tool can be created.

• Decisions can then be made about work shift allocations or redistribution, and about possibly re-scheduling work to non-critical time periods.

Page 19: Wrkld Char ppt16 - Northern California Oracle Users Group (NoCOUG)

19

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 37

This Could Be Your End Result

Workload Characterization

Batch

Forms Users

Self Service

adhoc Users

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 38

A Real Example(Run Time)

Concurrent Manager

OA Forms

External Users

External App 1

Background

Self Service

External App 2

External App 3

Page 20: Wrkld Char ppt16 - Northern California Oracle Users Group (NoCOUG)

20

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 39

Workmon Utility

• Available at appsdba.com

• May help you get started

• A set of UNIX and SQL scripts to track workload in an Oracle database.

• May provide the “custom” scripts needed to feed a future version of Grid Control.

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 40

Conclusion

• Workload Characterization

– Identify

– Classify

– Measure

– Analyze

• Use as another tool when managing workload

Page 21: Wrkld Char ppt16 - Northern California Oracle Users Group (NoCOUG)

21

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 41

Questions?

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 42

References

• [1] D. A. Menascé, V. A. F. Almeida, “Scaling for E-Business, Technologies, Models, Performance, and Capacity Planning", Prentice Hall, Upper Saddle River, New Jersey, 2000.

• [2] R. Lee, “An Introduction to Workload Characterization”, Novell, http://support.novell.com/techcenter/articles/ana19910503.html, 1991.

• Oracle Enterprise Manager Concepts, 10gR2 Guide

Page 22: Wrkld Char ppt16 - Northern California Oracle Users Group (NoCOUG)

22

11/1/2006 Copyright © 2006, AppsDBA Consulting, All Rights Reserved. Slide 43

Thank You

This presentation and more information is available at

www.appsdba.com