SlideShare a Scribd company logo
1 of 37
Download to read offline
Oracle Database Performance: Are
Database Users Telling Me The Truth?
Session # 553
REMINDER
Check in on the
COLLABORATE mobile app
Prepared by:
Alfredo Krieg
Database Administrator
The Sherwin Williams Company
Agenda
■ Introduction
■ Performance Challenge
■ Case Study
■ The Method
– Set Goals
– Measure– Measure
– Graph
– Compare
– Analyze
■ Anticipate
■ Tools
■ Summary
Who am I?
■ Alfredo Krieg (Alfredo.Krieg.Villa@sherwin.com)
■ Senior Oracle Cloud Administrator at The Sherwin Williams
Company based in Cleveland, Oh
■ OEM Cloud Control 12c and Database Performance Tuning■ OEM Cloud Control 12c and Database Performance Tuning
■ Oracle Technologies since 2004 & 11g Certified
■ Blog bitkode.blogspot.com
Agenda
■ Introduction
■ Performance Challenge
■ Case Study
■ The Method
– Set Goals
– Measure– Measure
– Graph
– Compare
– Analyze
■ Anticipate
■ Tools
■ Summary
Performance Challenge
■ Difficult without a performance tuning method
■ Multiple metrics, ratios and performance data to look into
■ DBA’s sometimes rely in what users experience and communicate
■ Analyze wrong snapshots, not when problem really happened
■ Are DB users telling me the truth?
What to do?
Agenda
■ Introduction
■ Performance Challenge
■ Case Study
■ The Method
– Set Goals
– Measure– Measure
– Graph
– Compare
– Analyze
■ Anticipate
■ Tools
■ Summary
Case Study
■ Friday 10 am in the morning, DBA receives a call from a
database user stating that the production DB is slow. DBA
questions the user in order to better understand the situation:
▪ When did the performance issue start?
▪ Has this happened before?
▪ Is it just your session or are other users affected as well?
■ Database user responds using his/her best knowledge of the■ Database user responds using his/her best knowledge of the
situation
▪ When did it start? I arrived today at 9 am and it was already
slow!
▪ Has this happened before? Yes, it happened last Friday and the
Friday before that too!
▪ Is it just your session or are other users affected as well? Seems
like the entire department is being affected!
Case Study
■ DBA trusts the user and starts comparing previous
AWR/Statspack snapshots against the one contained
between 9:30 am and 10 am. DBA gathers a couple of
reports and looks at the ratios, CPU utilization and some
other performance metrics finding not much change in the
values when suddenly the user states that performance came
back to normal and the call ends. “DBA Magic”
■ What happened?:
▪ There was no method
▪ Bottleneck was not identified
▪ Root cause was not identified
▪ No permanent fix applied
Case Study
■ Key data communicated by the user
▪ At 9 am the problem was present
▪ Last 2 Fridays as well
▪ Entire department impacted
■ Do you trust in user?, We need to look into the DB system to
see who’s right!
Agenda
■ Introduction
■ Performance Challenge
■ Case Study
■ The Method
– Set Goals
– Measure– Measure
– Graph
– Compare
– Analyze
■ Anticipate
■ Tools
■ Summary
The Method
■ Must establish the stop tuning criteria
■ Define the scope of tuning
■ CTD (Compulsive Tuning Disorder)
Set Goals
■ CTD (Compulsive Tuning Disorder)
“Find out if the DB is slow/How slow? (Find the Response Time)”
“Identify the period of time and the bottleneck of the performance issue
reported by the DB user”
“Identify if this issue has any relationship with the issue of the last 2
Fridays”
Agenda
■ Introduction
■ Performance Challenge
■ Case Study
■ The Method
– Set Goals
– Measure– Measure
– Graph
– Compare
– Analyze
■ Anticipate
■ Tools
■ Summary
The Method
■ Oracle’s Kernel Instrumentation
(Wait Interface)
■ System views v$sysstat, v$system_event & v$sys_time_model
(session level views can be used to troubleshoot performance
Measure
problems at session level) TIMED_STATISTICS=TRUE (modifiable)
■ Calculate DB Response Time for a period of time
▪ Service Time ms (Total DB CPU consumption)
▪ Queue Time ms (Total Non Idle wait time)
▪ User calls (Unit of Work)
▪ Snapshot’s time frame (i.e. 15 min, 30 min, 60 min, etc)
The Method
■ Queuing Theory (R = S + W)
RT ms/uc = Service Time + Queue Time
User Calls
Measure
■ As per Oracle Documentation
▪ Response time refers to the amount of time Enterprise Server takes to
return the results of a request to the user. The response time is affected
by factors such as network bandwidth, number of users, number and
type of requests submitted, and average think time.
The Method
■ Choose a Unit of Work
▪ User Calls (overall activity)
▪ Physical Reads/Writes (I/O bound)
▪ Logical Reads/Writes (CPU bound)
Measure
■ User Calls as Per Oracle Documentation
▪ “User Calls” represents the number of logins, parses, or execute calls
during the sample period and is an overall activity level monitor.
http://bitkode.blogspot.com/2013/08/testing-user-calls.html
http://shallahamer-orapub.blogspot.com/2010/05/understanding-user-calls.html
The Method
■ Take two snapshots from v$sysstat, v$system_event &
v$sys_time_model and extract “Delta” values (Data Capture)
▪ Make use of AWR or Statspack (AWR requires license) verify retention!
▪ Extract AWR SQL script can be obtained from
http://bitkode.blogspot.com/2014/02/extract-awr-data-to-build-response-time.html
Measure
http://bitkode.blogspot.com/2014/02/extract-awr-data-to-build-response-time.html
■ The smaller the time between snapshots the more accurate the
measure (but higher the overhead?)
■ Calculate the Response Time of every delta and import the data into
an spreadsheet
The Method
■ Calculate the Mode/Average Response Time of your system
■ The Mode is the value that the most often appears in a set of data,
■ Average can make you lose the clear picture of the DB response
time (skew data). Median is good as well!
Measure
time (skew data). Median is good as well!
■ See the difference between average, mode & median!
Agenda
■ Introduction
■ Performance Challenge
■ Case Study
■ The Method
– Set Goals
– Measure– Measure
– Graph
– Compare
– Analyze
■ Anticipate
■ Tools
■ Summary
The Method
■ Plot Column SNAP_TIME Against NON_IDLE_WAIT, DB_CPU, UC
& RT_MS_PER_UC
Graph
■ Great Visuals of Database Performance
But still unclear!
Agenda
■ Introduction
■ Performance Challenge
■ Case Study
■ The Method
– Set Goals
– Measure– Measure
– Graph
– Compare
– Analyze
■ Anticipate
■ Tools
■ Summary
The Method
■ Slice and Dice data to compare only last 3 Fridays
Compare
■ Remember that RT’s Mode was 2220 ms/uc
The Method
■ Identify the time of the performance problem
Compare
■ Spikes in Response Time & Non Idle Wait Time
■ Is slow?/How slow? 2.2 sec | > 40 sec
Agenda
■ Introduction
■ Performance Challenge
■ Case Study
■ The Method
– Set Goals
– Measure– Measure
– Graph
– Compare
– Analyze
■ Anticipate
■ Tools
■ Summary
The Method
■ Focus on those 3 periods of time
▪ 5:30 am to 9:00 am
▪ 5:30 am to 9:00 am
▪ 7:00 am to 10:30 am
■ What changed when the performance “got bad”?
Analyze
■ Use AWR/Statspack reports to Find Bottleneck
The Method
■ Find Configuration Problems, Bad SQL, OS problems
Analyze
■ Sessions asking for the same buffers through multiple instances
The Method
■ What changed?
Analyze
The Method
Who was correct?
■ Both were right! But get always the whole picture of the issue.
■ Question your system!
The Method
■ Change application design
■ Increase network interconnect speed
■ Setup DB service
Possible Solutions
■ Setup DB service
■ All solutions tied to company’s needs!
Agenda
■ Introduction
■ Performance Challenge
■ Case Study
■ The Method
– Set Goals
– Measure– Measure
– Graph
– Compare
– Analyze
■ Anticipate
■ Tools
■ Summary
Anticipate
■ AWR & Statspack Not Real Time Data!
■ System Views v$sysstat, v$system_event & v$sys_time_model
Close to Real Time
▪ Measure Response Time (Shrink time between Snapshots)
▪ Compare Against RT’s Mode/Median/Average
▪ Alert if Threshold Reached (Threshold not easy to define!)
Agenda
■ Introduction
■ Performance Challenge
■ Case Study
■ The Method
– Set Goals
– Measure– Measure
– Graph
– Compare
– Analyze
■ Anticipate
■ Tools
■ Summary
Tools
■ Oracle Enterprise Manager
▪ Out of the box Metrics (RT per TXN)
▪ Adaptive Thresholds (fixed value, percent of maximum and significance
level)
▪ Metric Extensions
■ 3rd Party Performance Tuning SW (cost)
Agenda
■ Introduction
■ Performance Challenge
■ Case Study
■ The Method
– Set Goals
– Measure– Measure
– Graph
– Compare
– Analyze
■ Anticipate
■ Tools
■ Summary
Summary
■ Follow a method
■ Ask your DB system not just to users, know your system!, but also
ask your users
■ Users experience different Response Times than DB system
■ Don’t waste your time by analyzing useless snapshots
■ Time is money!
■ If available, make use of provided tools
Want more?
■ Shallahamer, Craig
▪ Book: “Oracle Performance Firefighting” (ISBN 978-0-9841023-0-3)
▪ http://shallahamer-orapub.blogspot.mx/2010/11/average-challenge-
part-1.html
■ Sztrik, Dr. János
▪ Basic Queuing Theory
http://irh.inf.unideb.hu/~jsztrik/education/16/SOR_Main_Angol.pdf
■ Millsap, Cary
▪ Thinking clearly about performance
▪ http://method-r.com/papers/file/44-thinking-clearly-about-performance
http://method-r.com/papers/doc_download/44-thinking-clearly-about-
performance-cary-millsap
Thank You!
Special thanks to:
My manager & supervisor in The Sherwin Williams Company
Friends and colleagues that helped with suggestions
Friend and mentor from OR for all the support and suggestions
My family to understand the extra time working
Please complete the session
evaluation on the mobile app
We appreciate your feedback and insight
This box will have simplified instructions about how
to complete the session evaluation online

