Performance Testing and OBIEE

advertisement
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

It’s never too late
 “You’ll never catch all your problems in pre-
production testing. That’s 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
Do it right
Timebox!
Evaluate design /
config options
Redefine
test
Measure
Don’t “fudge it”
Analyse
Do more testing
Review
Do more testing
Implement
Define
Measure
Analyse
Review
Implement

Define – what are you going to test
•
•
•
•
•

Aim of the test
Scope
Assumptions
Specifics
Data, environment, etc
•E.g. :
•Check that the system performs
•Baseline performance
•Prove system capacity
•Validate system design
Build – how are you going to test it
 OBIEE specific
Define
Measure
Analyse
Review
Implement
More
Fewer
components
components
= more
= easier
complex
to manage
= more=variables
more precise
= larger
= more
margin
efficient
of error
Define
Measure
Analyse
Review
Implement
Report /
Dashboard
Rendered
report
Presentation
Services
Data set
Logical SQL
BI Server
Physical SQL
statement(s)
Data set(s)
Excludes App/Web server & presentation
services plug-in
Database
Define
Measure
Analyse
Review
Implement
User &
Stopwatch
Load Testing tool
(eg. LoadRunner,
OATS)
Presentation
Services
nqcmd
LSQL
BI Server
Physical
SQL
SQL Client
Physical
SQL
Database
Define
Measure
Analyse
Review
Implement
nqcmd
LSQL
BI Server
Physical
SQL
Database
Define
Measure
Analyse
Review
Implement
Usage Tracking
or NQQuery.log
Test
script
Logical
SQL
Logical
SQL
Logical
SQL
nqcmd
BI
Server
Data
Define
Measure
Analyse
Review
Test
script
Test
script
nqcmd
Test
script
nqcmd
nqcmd
Test
script
Logical
SQL
Master test script
Implement
nqcmd
BI
Server
Data
Define
Measure
Analyse
Review
Implement

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
Enterprise
Manager
(Oracle)
Apache log
Web Server
OAS log
App Server
Analytics
log
Presentation
Services plug-in
PerfMon
(Windows)
Server metrics
e.g. : IO, CPU, Memory
sawserver.log
Presentation
Services
PerfMon
(windows
only)
NQServer.log
Usage
Tracking
NQQuery.log
Oracle OS
Watcher
(unix)
Enterprise
Manager
ASH, AWR,
SQL Monitor
BI Server
systems
management
Database
jConsole etc
Enterprise
Manager
BI Management Pack
Presentation
services
Define
Measure
Analyse
Review
Implement
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
1
Average
(mean)
1
3.4
Response time
91
32
2
102
23
13
29
3
10
50th percentile
(Median)
2
90th percentile
9.1
Define
Measure
Analyse
Review
Implement
Dashboard
Requests
Logical SQL
• ORA_HASH(QUERY_TEXT)
Physical SQL
• SQL IDs
Execution plan • Execution plan hash id
Define
Measure
Analyse
Review
Implement
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
Do it right
Measure
Evaluate design /
config options
Analyse
Timebox!
Review
Implement
Don’t “fudge it”
Define
Measure
Continue
testing
Redefine
test
Analyse
Review
Implement
Implement
Define
Measure
Analyse
Review
Implement
Define
Measure
Analyse
Review
Implement

You won’t get your testing right first time
 There’s no shame in that
 Don’t cook the books
▪ Better to redefine your test than invalidate its results

Stick to the methodology
 Don’t move the goalposts
 Very tempting to pick off the “low-hanging fruit”
▪ If you do, make sure you don’t get indigestion…

Timebox

Test your implementation!
Define
Do it right
Don’t “fudge it”
Measure
Evaluate design /
config options
Redefine
test
Analyse
Do more testing
Review
Do more testing
Implement
robin@moffatt.me
·
http://rnm1978.wordpress.com
·
http://twitter.com/rnm1978
Download