SlideShare a Scribd company logo
1 of 19
The 5S Approach
To Database Performance Tuning

Presented by Chuck Ezell
chuck.ezell@datavail.com
478-714-1615
The Landscape
Bank of America online banking down for 6
days, affecting 29 million online customers.
Gmail down for 2 days, caused by software update
affecting 120,000 users.
Virgin Blue’s reservation desk down for 11 days
affecting 50k passengers and 400 flights, costing
millions in profit.
Netflix down 4-8 hours, affecting 20 million
customers, potentially due to software deployment
issues that were termed “internal technical issues.”
PayPal battled on-and-off service outages for about five
days in October 2004 after upgrading site. They blamed
the glitches on a software update.

11/19/2013

www.datavail.com

2
Why Performance Tune?
80% of unplanned outages are due to ill-planned changes
made by operations or developers.
60% of availability and performance errors are the result of
mis-configurations.
80% of incidents are caused by changes made to the IT
environment including application code.
Looking Ahead: Through 2015, 80% of outages impacting
mission-critical services will be caused by people and process
issues. More than 50% will be caused by
change/configuration/release integration and hand-off issues.

11/19/2013

www.datavail.com

3
11/19/2013

www.datavail.com

4
DBA’s Top Performance Issues?
“What are the Top 3 performance issues that you
encounter with your SQL servers?” – Stack Exchange User

11/19/2013

www.datavail.com

5
What is Database Performance Tuning?
Pull an AWR and ASH report!

What’s your Buffer Cache Hit Ratio?

Look in the Workload History.

Are your statistics up to date?

Buffer busy waits

I/O Wait

SQL * Net message from client

Enq: CF Contention

db file sequential reads

Disk Reads

Enq:TX – row lock contention

Buffer Gets

Cursor: pin S wait on X

Concurrency Wait Time

LGWR wait for redo copy

Rollbacks & Transactions

Physical Reads

Log File Sync Waits

11/19/2013

www.datavail.com

6
Ignore the Forest for the Trees
“Every defect is a treasure, if the company can uncover its
cause and work to prevent it across the corporation.”
- Kilchiro Toyoda, founder of Toyota

Reactive Approach vs. Proactive Approach
• Many approaches out there are from hardware/architecture perspective or
deal with peripheral issues and distractions.
• What works in reactive situations often applies when proactively planning
(in both cases we’re mitigating).
• Most often we’re facing Reactive situations.
• Build on what we know are real problems we’re fixing right now.
• Let’s avoid all the distractions of all the potential peripheral issues.

• We need a direct quick way to address root cause and remediate.
11/19/2013

www.datavail.com

7
The 5S Approach
SQL Code
Statistics
Space/Indexing

Sessions
Scheduled Process

11/19/2013

www.datavail.com

8
Step 1 - SQL Code
Review the SQL Execution Plan
•
•
•
•
•

What are the peaks and bottlenecks?
What indexes are being used?
Do you see Index Skip Scans, Index Range Scans or Full Table Scans?
Why is the optimizer/execution engine generating this plan?
Are there embedded HINTs forcing the poor execution?

Review the SQL Code
•
•
•
•
•
•

11/19/2013

Wise use of built in, optimized core language functions ?
Are there ANSI JOINS instead Core Product Friendly JOINs?
Are you seeing date or integer calculations without the use of Core Product Friendly
functions (e.g. implicit conversions)?
Are there too many rows being selected (e.g. SELECT * is bad form)?
Are bind variables being used?
Iterative Calls generating multiple SQL statements (reduce).

www.datavail.com

9
Step 2 - Statistics
• Are the statistics up to date?
• Are you finding stats on temporary tables?
• Is there a great degree of data manipulation on the tables in question
that might have left a high water mark?
• Are there sufficient transaction slots for the table/index in question?
• What is the clustering factor on the indexes in question?

Step 3 - Space/Indexing
•
•
•
•
•
11/19/2013

Are there better indexes that can be used?
Are you missing indexes (or too many IDX) that would be needed?
Is there too much data in the table and in need of purging?
Are the tables fragmented and in need of rebuilding?
Is there sufficient space available for temp data to be processed?
www.datavail.com

10
Step 4 - Sessions
•

•
•
•
•

Is it possible a developer is testing SQL code against production?
Are you seeing long running sessions causing blocks or waiting?
Are there sessions locking objects and/or possibly invalidating objects?
Are you seeing too many sessions open at once?
Are you finding abandoned sessions consuming connections and CPU?

Step 5 - Scheduled Processes
• Was that backup scheduled for 12 a.m. or 12 p.m., right in the middle
of the sales day?
• Are there processes competing for resources?
• Do you know how many child processes the scheduled process will
spawn?
• Are your update statistics jobs conflicting with other crucial process
and causing extended run times?
11/19/2013

www.datavail.com

11
Case Study #1
Customer Environment: Informix, Java, Silverlight
Complaint: Reports were running greater than 5 minutes and would often
timeout when searching by city, state, zip code, vendor name, or vendor id.

Root Cause: SQL Code
•
•
•
•