More Related Content

Similar to 553: Oracle Database Performance: Are Database Users Telling Me The Truth?

PAD: Performance Anomaly Detection in Multi-Server Distributed Systems
PAD: Performance Anomaly Detection in Multi-Server Distributed SystemsPAD: Performance Anomaly Detection in Multi-Server Distributed Systems
PAD: Performance Anomaly Detection in Multi-Server Distributed SystemsJames Hill
 
3 Keys to Performance Testing at the Speed of Agile
3 Keys to Performance Testing at the Speed of Agile3 Keys to Performance Testing at the Speed of Agile
3 Keys to Performance Testing at the Speed of AgileNeotys
 
Crating a Robust Performance Strategy
Crating a Robust Performance StrategyCrating a Robust Performance Strategy
Crating a Robust Performance StrategyGuatemala User Group
 
Production ready big ml workflows from zero to hero daniel marcous @ waze
Production ready big ml workflows from zero to hero daniel marcous @ wazeProduction ready big ml workflows from zero to hero daniel marcous @ waze
Production ready big ml workflows from zero to hero daniel marcous @ wazeIdo Shilon
 
Connecticut CMG - Demystifying Oracle database capacity management with wor...
Connecticut CMG - Demystifying Oracle database  capacity management with  wor...Connecticut CMG - Demystifying Oracle database  capacity management with  wor...
Connecticut CMG - Demystifying Oracle database capacity management with wor...Renato Bonomini
 
