You are on page 1of 35

Robin Moffatt, WM Morrisons plc http://rnm1978.wordpress.

com
Oracle BI specialist at Morrisons plc

Big IT development programme at its early
stages implementing OBIEE, OBIA, ORDM, all
on Oracle 11g & HP-UX


A Performance Tuning Methodology

OBIEE techie stuff

Learn from my mistakes!
Response times
Report
ETL batch
OLTP transaction

System impact
Resource usage
Scalability
Check that your system performs
Are the users going to be happy?
Baseline
How fast is fast?
How slow is slow?
Validate system design
Do it right, first time

Capacity planning

Its never too late
Youll never catch all your problems in pre-
production testing. Thats why you need a reliable
and efficient method for solving the problems that
leak through your pre-production testing
processes.


Cary Millsap - Thinking Clearly About Performance
Because it makes you better at your job

At the very least, your performance test plan will
make you a more competent diagnostician (and
clearer thinker) when it comes time to fix the
performance problems that will inevitably occur
during production operation.

Cary Millsap - Thinking Clearly About Performance
Quantifying response times
System impact

User expectations
Problem diagnosis
Design validation
Define
Measure
Analyse
Review
Implement
Timebox!
Evaluate design /
config options
Do it right
Dont fudge it
Do more testing
Redefine
test
Do more testing
Define what are you going to test
Aim of the test
Scope
Assumptions
Specifics
Data, environment, etc

Build how are you going to test it
OBIEE specific

Define
Measure
Analyse
Review
Implement
E.g. :
Check that the system performs
Baseline performance
Prove system capacity
Validate system design
More components = more complex = more variables = larger margin of error Fewer components = easier to manage = more precise = more efficient
Define
Measure
Analyse
Review
Implement
Database
Presentation
Services
BI Server
Report /
Dashboard
Logical SQL
Physical SQL
statement(s)
Data set(s)
Data set
Rendered
report
Excludes App/Web server & presentation
services plug-in
Define
Measure
Analyse
Review
Implement

Database
Presentation
Services
BI Server
nqcmd
SQL Client
Physical
SQL
LSQL
Physical
SQL
User &
Stopwatch
Load Testing tool
(eg. LoadRunner,
OATS)
Define
Measure
Analyse
Review
Implement

Database
BI Server
nqcmd
Physical
SQL
LSQL
Define
Measure
Analyse
Review
Implement

Define
Measure
Analyse
Review
Implement
Usage Tracking
or NQQuery.log
T
e
s
t

s
c
r
i
p
t

BI
Server
Data
nqcmd
Logical
SQL
Logical
SQL Logical
SQL

M
a
s
t
e
r

t
e
s
t

s
c
r
i
p
t

Define
Measure
Analyse
Review
Implement
T
e
s
t

s
c
r
i
p
t

BI
Server
Data
nqcmd
Logical
SQL
T
e
s
t

s
c
r
i
p
t

nqcmd
T
e
s
t

s
c
r
i
p
t

nqcmd
T
e
s
t

s
c
r
i
p
t

nqcmd
Simulates user interaction HTTP traffic

Powerful, but can be difficult to set up
Ajax complicates things

Do you really need to use it?

Tools
Fiddler2
FireBug

Reference:
My Oracle Support Doc ID 496417.1
http://rnm1978.wordpress.com/category/loadrunner

Define
Measure
Analyse
Review
Implement
Be very clear what the aim of your test is
You probably need to define multiple tests
Different points on the OBIEE stack to
interface
Pick the most appropriate one
Write everything down!

Define
Measure
Analyse
Review
Implement
Define
Measure
Analyse
Review
Implement
Database
Presentation
Services
BI Server
Presentation
Services plug-in
App Server
Web Server
Apache log
OAS log
Analytics
log
sawserver.log
NQServer.log
NQQuery.log
systems
management
Enterprise
Manager
BI Management Pack
Usage
Tracking
PerfMon
(windows
only)
jConsole etc
Presentation
services
Enterprise
Manager
ASH, AWR,
SQL Monitor
Define
Measure
Analyse
Review
Implement
Server metrics
e.g. : IO, CPU, Memory
PerfMon
(Windows)
Oracle OS
Watcher
(unix)
Enterprise
Manager
(Oracle)
Define
Measure
Analyse
Review
Implement
Lots of different ways to measure

Build measurement into your test plan
Automate where possible
Easier
Less error
Define
Measure
Analyse
Review
Implement
Define
Measure
Analyse
Review
Implement
Define
Measure
Analyse
Review
Implement

Define
Measure
Analyse
Review
Implement
Response time
1
1
9
3
2
10
2
1
2
3
Response time
1
1
1
2
2
2
3
3
9
10
Average
(mean)
3.4
50
th
percentile
(Median)
2
90
th
percentile
9.1
Define
Measure
Analyse
Review
Implement
Define
Measure
Analyse
Review
Implement
Dashboard
Requests
ORA_HASH(QUERY_TEXT) Logical SQL
SQL IDs Physical SQL
Execution plan hash id Execution plan

S_NQ_ACCT
START_TS
ROW_COUNT
TOTAL_TIME_SEC
NUM_DB_QUERY
QUERY_TEXT
QUERY_SRC_CD
SAW_SRC_PATH
SAW_DASHBOARD
OBIEE_REPLAY_STATEMENTS
qt_ora_hash
query_text
saw_path
dashboard

OBIEE_REPLAY_STATS
testid
testenv
qt_ora_hash
start_ts
response_time
row_count
db_query_cnt
Define
Measure
Analyse
Review
Implement
Define
Measure
Analyse
Review
Implement
Evaluate design /
config options
Do it right
Dont fudge it
Timebox!
Define
Measure
Analyse
Review
Implement
Redefine
test
Continue
testing
Implement
Define
Measure
Analyse
Review
Implement

Define
Measure
Analyse
Review
Implement
You wont get your testing right first time
Theres no shame in that
Dont cook the books
Better to redefine your test than invalidate its results

Stick to the methodology
Dont move the goalposts
Very tempting to pick off the low-hanging fruit
If you do, make sure you dont get indigestion

Timebox

Test your implementation!


Define
Measure
Analyse
Review
Implement
Evaluate design /
config options
Do it right
Dont fudge it
Do more testing
Redefine
test
Do more testing
robin@moffatt.me http://rnm1978.wordpress.com http://twitter.com/rnm1978

You might also like