Too many ANSI joins to external database for Vendor Information.
SQL was also using OR statements (in the JOINs) against two different sets of tables.
Normalization was too high, which forced multiple joins to get simple vendor information.
Poor, non-standard SQL caused Informix to generate bad execution plan.

Solution:
•
•
•

Replicate external dependency into de-normalized tables within DB.
Rewrite the SQL joins
Eliminate OR clauses by with de-normalization.

Result: 5+ minute response times decreased to a
maximum of :30 second response time.

11/19/2013

www.datavail.com

12
Case Study #2
Customer Environment: Oracle EBS & iStore
Complaint: Vendor sales checkout form was performing slowly.
Root Cause: Statistics
•
•
•

A poor execution plan was causing multiple blocking locks, waits, high I/O and high CPU.
Statistics were found on two temporary tables that should not have been there.
A DBA had improperly scheduled a statistics update job and it generated statistics on ALL
objects in the database.

Solution:
•

Dropped the statistics on the temporary tables and execution plan reverted back to
previous plan.

Result: Response time went from several minutes
with blocking locks and waits to sub-second
response times hardly worth noting.

11/19/2013

www.datavail.com

13
Case Study #3
Customer Environment: Oracle Financials
Complaint: Month-end reporting taking days to complete. Had to schedule
through weekend and eliminate any interaction with system until
complete.
Root Cause: SQL Code, Indexing
•
•
•

A concurrent process was spawning multiple child processes.
Each process was executing full table scans and index skip scans.
The reporting process was taking 17 hours to complete.

Solution:
•
•
•

Add an index on a specific table to eliminate the full table scans.
Register new index with histogram and turn off logging.
Force the use of a better index with statistics for the Skip Scans.

Result: Even with 5% increased executions the 17
hour report began returning in less than 3 minutes.

11/19/2013

www.datavail.com

14
Case Study #4
Customer Environment: Informix, Java, Silverlight
Complaint: Shipping change alert not working.
Root Cause: SQL Code
•
•
•

The SQL execution was selecting too much data.
The alert was looking back against 6 months of data to verify a shipment should have
been received within 10 days.
The SQL code had no way of limiting the selection against all the rows of shipment data.

Solution:
•
•
•

Add a new condition to the SQL that limited the data selection to 10 days or less.
It was finally decided to add a new feature to the UI
allow the user to define how far back the alert would look
with a maximum of 30 days.

Result: Alert began working because response time
went from timing out to sub-second response times.

11/19/2013

www.datavail.com

15
Case Study #5
Customer Environment: Oracle & Java concurrent program
Complaint: Billing invoices werebacking up and many were failing.
Root Cause: SQL Code, Indexing
•
•
•

Memory and hardware improvements made no improvement in throughput.
The vendor support couldn’t provide patches or improvements.
The SQL execution plan was sub-par selecting the wrong indexes for optimal
performance; performing index skip scans and index range scans.

Solution:
•

Added 2 new indexes that provided highest degree of selectivity over current indexes
being utilized by optimizer.

Result: Doubled throughput of invoice billing, eliminating
failures due to timeouts and response times.

11/19/2013

www.datavail.com

16
Benefits of 5S Approach
Get to root cause faster
Greater degree of insight (no Voodoo!)
Eliminates distracting possibilities

Time and money saved
Better utilization of resources (people and hardware)
Works both in reactive and proactive situations
Outcome provides measured response

Root cause reporting is much easier

11/19/2013

www.datavail.com

17
Final Thoughts

11/19/2013

www.datavail.com

18
Questions?

The 5S Approach
for Database Performance Tuning

Chuck Ezell – chuck.ezell@datavail.com
478-714-1615

More Related Content

What's hot

How can a quality engineering and assurance consultancy keep you ahead of others
How can a quality engineering and assurance consultancy keep you ahead of othersHow can a quality engineering and assurance consultancy keep you ahead of others
How can a quality engineering and assurance consultancy keep you ahead of othersgreyaudrina
 
Catherine Railey Resume - 2015
Catherine Railey Resume - 2015Catherine Railey Resume - 2015
Catherine Railey Resume - 2015Cathy Railey
 
Pc Order To Installation Cycle Time Reduction Display
Pc Order To Installation Cycle Time Reduction DisplayPc Order To Installation Cycle Time Reduction Display
Pc Order To Installation Cycle Time Reduction Displaywhayes2000
 
Case Management by EMC - xCP Platform
 Case Management by EMC - xCP Platform Case Management by EMC - xCP Platform
Case Management by EMC - xCP PlatformAmplexor
 
Overcoming Product Data challenges in Publishing Organizations Using Oracle P...
Overcoming Product Data challenges in Publishing Organizations Using Oracle P...Overcoming Product Data challenges in Publishing Organizations Using Oracle P...
Overcoming Product Data challenges in Publishing Organizations Using Oracle P...Cognizant
 
Analysis of a high availability and data integration solution of an electroni...
Analysis of a high availability and data integration solution of an electroni...Analysis of a high availability and data integration solution of an electroni...
Analysis of a high availability and data integration solution of an electroni...IvanZennaro
 