Holiday Readiness: Best Practices for Successful Holiday Readiness Testing
Holiday Readiness: Best Practices for Successful Holiday Readiness TestingHoliday Readiness: Best Practices for Successful Holiday Readiness Testing
Holiday Readiness: Best Practices for Successful Holiday Readiness TestingApica
 
22-4_PerformanceTuningUsingtheAdvisorFramework.pdf
22-4_PerformanceTuningUsingtheAdvisorFramework.pdf22-4_PerformanceTuningUsingtheAdvisorFramework.pdf
22-4_PerformanceTuningUsingtheAdvisorFramework.pdfyishengxi
 
Performance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introPerformance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introMykola Kovsh
 
Mtc strategy-briefing-houston-pd m-05212018-3
Mtc strategy-briefing-houston-pd m-05212018-3Mtc strategy-briefing-houston-pd m-05212018-3
Mtc strategy-briefing-houston-pd m-05212018-3Dania Kodeih
 
Sap performance testing best practice guidev1 0-130121141448-phpapp02
Sap performance testing best practice guidev1 0-130121141448-phpapp02Sap performance testing best practice guidev1 0-130121141448-phpapp02
Sap performance testing best practice guidev1 0-130121141448-phpapp02Kamalaksha Das
 
Sapperformancetestingbestpracticeguidev1 0-130121141448-phpapp02
Sapperformancetestingbestpracticeguidev1 0-130121141448-phpapp02Sapperformancetestingbestpracticeguidev1 0-130121141448-phpapp02
Sapperformancetestingbestpracticeguidev1 0-130121141448-phpapp02Pompee Das
 
