+ All Categories
Home > Documents > Advanced Oracle DB tuning Performance can be defined in very different ways (OLTP versus DSS)...

Advanced Oracle DB tuning Performance can be defined in very different ways (OLTP versus DSS)...

Date post: 30-Mar-2015
Category:
Upload: mackenzie-tattersall
View: 215 times
Download: 2 times
Share this document with a friend
Popular Tags:
24
Advanced Oracle DB tuning • Performance can be defined in very different ways (OLTP versus DSS) • Specific goals and targets must be set => clear recognition of success • Factors include response time and throughput • Oracle specific tuning
Transcript
Page 1: Advanced Oracle DB tuning Performance can be defined in very different ways (OLTP versus DSS) Specific goals and targets must be set => clear recognition.

Advanced Oracle DB tuning

• Performance can be defined in very different ways (OLTP versus DSS)

• Specific goals and targets must be set => clear recognition of success

• Factors include response time and throughput

• Oracle specific tuning

Page 2: Advanced Oracle DB tuning Performance can be defined in very different ways (OLTP versus DSS) Specific goals and targets must be set => clear recognition.

Response time

• Sum of service time + wait time

• Processing strategy has key effect on response time– Eg: Sequential processing– In a queue, wait time for a job = sum of

service time of all previous jobs

• If queue gets longer parallel processing required

Page 3: Advanced Oracle DB tuning Performance can be defined in very different ways (OLTP versus DSS) Specific goals and targets must be set => clear recognition.

response time in Sequential and Parallel processing

time

jobs

Wait time

Service time

jobs

Page 4: Advanced Oracle DB tuning Performance can be defined in very different ways (OLTP versus DSS) Specific goals and targets must be set => clear recognition.

System Throughput

• Amount of work completed in a given time• Reduced service time = increased throughput• Increase in resources = reduced response time• Under load, contention increases…

– Service may remain the same– But queues get longer

• In practice, wait time raises exponentially– O/S scheduler– DB dispatcher

Wait time

contention

arbitration

Page 5: Advanced Oracle DB tuning Performance can be defined in very different ways (OLTP versus DSS) Specific goals and targets must be set => clear recognition.

Critical resources

• CPU, memory, I/O capacity, network broadband– Capacity (how many?)– Demand (how many?)– Wait time (how long?)– Consumption (how long?)

• Software issue as much as hardware issue– Quality of design / programming– Prioritise jobs Performance loss

demand

Resource sh

ift

Page 6: Advanced Oracle DB tuning Performance can be defined in very different ways (OLTP versus DSS) Specific goals and targets must be set => clear recognition.

Performance adjustments

• Reduce consumption (use fewer resources & reduce I/O per transac.)

• Demand (reschedule / redistribute work)

• Capacity (increase / relocate res. – eg: move to parallel proc, increase mem.)

Page 7: Advanced Oracle DB tuning Performance can be defined in very different ways (OLTP versus DSS) Specific goals and targets must be set => clear recognition.

Problems for DBAs

• Many performance parameters are set at design stage => limited scope to adjust

• Important targets set at outset => bottlenecks can be identified

• Administer trade-offs– More $$$– Else reschedule to limit contention

• Properly manage user expectations– Eg DB versus network problems

• Never sacrifice ability to recover data!

Page 8: Advanced Oracle DB tuning Performance can be defined in very different ways (OLTP versus DSS) Specific goals and targets must be set => clear recognition.

Performance tuning

• Always better pro-active =>DBA in development team

• On-going tasks minimised by good planning– Service time – marginal improvements only– Eg SOCRATE case study

• Oracle prioritised tuning steps for application dev.

Page 9: Advanced Oracle DB tuning Performance can be defined in very different ways (OLTP versus DSS) Specific goals and targets must be set => clear recognition.

Oracle tuning methodology

• Tune business rules• Tune data design• Tune application design• Tune logical structure• Tune database operations• Tune access paths• Tune memory allocation• Tune I/O and physical structure• Tune resource contention• Tune platform

Page 10: Advanced Oracle DB tuning Performance can be defined in very different ways (OLTP versus DSS) Specific goals and targets must be set => clear recognition.

Business rules

• Normally other direction, but sometime business rule changed for better perf.

• Also, IT deployment strategy– Distributed– Centralised

• Stick to high level analysis of req. => more freedom (!?)– Cheque printing versus direct deposit– Threshold value for automatic approuval

• More flexibility in design