Thousands of Hours Saved and Risk Reduced for EBS Upgrades & Implementations
Thousands of Hours Saved and Risk Reduced for EBS Upgrades & ImplementationsThousands of Hours Saved and Risk Reduced for EBS Upgrades & Implementations
Thousands of Hours Saved and Risk Reduced for EBS Upgrades & ImplementationsOracle
 
How to Deliver your Oracle EBS R12 Upgrade
How to Deliver your Oracle EBS R12 UpgradeHow to Deliver your Oracle EBS R12 Upgrade
How to Deliver your Oracle EBS R12 UpgradeOriginal Software
 
Notes Migrations Don't Have to be Hard
Notes Migrations Don't Have to be HardNotes Migrations Don't Have to be Hard
Notes Migrations Don't Have to be HardDan Barker
 
Oracle R12 Upgrade Lessons Learned
Oracle R12 Upgrade Lessons LearnedOracle R12 Upgrade Lessons Learned
Oracle R12 Upgrade Lessons Learnedbpellot
 
Delivering your Oracle EBS R12 Upgrade with 100% Confidence
Delivering your Oracle EBS R12 Upgrade with 100% ConfidenceDelivering your Oracle EBS R12 Upgrade with 100% Confidence
Delivering your Oracle EBS R12 Upgrade with 100% ConfidenceOriginal Software
 
EPC Group's - Microsoft SharePoint Health Check Methodology
EPC Group's - Microsoft SharePoint Health Check MethodologyEPC Group's - Microsoft SharePoint Health Check Methodology
EPC Group's - Microsoft SharePoint Health Check MethodologyEPC Group
 
How to pinpoint and fix sources of performance problems in your SAP BusinessO...
How to pinpoint and fix sources of performance problems in your SAP BusinessO...How to pinpoint and fix sources of performance problems in your SAP BusinessO...
How to pinpoint and fix sources of performance problems in your SAP BusinessO...Xoomworks Business Intelligence
 
Big Data Testing : Automate theTesting of Hadoop, NoSQL & DWH without Writing...
Big Data Testing : Automate theTesting of Hadoop, NoSQL & DWH without Writing...Big Data Testing : Automate theTesting of Hadoop, NoSQL & DWH without Writing...
Big Data Testing : Automate theTesting of Hadoop, NoSQL & DWH without Writing...RTTS
 

What's hot (18)

How can a quality engineering and assurance consultancy keep you ahead of others
How can a quality engineering and assurance consultancy keep you ahead of othersHow can a quality engineering and assurance consultancy keep you ahead of others
How can a quality engineering and assurance consultancy keep you ahead of others
 
Catherine Railey Resume - 2015
Catherine Railey Resume - 2015Catherine Railey Resume - 2015
Catherine Railey Resume - 2015
 
Pc Order To Installation Cycle Time Reduction Display
Pc Order To Installation Cycle Time Reduction DisplayPc Order To Installation Cycle Time Reduction Display
Pc Order To Installation Cycle Time Reduction Display
 
Case Management by EMC - xCP Platform
 Case Management by EMC - xCP Platform Case Management by EMC - xCP Platform
Case Management by EMC - xCP Platform
 
Overcoming Product Data challenges in Publishing Organizations Using Oracle P...
Overcoming Product Data challenges in Publishing Organizations Using Oracle P...Overcoming Product Data challenges in Publishing Organizations Using Oracle P...
Overcoming Product Data challenges in Publishing Organizations Using Oracle P...
 
Analysis of a high availability and data integration solution of an electroni...
Analysis of a high availability and data integration solution of an electroni...Analysis of a high availability and data integration solution of an electroni...
Analysis of a high availability and data integration solution of an electroni...
 
AvenDATA and Devops
AvenDATA and DevopsAvenDATA and Devops
AvenDATA and Devops
 
Thousands of Hours Saved and Risk Reduced for EBS Upgrades & Implementations
Thousands of Hours Saved and Risk Reduced for EBS Upgrades & ImplementationsThousands of Hours Saved and Risk Reduced for EBS Upgrades & Implementations
Thousands of Hours Saved and Risk Reduced for EBS Upgrades & Implementations
 
How to Deliver your Oracle EBS R12 Upgrade
How to Deliver your Oracle EBS R12 UpgradeHow to Deliver your Oracle EBS R12 Upgrade
How to Deliver your Oracle EBS R12 Upgrade
 
Notes Migrations Don't Have to be Hard
Notes Migrations Don't Have to be HardNotes Migrations Don't Have to be Hard
Notes Migrations Don't Have to be Hard
 
Oracle R12 Upgrade Lessons Learned
Oracle R12 Upgrade Lessons LearnedOracle R12 Upgrade Lessons Learned
Oracle R12 Upgrade Lessons Learned
 
Delivering your Oracle EBS R12 Upgrade with 100% Confidence
Delivering your Oracle EBS R12 Upgrade with 100% ConfidenceDelivering your Oracle EBS R12 Upgrade with 100% Confidence
Delivering your Oracle EBS R12 Upgrade with 100% Confidence
 
Laxmikant_Resume
Laxmikant_ResumeLaxmikant_Resume
Laxmikant_Resume
 
SteelCentral NetSensor 3.0
SteelCentral NetSensor 3.0SteelCentral NetSensor 3.0
SteelCentral NetSensor 3.0
 