SAP Performance Testing Best Practice Guide v1.0
SAP Performance Testing Best Practice Guide v1.0SAP Performance Testing Best Practice Guide v1.0
SAP Performance Testing Best Practice Guide v1.0Argos
 
Managing Performance Globally with MySQL
Managing Performance Globally with MySQLManaging Performance Globally with MySQL
Managing Performance Globally with MySQLDaniel Austin
 
Best practice for_agile_ds_projects
Best practice for_agile_ds_projectsBest practice for_agile_ds_projects
Best practice for_agile_ds_projectsKhalid Kahloot
 
Pay pal paypal continuous performance as a self-service with fully-automated...
Pay pal  paypal continuous performance as a self-service with fully-automated...Pay pal  paypal continuous performance as a self-service with fully-automated...
Pay pal paypal continuous performance as a self-service with fully-automated...Dynatrace
 
Doing Analytics Right - Designing and Automating Analytics
Doing Analytics Right - Designing and Automating AnalyticsDoing Analytics Right - Designing and Automating Analytics
Doing Analytics Right - Designing and Automating AnalyticsTasktop
 
Adding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance TestAdding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance TestRodolfo Kohn
 
Workforce Management & BPM Integration
Workforce Management & BPM IntegrationWorkforce Management & BPM Integration
Workforce Management & BPM IntegrationNathaniel Palmer
 
Performance Assurance for Packaged Applications
Performance Assurance for Packaged ApplicationsPerformance Assurance for Packaged Applications
Performance Assurance for Packaged ApplicationsAlexander Podelko
 

Similar to 553: Oracle Database Performance: Are Database Users Telling Me The Truth? (20)

PAD: Performance Anomaly Detection in Multi-Server Distributed Systems
PAD: Performance Anomaly Detection in Multi-Server Distributed SystemsPAD: Performance Anomaly Detection in Multi-Server Distributed Systems
PAD: Performance Anomaly Detection in Multi-Server Distributed Systems
 
3 Keys to Performance Testing at the Speed of Agile
3 Keys to Performance Testing at the Speed of Agile3 Keys to Performance Testing at the Speed of Agile
3 Keys to Performance Testing at the Speed of Agile
 
Crating a Robust Performance Strategy
Crating a Robust Performance StrategyCrating a Robust Performance Strategy
Crating a Robust Performance Strategy
 
Production ready big ml workflows from zero to hero daniel marcous @ waze
Production ready big ml workflows from zero to hero daniel marcous @ wazeProduction ready big ml workflows from zero to hero daniel marcous @ waze
Production ready big ml workflows from zero to hero daniel marcous @ waze
 
Connecticut CMG - Demystifying Oracle database capacity management with wor...
Connecticut CMG - Demystifying Oracle database  capacity management with  wor...Connecticut CMG - Demystifying Oracle database  capacity management with  wor...
Connecticut CMG - Demystifying Oracle database capacity management with wor...
 
Holiday Readiness: Best Practices for Successful Holiday Readiness Testing
Holiday Readiness: Best Practices for Successful Holiday Readiness TestingHoliday Readiness: Best Practices for Successful Holiday Readiness Testing
Holiday Readiness: Best Practices for Successful Holiday Readiness Testing
 
Introduction.pptx
Introduction.pptxIntroduction.pptx
Introduction.pptx
 
22-4_PerformanceTuningUsingtheAdvisorFramework.pdf
22-4_PerformanceTuningUsingtheAdvisorFramework.pdf22-4_PerformanceTuningUsingtheAdvisorFramework.pdf
22-4_PerformanceTuningUsingtheAdvisorFramework.pdf
 
Performance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introPerformance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter intro
 
Mtc strategy-briefing-houston-pd m-05212018-3
Mtc strategy-briefing-houston-pd m-05212018-3Mtc strategy-briefing-houston-pd m-05212018-3
Mtc strategy-briefing-houston-pd m-05212018-3
 
Sap performance testing best practice guidev1 0-130121141448-phpapp02
Sap performance testing best practice guidev1 0-130121141448-phpapp02Sap performance testing best practice guidev1 0-130121141448-phpapp02
Sap performance testing best practice guidev1 0-130121141448-phpapp02
 
Sapperformancetestingbestpracticeguidev1 0-130121141448-phpapp02
Sapperformancetestingbestpracticeguidev1 0-130121141448-phpapp02Sapperformancetestingbestpracticeguidev1 0-130121141448-phpapp02
Sapperformancetestingbestpracticeguidev1 0-130121141448-phpapp02
 