Page 11: Advanced Oracle DB tuning Performance can be defined in very different ways (OLTP versus DSS) Specific goals and targets must be set => clear recognition.

Data Design

• Structure for data consistency AND performance

• Denormalisation– FAReports– Summary values

• Data “hot spot”

Page 12: Advanced Oracle DB tuning Performance can be defined in very different ways (OLTP versus DSS) Specific goals and targets must be set => clear recognition.

Application Design

• In view of DB

• In view of Oracle

• Data entry acceleration

+ Refer to business rules and notes on critical db operations

Page 13: Advanced Oracle DB tuning Performance can be defined in very different ways (OLTP versus DSS) Specific goals and targets must be set => clear recognition.

Logical DB structure

• Mostly indexing

• Also locking strategy

Page 14: Advanced Oracle DB tuning Performance can be defined in very different ways (OLTP versus DSS) Specific goals and targets must be set => clear recognition.

DB operations

• Post relational DBs – eg: oracle

• Extended SQL functions

• New DB functions

• See Oracle stats on query execution

• Also pl/sql server side programming better than application code

• Query optimiser may provide clues– Eg: Temporary index on non key attribute

Page 15: Advanced Oracle DB tuning Performance can be defined in very different ways (OLTP versus DSS) Specific goals and targets must be set => clear recognition.

Memory allocation

• Dynamic process in Oracle

• Shared pool

• Parameters can be set manually– Make sure to keep decent SGA

• See notes on DB creation

Page 16: Advanced Oracle DB tuning Performance can be defined in very different ways (OLTP versus DSS) Specific goals and targets must be set => clear recognition.

I/O and physical design

• Use multiple disks + parallel controllers

• Optimise block size (see notes on DB creation)

• Use extents large enough for indexes

• Avoid use of pctincrease in OLTP tables

• Use raw device

Page 17: Advanced Oracle DB tuning Performance can be defined in very different ways (OLTP versus DSS) Specific goals and targets must be set => clear recognition.

Resource contention

• Block contention

• Shared pool contention

• Lock contention

• All these can be diagnosed with Oracle stats

Page 18: Advanced Oracle DB tuning Performance can be defined in very different ways (OLTP versus DSS) Specific goals and targets must be set => clear recognition.

Platform

• Need to talk to specialist– Eg: oracle staff

• Different for different OS

• Cache size

• Paging strategies etc…

Page 19: Advanced Oracle DB tuning Performance can be defined in very different ways (OLTP versus DSS) Specific goals and targets must be set => clear recognition.

Application

• Always start with specific objectives else never achieve anything!– Max response times for inquiry– maximum processing time for document

• Picking list• Invoice• Month end

• Goals may conflict, DBA arbitrates

Page 20: Advanced Oracle DB tuning Performance can be defined in very different ways (OLTP versus DSS) Specific goals and targets must be set => clear recognition.

Create repeatable tests

• SQL statements– New versus old in SQL +– SQL Trace enabled

• Trial and error in a trial environment

• Use multiple scenarios to test effect of each change

• Also test in combination

• Test for scalability (growth)

Page 21: Advanced Oracle DB tuning Performance can be defined in very different ways (OLTP versus DSS) Specific goals and targets must be set => clear recognition.

Keep records and automate testing

• Write recording into your scripts (table)

• Run scripts on a timer

• Measure against objectives and past perf.

• Stop when goals achieved

Page 22: Advanced Oracle DB tuning Performance can be defined in very different ways (OLTP versus DSS) Specific goals and targets must be set => clear recognition.

Oracle diagnostic tool

• Explain plan

• Oracle trace

• Can be run in combination to compare actuals to estimates

Page 23: Advanced Oracle DB tuning Performance can be defined in very different ways (OLTP versus DSS) Specific goals and targets must be set => clear recognition.

Oracle Enterprise Manager

• Common interface for all utilities

• Diagnosis + implementation of changes

• See table 17.4

Page 24: Advanced Oracle DB tuning Performance can be defined in very different ways (OLTP versus DSS) Specific goals and targets must be set => clear recognition.

Benchmarking

• Use in product selection– Vendor bias?– Env tuned for test only– Not repeatable without access to unlimited resources– Hidden cost of table maintenance outside the test.

• Cited by every DB vendor on this planet• Creation of the TPC (Transaction Processing

Performance Council)– TPC – C: order entry benchmark– TPC – H and TCP – R: decision support benchmark– TPC – A: web transaction benchmark

• Open source DB benchmark


Recommended