EPC Group's - Microsoft SharePoint Health Check Methodology
EPC Group's - Microsoft SharePoint Health Check MethodologyEPC Group's - Microsoft SharePoint Health Check Methodology
EPC Group's - Microsoft SharePoint Health Check Methodology
 
How to pinpoint and fix sources of performance problems in your SAP BusinessO...
How to pinpoint and fix sources of performance problems in your SAP BusinessO...How to pinpoint and fix sources of performance problems in your SAP BusinessO...
How to pinpoint and fix sources of performance problems in your SAP BusinessO...
 
Big Data Testing : Automate theTesting of Hadoop, NoSQL & DWH without Writing...
Big Data Testing : Automate theTesting of Hadoop, NoSQL & DWH without Writing...Big Data Testing : Automate theTesting of Hadoop, NoSQL & DWH without Writing...
Big Data Testing : Automate theTesting of Hadoop, NoSQL & DWH without Writing...
 
R12 upgrade webinar
R12 upgrade webinarR12 upgrade webinar
R12 upgrade webinar
 

Similar to The 5S Approach to Performance Tuning by Chuck Ezell

ATAGTR2017 Batch Workload Modelling and Performance Optimization
ATAGTR2017 Batch Workload Modelling and Performance Optimization ATAGTR2017 Batch Workload Modelling and Performance Optimization
ATAGTR2017 Batch Workload Modelling and Performance Optimization Agile Testing Alliance
 
Oracle Cloud Maintenance Product Update.pdf
Oracle Cloud Maintenance Product Update.pdfOracle Cloud Maintenance Product Update.pdf
Oracle Cloud Maintenance Product Update.pdfWalidShoman3
 
The Death of the Star Schema
The Death of the Star SchemaThe Death of the Star Schema
The Death of the Star SchemaDATAVERSITY
 
Why retail companies can't afford database downtime
Why retail companies can't afford database downtimeWhy retail companies can't afford database downtime
Why retail companies can't afford database downtimeDBmaestro - Database DevOps
 
Mohd_Shaukath_5_Exp_Datastage
Mohd_Shaukath_5_Exp_DatastageMohd_Shaukath_5_Exp_Datastage
Mohd_Shaukath_5_Exp_DatastageMohammed Shaukath
 
Data is the Constraint
Data is the ConstraintData is the Constraint
Data is the ConstraintKyle Hailey
 
Resume - Deepak v.s
Resume -  Deepak v.sResume -  Deepak v.s
Resume - Deepak v.sDeepak V S
 
Vinoth_Perumal_Datawarehousing
Vinoth_Perumal_DatawarehousingVinoth_Perumal_Datawarehousing
Vinoth_Perumal_Datawarehousingvinoth perumal
 
Blackboard DevCon 2011 - Developing B2 for Performance and Scalability
Blackboard DevCon 2011 - Developing B2 for Performance and ScalabilityBlackboard DevCon 2011 - Developing B2 for Performance and Scalability
Blackboard DevCon 2011 - Developing B2 for Performance and ScalabilityNoriaki Tatsumi
 
The Future of Data Warehousing: ETL Will Never be the Same
The Future of Data Warehousing: ETL Will Never be the SameThe Future of Data Warehousing: ETL Will Never be the Same
The Future of Data Warehousing: ETL Will Never be the SameCloudera, Inc.
 
DB2 LUW Access Plan Stability
DB2 LUW Access Plan StabilityDB2 LUW Access Plan Stability
DB2 LUW Access Plan Stabilitydmcmichael
 
Making the Case for Legacy Data in Modern Data Analytics Platforms
Making the Case for Legacy Data in Modern Data Analytics PlatformsMaking the Case for Legacy Data in Modern Data Analytics Platforms
Making the Case for Legacy Data in Modern Data Analytics PlatformsPrecisely
 
Book store Black Book - Dinesh48
Book store Black Book - Dinesh48Book store Black Book - Dinesh48
Book store Black Book - Dinesh48Dinesh Jogdand
 

Similar to The 5S Approach to Performance Tuning by Chuck Ezell (20)

ATAGTR2017 Batch Workload Modelling and Performance Optimization
ATAGTR2017 Batch Workload Modelling and Performance Optimization ATAGTR2017 Batch Workload Modelling and Performance Optimization
ATAGTR2017 Batch Workload Modelling and Performance Optimization
 
Oracle Cloud Maintenance Product Update.pdf
Oracle Cloud Maintenance Product Update.pdfOracle Cloud Maintenance Product Update.pdf
Oracle Cloud Maintenance Product Update.pdf
 
The Death of the Star Schema
The Death of the Star SchemaThe Death of the Star Schema
The Death of the Star Schema
 
Why retail companies can't afford database downtime
Why retail companies can't afford database downtimeWhy retail companies can't afford database downtime
Why retail companies can't afford database downtime
 
Solution Blueprint - Customer 360
Solution Blueprint - Customer 360Solution Blueprint - Customer 360
Solution Blueprint - Customer 360
 
Mohd_Shaukath_5_Exp_Datastage
Mohd_Shaukath_5_Exp_DatastageMohd_Shaukath_5_Exp_Datastage
Mohd_Shaukath_5_Exp_Datastage
 