SAP Performance Testing Best Practice Guide v1.0
SAP Performance Testing Best Practice Guide v1.0SAP Performance Testing Best Practice Guide v1.0
SAP Performance Testing Best Practice Guide v1.0
 
Managing Performance Globally with MySQL
Managing Performance Globally with MySQLManaging Performance Globally with MySQL
Managing Performance Globally with MySQL
 
Best practice for_agile_ds_projects
Best practice for_agile_ds_projectsBest practice for_agile_ds_projects
Best practice for_agile_ds_projects
 
Pay pal paypal continuous performance as a self-service with fully-automated...
Pay pal  paypal continuous performance as a self-service with fully-automated...Pay pal  paypal continuous performance as a self-service with fully-automated...
Pay pal paypal continuous performance as a self-service with fully-automated...
 
Doing Analytics Right - Designing and Automating Analytics
Doing Analytics Right - Designing and Automating AnalyticsDoing Analytics Right - Designing and Automating Analytics
Doing Analytics Right - Designing and Automating Analytics
 
Adding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance TestAdding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance Test
 
Workforce Management & BPM Integration
Workforce Management & BPM IntegrationWorkforce Management & BPM Integration
Workforce Management & BPM Integration
 
Performance Assurance for Packaged Applications
Performance Assurance for Packaged ApplicationsPerformance Assurance for Packaged Applications
Performance Assurance for Packaged Applications
 

More from Alfredo Krieg

Clone Oracle Databases In Minutes Without Risk Using Enterprise Manager 13c
Clone Oracle Databases In Minutes Without Risk Using Enterprise Manager 13cClone Oracle Databases In Minutes Without Risk Using Enterprise Manager 13c
Clone Oracle Databases In Minutes Without Risk Using Enterprise Manager 13cAlfredo Krieg
 
Exadata SMART Monitoring - OEM 13c
Exadata SMART Monitoring - OEM 13cExadata SMART Monitoring - OEM 13c
Exadata SMART Monitoring - OEM 13cAlfredo Krieg
 
Collaborate 2019 - How to Understand an AWR Report
Collaborate 2019 - How to Understand an AWR ReportCollaborate 2019 - How to Understand an AWR Report
Collaborate 2019 - How to Understand an AWR ReportAlfredo Krieg
 
Simplifying EBS 12.2 ADOP - Collaborate 2019
Simplifying EBS 12.2 ADOP - Collaborate 2019   Simplifying EBS 12.2 ADOP - Collaborate 2019
Simplifying EBS 12.2 ADOP - Collaborate 2019 Alfredo Krieg
 
Oracle database 12.2 new features
Oracle database 12.2 new featuresOracle database 12.2 new features
Oracle database 12.2 new featuresAlfredo Krieg
 
Where did my day go?: Oracle Enterprise Manager 12c/13c Administration
Where did my day go?: Oracle Enterprise Manager 12c/13c AdministrationWhere did my day go?: Oracle Enterprise Manager 12c/13c Administration
Where did my day go?: Oracle Enterprise Manager 12c/13c AdministrationAlfredo Krieg
 
Performance Management in Oracle 12c
Performance Management in Oracle 12cPerformance Management in Oracle 12c
Performance Management in Oracle 12cAlfredo Krieg
 
Monitor Engineered Systems from a Single Pane of Glass: Oracle Enterprise Man...
Monitor Engineered Systems from a Single Pane of Glass: Oracle Enterprise Man...Monitor Engineered Systems from a Single Pane of Glass: Oracle Enterprise Man...
Monitor Engineered Systems from a Single Pane of Glass: Oracle Enterprise Man...Alfredo Krieg
 
Where did my day go?: OEM 12c Administration #em12c #C15LV @IOUG
Where did my day go?: OEM 12c Administration #em12c #C15LV @IOUGWhere did my day go?: OEM 12c Administration #em12c #C15LV @IOUG
Where did my day go?: OEM 12c Administration #em12c #C15LV @IOUGAlfredo Krieg
 
Oracle SPM 12c. IOUG #C15LV
Oracle SPM 12c. IOUG #C15LVOracle SPM 12c. IOUG #C15LV
Oracle SPM 12c. IOUG #C15LVAlfredo Krieg
 
Oracle database performance are database users telling me the truth
Oracle database performance are database users telling me the truthOracle database performance are database users telling me the truth
Oracle database performance are database users telling me the truthAlfredo Krieg
 