Data is the Constraint
Data is the ConstraintData is the Constraint
Data is the Constraint
 
Dr. Jim Murray: How do we Protect our Systems and Meet Compliance in a Rapidl...
Dr. Jim Murray: How do we Protect our Systems and Meet Compliance in a Rapidl...Dr. Jim Murray: How do we Protect our Systems and Meet Compliance in a Rapidl...
Dr. Jim Murray: How do we Protect our Systems and Meet Compliance in a Rapidl...
 
My C.V
My C.VMy C.V
My C.V
 
resume_abdul_up
resume_abdul_upresume_abdul_up
resume_abdul_up
 
Resume - Deepak v.s
Resume -  Deepak v.sResume -  Deepak v.s
Resume - Deepak v.s
 
Hadoop on retail
Hadoop on retailHadoop on retail
Hadoop on retail
 
Vinoth_Perumal_Datawarehousing
Vinoth_Perumal_DatawarehousingVinoth_Perumal_Datawarehousing
Vinoth_Perumal_Datawarehousing
 
Blackboard DevCon 2011 - Developing B2 for Performance and Scalability
Blackboard DevCon 2011 - Developing B2 for Performance and ScalabilityBlackboard DevCon 2011 - Developing B2 for Performance and Scalability
Blackboard DevCon 2011 - Developing B2 for Performance and Scalability
 
The Future of Data Warehousing: ETL Will Never be the Same
The Future of Data Warehousing: ETL Will Never be the SameThe Future of Data Warehousing: ETL Will Never be the Same
The Future of Data Warehousing: ETL Will Never be the Same
 
Md Rafi_Resume
Md Rafi_ResumeMd Rafi_Resume
Md Rafi_Resume
 
DB2 LUW Access Plan Stability
DB2 LUW Access Plan StabilityDB2 LUW Access Plan Stability
DB2 LUW Access Plan Stability
 
Sumalatha_Kalugotla
Sumalatha_KalugotlaSumalatha_Kalugotla
Sumalatha_Kalugotla
 
Making the Case for Legacy Data in Modern Data Analytics Platforms
Making the Case for Legacy Data in Modern Data Analytics PlatformsMaking the Case for Legacy Data in Modern Data Analytics Platforms
Making the Case for Legacy Data in Modern Data Analytics Platforms
 
Book store Black Book - Dinesh48
Book store Black Book - Dinesh48Book store Black Book - Dinesh48
Book store Black Book - Dinesh48
 

More from Datavail

Journey to Cloud Analytics
Journey to Cloud Analytics Journey to Cloud Analytics
Journey to Cloud Analytics Datavail
 
Accelerate SQL Server Migration to the AWS Cloud
Accelerate SQL Server Migration to the AWS Cloud Accelerate SQL Server Migration to the AWS Cloud
Accelerate SQL Server Migration to the AWS Cloud Datavail
 
MOUS 2020 - Hyperion 11.2 vs. Cloud: Should I Stay or Should I Go?
MOUS 2020 - Hyperion 11.2 vs. Cloud: Should I Stay or Should I Go?MOUS 2020 - Hyperion 11.2 vs. Cloud: Should I Stay or Should I Go?
MOUS 2020 - Hyperion 11.2 vs. Cloud: Should I Stay or Should I Go?Datavail
 
Oracle Enterprise Manager Seven Robust Features to Put in Action final
Oracle Enterprise Manager Seven Robust Features to Put in Action finalOracle Enterprise Manager Seven Robust Features to Put in Action final
Oracle Enterprise Manager Seven Robust Features to Put in Action finalDatavail
 
Lessons from Migrating Oracle Databases to Amazon RDS or Amazon Aurora
Lessons from Migrating Oracle Databases to Amazon RDS or Amazon Aurora Lessons from Migrating Oracle Databases to Amazon RDS or Amazon Aurora
Lessons from Migrating Oracle Databases to Amazon RDS or Amazon Aurora Datavail
 
EPM 11.2: Lessons Learned and 2021 Preparedness
EPM 11.2: Lessons Learned and 2021 PreparednessEPM 11.2: Lessons Learned and 2021 Preparedness
EPM 11.2: Lessons Learned and 2021 PreparednessDatavail
 
RMOUG 2020: Keeping Pace with Change
RMOUG 2020: Keeping Pace with Change RMOUG 2020: Keeping Pace with Change
RMOUG 2020: Keeping Pace with Change Datavail
 
Upcoming Extended Support Deadlines & What They Mean for You
Upcoming Extended Support Deadlines & What They Mean for YouUpcoming Extended Support Deadlines & What They Mean for You
Upcoming Extended Support Deadlines & What They Mean for YouDatavail
 
SQL on Linux
SQL on LinuxSQL on Linux
SQL on LinuxDatavail
 
Reduce Cost by Tuning Queries on Azure DBaaS
Reduce Cost by Tuning Queries on Azure DBaaSReduce Cost by Tuning Queries on Azure DBaaS
Reduce Cost by Tuning Queries on Azure DBaaSDatavail
 
MOUS 2019 - Keeping Pace with Change: Prepare for Tomorrow & Advance Your Car...
MOUS 2019 - Keeping Pace with Change: Prepare for Tomorrow & Advance Your Car...MOUS 2019 - Keeping Pace with Change: Prepare for Tomorrow & Advance Your Car...
MOUS 2019 - Keeping Pace with Change: Prepare for Tomorrow & Advance Your Car...Datavail
 
Essbase On-Prem to Oracle Analytics Cloud - How, When, and Why
Essbase On-Prem to Oracle Analytics Cloud - How, When, and WhyEssbase On-Prem to Oracle Analytics Cloud - How, When, and Why
Essbase On-Prem to Oracle Analytics Cloud - How, When, and WhyDatavail
 
Is "Free" Good Enough for Your MySQL Environment?
Is "Free" Good Enough for Your MySQL Environment?Is "Free" Good Enough for Your MySQL Environment?
Is "Free" Good Enough for Your MySQL Environment?Datavail
 
Critical Preflight Checks for Your EPM Applications
Critical Preflight Checks for Your EPM ApplicationsCritical Preflight Checks for Your EPM Applications
Critical Preflight Checks for Your EPM ApplicationsDatavail
 
SQL to Azure Migrations
SQL to Azure MigrationsSQL to Azure Migrations
SQL to Azure MigrationsDatavail
 
Essbase On-Prem to Oracle Analytics Cloud - How, When, and Why
Essbase On-Prem to Oracle Analytics Cloud - How, When, and WhyEssbase On-Prem to Oracle Analytics Cloud - How, When, and Why
Essbase On-Prem to Oracle Analytics Cloud - How, When, and WhyDatavail
 
3 Ways to Lead an Accidental DBA
3 Ways to Lead an Accidental DBA3 Ways to Lead an Accidental DBA
3 Ways to Lead an Accidental DBADatavail
 
Creating a Solid EPM Punch List
Creating a Solid EPM Punch ListCreating a Solid EPM Punch List
Creating a Solid EPM Punch ListDatavail
 
Why NBC Universal Migrated to MongoDB Atlas
Why NBC Universal Migrated to MongoDB AtlasWhy NBC Universal Migrated to MongoDB Atlas
Why NBC Universal Migrated to MongoDB AtlasDatavail
 
SQL on Linux
SQL on LinuxSQL on Linux
SQL on LinuxDatavail
 

More from Datavail (20)

Journey to Cloud Analytics
Journey to Cloud Analytics Journey to Cloud Analytics
Journey to Cloud Analytics
 
Accelerate SQL Server Migration to the AWS Cloud
Accelerate SQL Server Migration to the AWS Cloud Accelerate SQL Server Migration to the AWS Cloud
Accelerate SQL Server Migration to the AWS Cloud
 
MOUS 2020 - Hyperion 11.2 vs. Cloud: Should I Stay or Should I Go?
MOUS 2020 - Hyperion 11.2 vs. Cloud: Should I Stay or Should I Go?MOUS 2020 - Hyperion 11.2 vs. Cloud: Should I Stay or Should I Go?
MOUS 2020 - Hyperion 11.2 vs. Cloud: Should I Stay or Should I Go?
 
Oracle Enterprise Manager Seven Robust Features to Put in Action final
Oracle Enterprise Manager Seven Robust Features to Put in Action finalOracle Enterprise Manager Seven Robust Features to Put in Action final
Oracle Enterprise Manager Seven Robust Features to Put in Action final
 
Lessons from Migrating Oracle Databases to Amazon RDS or Amazon Aurora
Lessons from Migrating Oracle Databases to Amazon RDS or Amazon Aurora Lessons from Migrating Oracle Databases to Amazon RDS or Amazon Aurora
Lessons from Migrating Oracle Databases to Amazon RDS or Amazon Aurora
 
EPM 11.2: Lessons Learned and 2021 Preparedness
EPM 11.2: Lessons Learned and 2021 PreparednessEPM 11.2: Lessons Learned and 2021 Preparedness
EPM 11.2: Lessons Learned and 2021 Preparedness
 
RMOUG 2020: Keeping Pace with Change
RMOUG 2020: Keeping Pace with Change RMOUG 2020: Keeping Pace with Change
RMOUG 2020: Keeping Pace with Change
 
Upcoming Extended Support Deadlines & What They Mean for You
Upcoming Extended Support Deadlines & What They Mean for YouUpcoming Extended Support Deadlines & What They Mean for You
Upcoming Extended Support Deadlines & What They Mean for You
 
SQL on Linux
SQL on LinuxSQL on Linux
SQL on Linux
 
Reduce Cost by Tuning Queries on Azure DBaaS
Reduce Cost by Tuning Queries on Azure DBaaSReduce Cost by Tuning Queries on Azure DBaaS
Reduce Cost by Tuning Queries on Azure DBaaS
 
MOUS 2019 - Keeping Pace with Change: Prepare for Tomorrow & Advance Your Car...
MOUS 2019 - Keeping Pace with Change: Prepare for Tomorrow & Advance Your Car...MOUS 2019 - Keeping Pace with Change: Prepare for Tomorrow & Advance Your Car...
MOUS 2019 - Keeping Pace with Change: Prepare for Tomorrow & Advance Your Car...
 