More from Alfredo Krieg (11)

Clone Oracle Databases In Minutes Without Risk Using Enterprise Manager 13c
Clone Oracle Databases In Minutes Without Risk Using Enterprise Manager 13cClone Oracle Databases In Minutes Without Risk Using Enterprise Manager 13c
Clone Oracle Databases In Minutes Without Risk Using Enterprise Manager 13c
 
Exadata SMART Monitoring - OEM 13c
Exadata SMART Monitoring - OEM 13cExadata SMART Monitoring - OEM 13c
Exadata SMART Monitoring - OEM 13c
 
Collaborate 2019 - How to Understand an AWR Report
Collaborate 2019 - How to Understand an AWR ReportCollaborate 2019 - How to Understand an AWR Report
Collaborate 2019 - How to Understand an AWR Report
 
Simplifying EBS 12.2 ADOP - Collaborate 2019
Simplifying EBS 12.2 ADOP - Collaborate 2019   Simplifying EBS 12.2 ADOP - Collaborate 2019
Simplifying EBS 12.2 ADOP - Collaborate 2019
 
Oracle database 12.2 new features
Oracle database 12.2 new featuresOracle database 12.2 new features
Oracle database 12.2 new features
 
Where did my day go?: Oracle Enterprise Manager 12c/13c Administration
Where did my day go?: Oracle Enterprise Manager 12c/13c AdministrationWhere did my day go?: Oracle Enterprise Manager 12c/13c Administration
Where did my day go?: Oracle Enterprise Manager 12c/13c Administration
 
Performance Management in Oracle 12c
Performance Management in Oracle 12cPerformance Management in Oracle 12c
Performance Management in Oracle 12c
 
Monitor Engineered Systems from a Single Pane of Glass: Oracle Enterprise Man...
Monitor Engineered Systems from a Single Pane of Glass: Oracle Enterprise Man...Monitor Engineered Systems from a Single Pane of Glass: Oracle Enterprise Man...
Monitor Engineered Systems from a Single Pane of Glass: Oracle Enterprise Man...
 
Where did my day go?: OEM 12c Administration #em12c #C15LV @IOUG
Where did my day go?: OEM 12c Administration #em12c #C15LV @IOUGWhere did my day go?: OEM 12c Administration #em12c #C15LV @IOUG
Where did my day go?: OEM 12c Administration #em12c #C15LV @IOUG
 
Oracle SPM 12c. IOUG #C15LV
Oracle SPM 12c. IOUG #C15LVOracle SPM 12c. IOUG #C15LV
Oracle SPM 12c. IOUG #C15LV
 
Oracle database performance are database users telling me the truth
Oracle database performance are database users telling me the truthOracle database performance are database users telling me the truth
Oracle database performance are database users telling me the truth
 

Recently uploaded

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
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
 
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
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 

Recently uploaded (20)

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
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
 
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
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
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?
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 