Essbase On-Prem to Oracle Analytics Cloud - How, When, and Why
Essbase On-Prem to Oracle Analytics Cloud - How, When, and WhyEssbase On-Prem to Oracle Analytics Cloud - How, When, and Why
Essbase On-Prem to Oracle Analytics Cloud - How, When, and Why
 
Is "Free" Good Enough for Your MySQL Environment?
Is "Free" Good Enough for Your MySQL Environment?Is "Free" Good Enough for Your MySQL Environment?
Is "Free" Good Enough for Your MySQL Environment?
 
Critical Preflight Checks for Your EPM Applications
Critical Preflight Checks for Your EPM ApplicationsCritical Preflight Checks for Your EPM Applications
Critical Preflight Checks for Your EPM Applications
 
SQL to Azure Migrations
SQL to Azure MigrationsSQL to Azure Migrations
SQL to Azure Migrations
 
Essbase On-Prem to Oracle Analytics Cloud - How, When, and Why
Essbase On-Prem to Oracle Analytics Cloud - How, When, and WhyEssbase On-Prem to Oracle Analytics Cloud - How, When, and Why
Essbase On-Prem to Oracle Analytics Cloud - How, When, and Why
 
3 Ways to Lead an Accidental DBA
3 Ways to Lead an Accidental DBA3 Ways to Lead an Accidental DBA
3 Ways to Lead an Accidental DBA
 
Creating a Solid EPM Punch List
Creating a Solid EPM Punch ListCreating a Solid EPM Punch List
Creating a Solid EPM Punch List
 
Why NBC Universal Migrated to MongoDB Atlas
Why NBC Universal Migrated to MongoDB AtlasWhy NBC Universal Migrated to MongoDB Atlas
Why NBC Universal Migrated to MongoDB Atlas
 
SQL on Linux
SQL on LinuxSQL on Linux
SQL on Linux
 

Recently uploaded

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 