553: Oracle Database Performance: Are Database Users Telling Me The Truth?

  • 1. Oracle Database Performance: Are Database Users Telling Me The Truth? Session # 553 REMINDER Check in on the COLLABORATE mobile app Prepared by: Alfredo Krieg Database Administrator The Sherwin Williams Company
  • 2. Agenda ■ Introduction ■ Performance Challenge ■ Case Study ■ The Method – Set Goals – Measure– Measure – Graph – Compare – Analyze ■ Anticipate ■ Tools ■ Summary
  • 3. Who am I? ■ Alfredo Krieg (Alfredo.Krieg.Villa@sherwin.com) ■ Senior Oracle Cloud Administrator at The Sherwin Williams Company based in Cleveland, Oh ■ OEM Cloud Control 12c and Database Performance Tuning■ OEM Cloud Control 12c and Database Performance Tuning ■ Oracle Technologies since 2004 & 11g Certified ■ Blog bitkode.blogspot.com
  • 4. Agenda ■ Introduction ■ Performance Challenge ■ Case Study ■ The Method – Set Goals – Measure– Measure – Graph – Compare – Analyze ■ Anticipate ■ Tools ■ Summary
  • 5. Performance Challenge ■ Difficult without a performance tuning method ■ Multiple metrics, ratios and performance data to look into ■ DBA’s sometimes rely in what users experience and communicate ■ Analyze wrong snapshots, not when problem really happened ■ Are DB users telling me the truth? What to do?
  • 6. Agenda ■ Introduction ■ Performance Challenge ■ Case Study ■ The Method – Set Goals – Measure– Measure – Graph – Compare – Analyze ■ Anticipate ■ Tools ■ Summary
  • 7. Case Study ■ Friday 10 am in the morning, DBA receives a call from a database user stating that the production DB is slow. DBA questions the user in order to better understand the situation: ▪ When did the performance issue start? ▪ Has this happened before? ▪ Is it just your session or are other users affected as well? ■ Database user responds using his/her best knowledge of the■ Database user responds using his/her best knowledge of the situation ▪ When did it start? I arrived today at 9 am and it was already slow! ▪ Has this happened before? Yes, it happened last Friday and the Friday before that too! ▪ Is it just your session or are other users affected as well? Seems like the entire department is being affected!
  • 8. Case Study ■ DBA trusts the user and starts comparing previous AWR/Statspack snapshots against the one contained between 9:30 am and 10 am. DBA gathers a couple of reports and looks at the ratios, CPU utilization and some other performance metrics finding not much change in the values when suddenly the user states that performance came back to normal and the call ends. “DBA Magic” ■ What happened?: ▪ There was no method ▪ Bottleneck was not identified ▪ Root cause was not identified ▪ No permanent fix applied
  • 9. Case Study ■ Key data communicated by the user ▪ At 9 am the problem was present ▪ Last 2 Fridays as well ▪ Entire department impacted ■ Do you trust in user?, We need to look into the DB system to see who’s right!
  • 10. Agenda ■ Introduction ■ Performance Challenge ■ Case Study ■ The Method – Set Goals – Measure– Measure – Graph – Compare – Analyze ■ Anticipate ■ Tools ■ Summary
  • 11. The Method ■ Must establish the stop tuning criteria ■ Define the scope of tuning ■ CTD (Compulsive Tuning Disorder) Set Goals ■ CTD (Compulsive Tuning Disorder) “Find out if the DB is slow/How slow? (Find the Response Time)” “Identify the period of time and the bottleneck of the performance issue reported by the DB user” “Identify if this issue has any relationship with the issue of the last 2 Fridays”
  • 12. Agenda ■ Introduction ■ Performance Challenge ■ Case Study ■ The Method – Set Goals – Measure– Measure – Graph – Compare – Analyze ■ Anticipate ■ Tools ■ Summary
  • 13. The Method ■ Oracle’s Kernel Instrumentation (Wait Interface) ■ System views v$sysstat, v$system_event & v$sys_time_model (session level views can be used to troubleshoot performance Measure problems at session level) TIMED_STATISTICS=TRUE (modifiable) ■ Calculate DB Response Time for a period of time ▪ Service Time ms (Total DB CPU consumption) ▪ Queue Time ms (Total Non Idle wait time) ▪ User calls (Unit of Work) ▪ Snapshot’s time frame (i.e. 15 min, 30 min, 60 min, etc)
  • 14. The Method ■ Queuing Theory (R = S + W) RT ms/uc = Service Time + Queue Time User Calls Measure ■ As per Oracle Documentation ▪ Response time refers to the amount of time Enterprise Server takes to return the results of a request to the user. The response time is affected by factors such as network bandwidth, number of users, number and type of requests submitted, and average think time.
  • 15. The Method ■ Choose a Unit of Work ▪ User Calls (overall activity) ▪ Physical Reads/Writes (I/O bound) ▪ Logical Reads/Writes (CPU bound) Measure ■ User Calls as Per Oracle Documentation ▪ “User Calls” represents the number of logins, parses, or execute calls during the sample period and is an overall activity level monitor. http://bitkode.blogspot.com/2013/08/testing-user-calls.html http://shallahamer-orapub.blogspot.com/2010/05/understanding-user-calls.html
  • 16. The Method ■ Take two snapshots from v$sysstat, v$system_event & v$sys_time_model and extract “Delta” values (Data Capture) ▪ Make use of AWR or Statspack (AWR requires license) verify retention! ▪ Extract AWR SQL script can be obtained from http://bitkode.blogspot.com/2014/02/extract-awr-data-to-build-response-time.html Measure http://bitkode.blogspot.com/2014/02/extract-awr-data-to-build-response-time.html ■ The smaller the time between snapshots the more accurate the measure (but higher the overhead?) ■ Calculate the Response Time of every delta and import the data into an spreadsheet
  • 17. The Method ■ Calculate the Mode/Average Response Time of your system ■ The Mode is the value that the most often appears in a set of data, ■ Average can make you lose the clear picture of the DB response time (skew data). Median is good as well! Measure time (skew data). Median is good as well! ■ See the difference between average, mode & median!
  • 18. Agenda ■ Introduction ■ Performance Challenge ■ Case Study ■ The Method – Set Goals – Measure– Measure – Graph – Compare – Analyze ■ Anticipate ■ Tools ■ Summary
  • 19. The Method ■ Plot Column SNAP_TIME Against NON_IDLE_WAIT, DB_CPU, UC & RT_MS_PER_UC Graph ■ Great Visuals of Database Performance But still unclear!
  • 20. Agenda ■ Introduction ■ Performance Challenge ■ Case Study ■ The Method – Set Goals – Measure– Measure – Graph – Compare – Analyze ■ Anticipate ■ Tools ■ Summary
  • 21. The Method ■ Slice and Dice data to compare only last 3 Fridays Compare ■ Remember that RT’s Mode was 2220 ms/uc
  • 22. The Method ■ Identify the time of the performance problem Compare ■ Spikes in Response Time & Non Idle Wait Time ■ Is slow?/How slow? 2.2 sec | > 40 sec
  • 23. Agenda ■ Introduction ■ Performance Challenge ■ Case Study ■ The Method – Set Goals – Measure– Measure – Graph – Compare – Analyze ■ Anticipate ■ Tools ■ Summary
  • 24. The Method ■ Focus on those 3 periods of time ▪ 5:30 am to 9:00 am ▪ 5:30 am to 9:00 am ▪ 7:00 am to 10:30 am ■ What changed when the performance “got bad”? Analyze ■ Use AWR/Statspack reports to Find Bottleneck
  • 25. The Method ■ Find Configuration Problems, Bad SQL, OS problems Analyze ■ Sessions asking for the same buffers through multiple instances
  • 26. The Method ■ What changed? Analyze
  • 27. The Method Who was correct? ■ Both were right! But get always the whole picture of the issue. ■ Question your system!
  • 28. The Method ■ Change application design ■ Increase network interconnect speed ■ Setup DB service Possible Solutions ■ Setup DB service ■ All solutions tied to company’s needs!
  • 29. Agenda ■ Introduction ■ Performance Challenge ■ Case Study ■ The Method – Set Goals – Measure– Measure – Graph – Compare – Analyze ■ Anticipate ■ Tools ■ Summary
  • 30. Anticipate ■ AWR & Statspack Not Real Time Data! ■ System Views v$sysstat, v$system_event & v$sys_time_model Close to Real Time ▪ Measure Response Time (Shrink time between Snapshots) ▪ Compare Against RT’s Mode/Median/Average ▪ Alert if Threshold Reached (Threshold not easy to define!)
  • 31. Agenda ■ Introduction ■ Performance Challenge ■ Case Study ■ The Method – Set Goals – Measure– Measure – Graph – Compare – Analyze ■ Anticipate ■ Tools ■ Summary
  • 32. Tools ■ Oracle Enterprise Manager ▪ Out of the box Metrics (RT per TXN) ▪ Adaptive Thresholds (fixed value, percent of maximum and significance level) ▪ Metric Extensions ■ 3rd Party Performance Tuning SW (cost)
  • 33. Agenda ■ Introduction ■ Performance Challenge ■ Case Study ■ The Method – Set Goals – Measure– Measure – Graph – Compare – Analyze ■ Anticipate ■ Tools ■ Summary
  • 34. Summary ■ Follow a method ■ Ask your DB system not just to users, know your system!, but also ask your users ■ Users experience different Response Times than DB system ■ Don’t waste your time by analyzing useless snapshots ■ Time is money! ■ If available, make use of provided tools
  • 35. Want more? ■ Shallahamer, Craig ▪ Book: “Oracle Performance Firefighting” (ISBN 978-0-9841023-0-3) ▪ http://shallahamer-orapub.blogspot.mx/2010/11/average-challenge- part-1.html ■ Sztrik, Dr. János ▪ Basic Queuing Theory http://irh.inf.unideb.hu/~jsztrik/education/16/SOR_Main_Angol.pdf ■ Millsap, Cary ▪ Thinking clearly about performance ▪ http://method-r.com/papers/file/44-thinking-clearly-about-performance http://method-r.com/papers/doc_download/44-thinking-clearly-about- performance-cary-millsap
  • 36. Thank You! Special thanks to: My manager & supervisor in The Sherwin Williams Company Friends and colleagues that helped with suggestions Friend and mentor from OR for all the support and suggestions My family to understand the extra time working
  • 37. Please complete the session evaluation on the mobile app We appreciate your feedback and insight This box will have simplified instructions about how to complete the session evaluation online