Recently uploaded (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 

The 5S Approach to Performance Tuning by Chuck Ezell

  • 1. The 5S Approach To Database Performance Tuning Presented by Chuck Ezell chuck.ezell@datavail.com 478-714-1615
  • 2. The Landscape Bank of America online banking down for 6 days, affecting 29 million online customers. Gmail down for 2 days, caused by software update affecting 120,000 users. Virgin Blue’s reservation desk down for 11 days affecting 50k passengers and 400 flights, costing millions in profit. Netflix down 4-8 hours, affecting 20 million customers, potentially due to software deployment issues that were termed “internal technical issues.” PayPal battled on-and-off service outages for about five days in October 2004 after upgrading site. They blamed the glitches on a software update. 11/19/2013 www.datavail.com 2
  • 3. Why Performance Tune? 80% of unplanned outages are due to ill-planned changes made by operations or developers. 60% of availability and performance errors are the result of mis-configurations. 80% of incidents are caused by changes made to the IT environment including application code. Looking Ahead: Through 2015, 80% of outages impacting mission-critical services will be caused by people and process issues. More than 50% will be caused by change/configuration/release integration and hand-off issues. 11/19/2013 www.datavail.com 3
  • 5. DBA’s Top Performance Issues? “What are the Top 3 performance issues that you encounter with your SQL servers?” – Stack Exchange User 11/19/2013 www.datavail.com 5
  • 6. What is Database Performance Tuning? Pull an AWR and ASH report! What’s your Buffer Cache Hit Ratio? Look in the Workload History. Are your statistics up to date? Buffer busy waits I/O Wait SQL * Net message from client Enq: CF Contention db file sequential reads Disk Reads Enq:TX – row lock contention Buffer Gets Cursor: pin S wait on X Concurrency Wait Time LGWR wait for redo copy Rollbacks & Transactions Physical Reads Log File Sync Waits 11/19/2013 www.datavail.com 6
  • 7. Ignore the Forest for the Trees “Every defect is a treasure, if the company can uncover its cause and work to prevent it across the corporation.” - Kilchiro Toyoda, founder of Toyota Reactive Approach vs. Proactive Approach • Many approaches out there are from hardware/architecture perspective or deal with peripheral issues and distractions. • What works in reactive situations often applies when proactively planning (in both cases we’re mitigating). • Most often we’re facing Reactive situations. • Build on what we know are real problems we’re fixing right now. • Let’s avoid all the distractions of all the potential peripheral issues. • We need a direct quick way to address root cause and remediate. 11/19/2013 www.datavail.com 7
  • 8. The 5S Approach SQL Code Statistics Space/Indexing Sessions Scheduled Process 11/19/2013 www.datavail.com 8
  • 9. Step 1 - SQL Code Review the SQL Execution Plan • • • • • What are the peaks and bottlenecks? What indexes are being used? Do you see Index Skip Scans, Index Range Scans or Full Table Scans? Why is the optimizer/execution engine generating this plan? Are there embedded HINTs forcing the poor execution? Review the SQL Code • • • • • • 11/19/2013 Wise use of built in, optimized core language functions ? Are there ANSI JOINS instead Core Product Friendly JOINs? Are you seeing date or integer calculations without the use of Core Product Friendly functions (e.g. implicit conversions)? Are there too many rows being selected (e.g. SELECT * is bad form)? Are bind variables being used? Iterative Calls generating multiple SQL statements (reduce). www.datavail.com 9
  • 10. Step 2 - Statistics • Are the statistics up to date? • Are you finding stats on temporary tables? • Is there a great degree of data manipulation on the tables in question that might have left a high water mark? • Are there sufficient transaction slots for the table/index in question? • What is the clustering factor on the indexes in question? Step 3 - Space/Indexing • • • • • 11/19/2013 Are there better indexes that can be used? Are you missing indexes (or too many IDX) that would be needed? Is there too much data in the table and in need of purging? Are the tables fragmented and in need of rebuilding? Is there sufficient space available for temp data to be processed? www.datavail.com 10
  • 11. Step 4 - Sessions • • • • • Is it possible a developer is testing SQL code against production? Are you seeing long running sessions causing blocks or waiting? Are there sessions locking objects and/or possibly invalidating objects? Are you seeing too many sessions open at once? Are you finding abandoned sessions consuming connections and CPU? Step 5 - Scheduled Processes • Was that backup scheduled for 12 a.m. or 12 p.m., right in the middle of the sales day? • Are there processes competing for resources? • Do you know how many child processes the scheduled process will spawn? • Are your update statistics jobs conflicting with other crucial process and causing extended run times? 11/19/2013 www.datavail.com 11
  • 12. Case Study #1 Customer Environment: Informix, Java, Silverlight Complaint: Reports were running greater than 5 minutes and would often timeout when searching by city, state, zip code, vendor name, or vendor id. Root Cause: SQL Code • • • • Too many ANSI joins to external database for Vendor Information. SQL was also using OR statements (in the JOINs) against two different sets of tables. Normalization was too high, which forced multiple joins to get simple vendor information. Poor, non-standard SQL caused Informix to generate bad execution plan. Solution: • • • Replicate external dependency into de-normalized tables within DB. Rewrite the SQL joins Eliminate OR clauses by with de-normalization. Result: 5+ minute response times decreased to a maximum of :30 second response time. 11/19/2013 www.datavail.com 12
  • 13. Case Study #2 Customer Environment: Oracle EBS & iStore Complaint: Vendor sales checkout form was performing slowly. Root Cause: Statistics • • • A poor execution plan was causing multiple blocking locks, waits, high I/O and high CPU. Statistics were found on two temporary tables that should not have been there. A DBA had improperly scheduled a statistics update job and it generated statistics on ALL objects in the database. Solution: • Dropped the statistics on the temporary tables and execution plan reverted back to previous plan. Result: Response time went from several minutes with blocking locks and waits to sub-second response times hardly worth noting. 11/19/2013 www.datavail.com 13
  • 14. Case Study #3 Customer Environment: Oracle Financials Complaint: Month-end reporting taking days to complete. Had to schedule through weekend and eliminate any interaction with system until complete. Root Cause: SQL Code, Indexing • • • A concurrent process was spawning multiple child processes. Each process was executing full table scans and index skip scans. The reporting process was taking 17 hours to complete. Solution: • • • Add an index on a specific table to eliminate the full table scans. Register new index with histogram and turn off logging. Force the use of a better index with statistics for the Skip Scans. Result: Even with 5% increased executions the 17 hour report began returning in less than 3 minutes. 11/19/2013 www.datavail.com 14
  • 15. Case Study #4 Customer Environment: Informix, Java, Silverlight Complaint: Shipping change alert not working. Root Cause: SQL Code • • • The SQL execution was selecting too much data. The alert was looking back against 6 months of data to verify a shipment should have been received within 10 days. The SQL code had no way of limiting the selection against all the rows of shipment data. Solution: • • • Add a new condition to the SQL that limited the data selection to 10 days or less. It was finally decided to add a new feature to the UI allow the user to define how far back the alert would look with a maximum of 30 days. Result: Alert began working because response time went from timing out to sub-second response times. 11/19/2013 www.datavail.com 15
  • 16. Case Study #5 Customer Environment: Oracle & Java concurrent program Complaint: Billing invoices werebacking up and many were failing. Root Cause: SQL Code, Indexing • • • Memory and hardware improvements made no improvement in throughput. The vendor support couldn’t provide patches or improvements. The SQL execution plan was sub-par selecting the wrong indexes for optimal performance; performing index skip scans and index range scans. Solution: • Added 2 new indexes that provided highest degree of selectivity over current indexes being utilized by optimizer. Result: Doubled throughput of invoice billing, eliminating failures due to timeouts and response times. 11/19/2013 www.datavail.com 16
  • 17. Benefits of 5S Approach Get to root cause faster Greater degree of insight (no Voodoo!) Eliminates distracting possibilities Time and money saved Better utilization of resources (people and hardware) Works both in reactive and proactive situations Outcome provides measured response Root cause reporting is much easier 11/19/2013 www.datavail.com 17
  • 19. Questions? The 5S Approach for Database Performance Tuning Chuck Ezell – chuck.ezell@datavail.com 478-714-1615