SlideShare a Scribd company logo
1 of 32
<Insert Picture Here>




MySQL Performance Schema
(OSI, 14th Oct, 2012)
Mayank Prasad
Sr. Software Engineer, MySQL-Oracle
Safe Harbor Statement

     The following is intended to outline our general product direction. It is
     intended for information purposes only, and may not be incorporated
     into any contract. It is not a commitment to deliver any material, code,
     or functionality, and should not be relied upon in making purchasing
     decision. The development, release, and timing of any features or
     functionality described for Oracle’s products remains at the sole
     discretion of Oracle.




2Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Agenda
     
           What is Performance Schema
     
           Origin and Development
     
           Design
     
           Configuration
     
           Server Variables and Status Variables
     
           Tables in Performance Schema
     
           An Example
     
           Benefits of Performance Schema
     
           Drawbacks of Performance Schema
     
           What's new in MySQL-5.6
     
           Q/A.
     
           Reference


3Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Why Performance Schema ??
     
           End user: why is my session stuck ?

     
           MySQL developer: why is this code contended ?

     
           App developer: why is my application slow ?

     
           DBA: why is this table hot ?

     
           Storage: why is this disk spinning ?

     
           Network: why is this link traffic high ?

     
           System: why is the global throughput low ?

4Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
What is Performance Schema

      Performance Schema is a mechanism to give user a consolidated view
      in a tabular format of what is happening behind the scene when
      MySQL Server is running.

      Information stored in tables. Can be accessed using SQL interface.

      Not persistent tables i.e. not stored on disk. Once server is stopped,
      all information in PS tables is gone.




5Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Origin and Development

      Development was started by Marc Alff and Peter Gulutzan in 2008.

      First introduced in MySQL-5.5 with minimal functionality.

      Since then development is on full pace.

      Next plan GA is MySQL-5.6 with number of new features introduced.




6Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Design
         A new storage Engine : Performance Schema.

         A new database : Performance Schema (with hard-coded DDL).

         Instruments and instrumentation points in code.

         Consumers.

         Tracking events (Wait, Stage, Statements, Idle).

         Timings.

         Dynamic configuration for instruments/consumers.

7Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Design : Instrumentation




8Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Design : Instrumentation contd.

       Instrumentation for :

       
             I/O operations (File I/O, Table I/O, NET I/O)
       
             Locking (mutex, rwlocks, table locks)
       
             Waits
       
             Statements
       
             Stages
             
               and so on ...




9Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Design : Event Waits Instrumentation

       Monitored wait events.

       Tables & Summary tables.

       Instruments naming convention:

                     wait/io/file|socket|table
                     wait/lock
                     wait/synch/cond|mutex|rwlock




10Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Design : Event Wait Instrumentation contd.




11Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Design : Event Stage Instrumentation

       Instrumented stage events.


       Tables and Summary Tables.


       Instruments naming convention:

                     stage/<code_area>/<stage_name




12Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Design : Event Stage Instrumentation contd.




13Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Design : Event Statements Instrumentation

       Instrumented statement events.


       Tables and Summary Tables.


       Instruments naming convention:

                     statement/com|sql




14Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Design : Event Statements Instrumentation
                                       contd.




15Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Nested Events


                                                          Statement
                                                                         Stage
                                                                                 Wait
                                                                                 sync, lock, i/o




16Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Nested Events contd.




17Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Design : Timings

       Available timers.



       Timers setup in Performance
       Schema.


       Configurable option for any
       instrument to be timed.



18Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Configuration

        Compile time:
              -DWITH_PERFSCHEMA_STORAGE_ENGINE=1

        Server start-up: (enabled in 5.6 by default)
        From configuration file:
          [mysqld]
          performance_schema=ON/1
          performance_schema_consumers_<consumer_name>=on/true/1
          performance_schema_events_waits_history_size=<some_number>
          performance_schema_instruments='<instrument_name=on/true/1'

        From command line:
          l
             --<all_above_options>

        Runtime:
          Update performance_schema.setup_consumers set ENABLED='YES' where
          NAME='events_waits_history';




19Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Server Variables

         Variables values at the run
         time.




20Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Status Variables

       Status information of
       Performance Schema at run
       time.

       Used to inspect lost
       information.




21Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Tables in Performance Schema

        Total 52 tables (only 17 in 5.5)

        Main category:
        l
              setup_tables
        l
              Instance_tables
        l
              wait_events_tables
        l
              stage_events_tables
        l
              statement_event_tables
        l
              connection_tables
        l
              connection_attribute_tables
        l
              summary_tables
        l
              miscellaneous_tables




22Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Tables in Performance Schema contd.

       setup_consumers




23Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Tables in Performance Schema contd.

       setup_instruments




24Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Tables in Performance Schema contd.

       events_statements_summary_global_by_event_name




25Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Example to use PS to diagnose an issue

        In a multi threaded scenario, thread_1 is stuck.

        l
              Find out what thread 1 is waiting for:
              l
                SELECT * FROM events_waits_current WHERE THREAD_ID = thread_1;
              Say thread1 is waiting for mutex_A (Column OBJECT_INSTANCE_BEGIN).

        l
              Find out who has taken mutex_A.
              l
                 SELECT * FROM mutex_instances WHERE OBJECT_INSTANCE_BEGIN = mutex_A;
              thread_2 is holding mutex_A. (Column LOCKED_BY_THREAD_ID)

        l
              Find out what thread_2 is waiting for:
              l
                    SELECT * FROM events_waits_current WHERE THREAD_ID = thread_2;




26Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Benefits of Performance Schema
       l
              Great insight of a running MySQL server.

       l
              Good granularity of information (nested events).

       l
              Available irrespective of platforms.

       l
              User friendly with well known SQL interface.

       l
              Multiple summary tables to give consolidated view to user.

       l
              Can be configured to meet user's need at run time.



27Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Drawbacks of Performance Schema

       Only drawback is impact on performance.

       Depends on PS configuration. All enable, noticeable hit.

       Improved significantly in 5.6 and enabled by default. Less then 5%
       with default instrumentation enabled.

       Getting better and better …




28Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Whats new in MySQL-5.6

       Instrumenting Table I/O.
       Instrumenting Table Lock.
       Instrumenting NET I/O.
       Instrumenting Stages.
       Instrumenting Statements.
       Multiple summary tables.
       Host cache.
       ... and many more.




29Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
Reference

       MySQL documentation:
       http://dev.mysql.com/doc/refman/5.6/en/performance-schema.html


       PS overhead analysis:
       http://dimitrik.free.fr/blog/archives/2012/06/mysql-performance-pfs-overhead-in-56.html

       Blogs :
       http://marcalff.blogspot.com/
       http://www.markleith.co.uk/




30Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
<Insert Picture Here>




Thanks for attending!
MySQL at Glance
      OSI, October 12-14, Bangalore
        Sessions are happening at
        10/12 Workshop                                                   “MySQL Performance Tuning”
        10/13 Workshop                                                   “MySQL Cluster”
        10/14
         - 09:45-10:30 Keynote                                           “The State Of The Dolphin”
         - 10:30-11:15 Session                                           “MySQL Is Exciting Again”
         - 12:45-13:30 Session                                           “Mysql 5.6 Optimizer Improvements”
         - 14:15-15:00 Panel Discussion                                  “FOSS Fueled Innovation”
         - 15:45-16:30 Session                                           “MySQL Cluster With A Mix & Match Of In-Memory Database & No SQL”
         - 16:30-17:15 Session                                           “MySQL Performance Schema”

        Come and meet with MySQL Engineers and Experts and join us with
        “Live Workshop” at our booth!!




32Copyright © 2012, Oracle and/or its affiliates. All rights reserved.

More Related Content

What's hot

Introduction to MySQL Enterprise Monitor
Introduction to MySQL Enterprise MonitorIntroduction to MySQL Enterprise Monitor
Introduction to MySQL Enterprise Monitor
Mark Leith
 

What's hot (20)

Introduction to Machine Learning - From DBA's to Data Scientists - OGBEMEA
Introduction to Machine Learning - From DBA's to Data Scientists - OGBEMEAIntroduction to Machine Learning - From DBA's to Data Scientists - OGBEMEA
Introduction to Machine Learning - From DBA's to Data Scientists - OGBEMEA
 
MySQL Monitoring Mechanisms
MySQL Monitoring MechanismsMySQL Monitoring Mechanisms
MySQL Monitoring Mechanisms
 
[❤PDF❤] Oracle 19c Database Administration Oracle Simplified
[❤PDF❤] Oracle 19c Database Administration Oracle Simplified [❤PDF❤] Oracle 19c Database Administration Oracle Simplified
[❤PDF❤] Oracle 19c Database Administration Oracle Simplified
 
Presentation upgrade, migrate &amp; consolidate to oracle database 12c &amp...
Presentation   upgrade, migrate &amp; consolidate to oracle database 12c &amp...Presentation   upgrade, migrate &amp; consolidate to oracle database 12c &amp...
Presentation upgrade, migrate &amp; consolidate to oracle database 12c &amp...
 
What to Expect From Oracle database 19c
What to Expect From Oracle database 19cWhat to Expect From Oracle database 19c
What to Expect From Oracle database 19c
 
Instrumenting plugins for Performance Schema
Instrumenting plugins for Performance SchemaInstrumenting plugins for Performance Schema
Instrumenting plugins for Performance Schema
 
LAD - GroundBreakers - Jul 2019 - Using Oracle Autonomous Health Framework to...
LAD - GroundBreakers - Jul 2019 - Using Oracle Autonomous Health Framework to...LAD - GroundBreakers - Jul 2019 - Using Oracle Autonomous Health Framework to...
LAD - GroundBreakers - Jul 2019 - Using Oracle Autonomous Health Framework to...
 
Beyond SQL Tuning: Insider's Guide to Maximizing SQL Performance
Beyond SQL Tuning: Insider's Guide to Maximizing SQL PerformanceBeyond SQL Tuning: Insider's Guide to Maximizing SQL Performance
Beyond SQL Tuning: Insider's Guide to Maximizing SQL Performance
 
Dimensional modeling in oracle sql developer
Dimensional modeling in oracle sql developerDimensional modeling in oracle sql developer
Dimensional modeling in oracle sql developer
 
DevSecOps PLM L2 Playbook.pdf
DevSecOps PLM L2 Playbook.pdfDevSecOps PLM L2 Playbook.pdf
DevSecOps PLM L2 Playbook.pdf
 
Introduction to MySQL Enterprise Monitor
Introduction to MySQL Enterprise MonitorIntroduction to MySQL Enterprise Monitor
Introduction to MySQL Enterprise Monitor
 
Windowing Functions - Little Rock Tech Fest 2019
Windowing Functions - Little Rock Tech Fest 2019Windowing Functions - Little Rock Tech Fest 2019
Windowing Functions - Little Rock Tech Fest 2019
 
What_to_expect_from_oracle_database_12c
What_to_expect_from_oracle_database_12cWhat_to_expect_from_oracle_database_12c
What_to_expect_from_oracle_database_12c
 
Things learned from OpenWorld 2013
Things learned from OpenWorld 2013Things learned from OpenWorld 2013
Things learned from OpenWorld 2013
 
20 tips and tricks with the Autonomous Database
20 tips and tricks with the Autonomous Database20 tips and tricks with the Autonomous Database
20 tips and tricks with the Autonomous Database
 
Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive
 
Sangam 18 - The New Optimizer in Oracle 12c
Sangam 18 - The New Optimizer in Oracle 12cSangam 18 - The New Optimizer in Oracle 12c
Sangam 18 - The New Optimizer in Oracle 12c
 
OTN TOUR 2016 - Oracle Database 12c - The Best Oracle Database 12c Tuning Fea...
OTN TOUR 2016 - Oracle Database 12c - The Best Oracle Database 12c Tuning Fea...OTN TOUR 2016 - Oracle Database 12c - The Best Oracle Database 12c Tuning Fea...
OTN TOUR 2016 - Oracle Database 12c - The Best Oracle Database 12c Tuning Fea...
 
OTN TOUR 2016 - Oracle Database 12c - The Best Oracle Database 12c New Featur...
OTN TOUR 2016 - Oracle Database 12c - The Best Oracle Database 12c New Featur...OTN TOUR 2016 - Oracle Database 12c - The Best Oracle Database 12c New Featur...
OTN TOUR 2016 - Oracle Database 12c - The Best Oracle Database 12c New Featur...
 
How to use Exachk effectively to manage Exadata environments OGBEmea
How to use Exachk effectively to manage Exadata environments OGBEmeaHow to use Exachk effectively to manage Exadata environments OGBEmea
How to use Exachk effectively to manage Exadata environments OGBEmea
 

Similar to OSI_MySQL_Performance Schema

Oracle - Enterprise Manager 12c Overview
Oracle - Enterprise Manager 12c OverviewOracle - Enterprise Manager 12c Overview
Oracle - Enterprise Manager 12c Overview
Fred Sim
 
Otm 2013 c13_e-17a-plessis-elisabeth-otm-self-help
Otm 2013 c13_e-17a-plessis-elisabeth-otm-self-helpOtm 2013 c13_e-17a-plessis-elisabeth-otm-self-help
Otm 2013 c13_e-17a-plessis-elisabeth-otm-self-help
jucaab
 
Ebs troubleshooting con9019_pdf_9019_0001
Ebs troubleshooting con9019_pdf_9019_0001Ebs troubleshooting con9019_pdf_9019_0001
Ebs troubleshooting con9019_pdf_9019_0001
jucaab
 
10 Tips for Java EE 7 with PrimeFaces - JavaOne 2013
10 Tips for Java EE 7 with PrimeFaces - JavaOne 201310 Tips for Java EE 7 with PrimeFaces - JavaOne 2013
10 Tips for Java EE 7 with PrimeFaces - JavaOne 2013
Martin Fousek
 
Ebs performance tuning session feb 13 2013---Presented by Oracle
Ebs performance tuning session  feb 13 2013---Presented by OracleEbs performance tuning session  feb 13 2013---Presented by Oracle
Ebs performance tuning session feb 13 2013---Presented by Oracle
Akash Pramanik
 
JavaFX and JEE 7
JavaFX and JEE 7JavaFX and JEE 7
JavaFX and JEE 7
Vijay Nair
 

Similar to OSI_MySQL_Performance Schema (20)

Oracle - Enterprise Manager 12c Overview
Oracle - Enterprise Manager 12c OverviewOracle - Enterprise Manager 12c Overview
Oracle - Enterprise Manager 12c Overview
 
Marcin Szałowicz - MySQL Workbench
Marcin Szałowicz - MySQL WorkbenchMarcin Szałowicz - MySQL Workbench
Marcin Szałowicz - MySQL Workbench
 
Otm 2013 c13_e-17a-plessis-elisabeth-otm-self-help
Otm 2013 c13_e-17a-plessis-elisabeth-otm-self-helpOtm 2013 c13_e-17a-plessis-elisabeth-otm-self-help
Otm 2013 c13_e-17a-plessis-elisabeth-otm-self-help
 
Ebs troubleshooting con9019_pdf_9019_0001
Ebs troubleshooting con9019_pdf_9019_0001Ebs troubleshooting con9019_pdf_9019_0001
Ebs troubleshooting con9019_pdf_9019_0001
 
GlassFish in Production Environments
GlassFish in Production EnvironmentsGlassFish in Production Environments
GlassFish in Production Environments
 
Optimizing the Enterprise Manager 12c
Optimizing the Enterprise Manager 12cOptimizing the Enterprise Manager 12c
Optimizing the Enterprise Manager 12c
 
Developing Applications with MySQL and Java
Developing Applications with MySQL and JavaDeveloping Applications with MySQL and Java
Developing Applications with MySQL and Java
 
Con8833 access at scale for hundreds of millions of users final
Con8833 access at scale for hundreds of millions of users   finalCon8833 access at scale for hundreds of millions of users   final
Con8833 access at scale for hundreds of millions of users final
 
10 Tips for Java EE 7 with PrimeFaces - JavaOne 2013
10 Tips for Java EE 7 with PrimeFaces - JavaOne 201310 Tips for Java EE 7 with PrimeFaces - JavaOne 2013
10 Tips for Java EE 7 with PrimeFaces - JavaOne 2013
 
Batch Applications for the Java Platform
Batch Applications for the Java PlatformBatch Applications for the Java Platform
Batch Applications for the Java Platform
 
206510 p6 upgrade considerations
206510 p6 upgrade considerations206510 p6 upgrade considerations
206510 p6 upgrade considerations
 
MySQL 5.7: Performance Schema Improvements
MySQL 5.7: Performance Schema ImprovementsMySQL 5.7: Performance Schema Improvements
MySQL 5.7: Performance Schema Improvements
 
OOW-TBE-12c-CON7307-Sharable
OOW-TBE-12c-CON7307-SharableOOW-TBE-12c-CON7307-Sharable
OOW-TBE-12c-CON7307-Sharable
 
Ebs performance tuning session feb 13 2013---Presented by Oracle
Ebs performance tuning session  feb 13 2013---Presented by OracleEbs performance tuning session  feb 13 2013---Presented by Oracle
Ebs performance tuning session feb 13 2013---Presented by Oracle
 
Performance Schema and Sys Schema in MySQL 5.7
Performance Schema and Sys Schema in MySQL 5.7Performance Schema and Sys Schema in MySQL 5.7
Performance Schema and Sys Schema in MySQL 5.7
 
JavaFX and JEE 7
JavaFX and JEE 7JavaFX and JEE 7
JavaFX and JEE 7
 
Revisiting Silent: Installs Are they still useful?
Revisiting Silent: Installs Are they still useful?Revisiting Silent: Installs Are they still useful?
Revisiting Silent: Installs Are they still useful?
 
Continuous Performance Monitoring of a Distributed Application [CON4730]
Continuous Performance Monitoring of a Distributed Application [CON4730]Continuous Performance Monitoring of a Distributed Application [CON4730]
Continuous Performance Monitoring of a Distributed Application [CON4730]
 
Batch Applications for Java Platform 1.0: Java EE 7 and GlassFish
Batch Applications for Java Platform 1.0: Java EE 7 and GlassFishBatch Applications for Java Platform 1.0: Java EE 7 and GlassFish
Batch Applications for Java Platform 1.0: Java EE 7 and GlassFish
 
Why Upgrade to Oracle Database 12c?
Why Upgrade to Oracle Database 12c?Why Upgrade to Oracle Database 12c?
Why Upgrade to Oracle Database 12c?
 

Recently uploaded

All Hotel Karnal Call Girls 08168329307 Noor Mahal Karnal Escort Service
All Hotel Karnal Call Girls 08168329307 Noor Mahal Karnal Escort ServiceAll Hotel Karnal Call Girls 08168329307 Noor Mahal Karnal Escort Service
All Hotel Karnal Call Girls 08168329307 Noor Mahal Karnal Escort Service
Apsara Of India
 
💗📲09602870969💕-Royal Escorts in Udaipur Call Girls Service Udaipole-Fateh Sag...
💗📲09602870969💕-Royal Escorts in Udaipur Call Girls Service Udaipole-Fateh Sag...💗📲09602870969💕-Royal Escorts in Udaipur Call Girls Service Udaipole-Fateh Sag...
💗📲09602870969💕-Royal Escorts in Udaipur Call Girls Service Udaipole-Fateh Sag...
Apsara Of India
 
👉Amritsar Escorts📞Book Now📞👉 8725944379 👉Amritsar Escort Service No Advance C...
👉Amritsar Escorts📞Book Now📞👉 8725944379 👉Amritsar Escort Service No Advance C...👉Amritsar Escorts📞Book Now📞👉 8725944379 👉Amritsar Escort Service No Advance C...
👉Amritsar Escorts📞Book Now📞👉 8725944379 👉Amritsar Escort Service No Advance C...
Sheetaleventcompany
 
Escorts Service In North Goa Panjim⚕️9971646499⚕️ Team Suport Goa Call girls...
Escorts Service In North Goa Panjim⚕️9971646499⚕️ Team Suport  Goa Call girls...Escorts Service In North Goa Panjim⚕️9971646499⚕️ Team Suport  Goa Call girls...
Escorts Service In North Goa Panjim⚕️9971646499⚕️ Team Suport Goa Call girls...
ritikaroy0888
 
Chandigarh Escorts Service 📞9915851334📞 Just📲 Call Rajveer Chandigarh Call Gi...
Chandigarh Escorts Service 📞9915851334📞 Just📲 Call Rajveer Chandigarh Call Gi...Chandigarh Escorts Service 📞9915851334📞 Just📲 Call Rajveer Chandigarh Call Gi...
Chandigarh Escorts Service 📞9915851334📞 Just📲 Call Rajveer Chandigarh Call Gi...
rajveermohali2022
 
VIP Call Girls In Karnal 08168329307 Nilokheri Call Girls Escorts Service
VIP Call Girls In Karnal 08168329307 Nilokheri Call Girls Escorts ServiceVIP Call Girls In Karnal 08168329307 Nilokheri Call Girls Escorts Service
VIP Call Girls In Karnal 08168329307 Nilokheri Call Girls Escorts Service
Apsara Of India
 
👉Amritsar Call Girl 👉📞 8725944379 👉📞 Just📲 Call Mack Call Girls Service In Am...
👉Amritsar Call Girl 👉📞 8725944379 👉📞 Just📲 Call Mack Call Girls Service In Am...👉Amritsar Call Girl 👉📞 8725944379 👉📞 Just📲 Call Mack Call Girls Service In Am...
👉Amritsar Call Girl 👉📞 8725944379 👉📞 Just📲 Call Mack Call Girls Service In Am...
Sheetaleventcompany
 
Chandigarh Escorts Service ☎ 9915851334 ☎ Top Class Call Girls Service In Moh...
Chandigarh Escorts Service ☎ 9915851334 ☎ Top Class Call Girls Service In Moh...Chandigarh Escorts Service ☎ 9915851334 ☎ Top Class Call Girls Service In Moh...
Chandigarh Escorts Service ☎ 9915851334 ☎ Top Class Call Girls Service In Moh...
rajveermohali2022
 

Recently uploaded (20)

Nalasopara Call Girls Services 9892124323 Home and Hotel Delivery Free
Nalasopara Call Girls Services 9892124323 Home and Hotel Delivery FreeNalasopara Call Girls Services 9892124323 Home and Hotel Delivery Free
Nalasopara Call Girls Services 9892124323 Home and Hotel Delivery Free
 
Bishnupur 💋 Book Call Girls Night 7k to 12k ️8250077686 💋 High Profile Model...
Bishnupur 💋 Book Call Girls Night 7k to 12k  ️8250077686 💋 High Profile Model...Bishnupur 💋 Book Call Girls Night 7k to 12k  ️8250077686 💋 High Profile Model...
Bishnupur 💋 Book Call Girls Night 7k to 12k ️8250077686 💋 High Profile Model...
 
Night 7k to 12k Chennai Call Girls 👉👉 8617697112⭐⭐ 100% Genuine Escort Servic...
Night 7k to 12k Chennai Call Girls 👉👉 8617697112⭐⭐ 100% Genuine Escort Servic...Night 7k to 12k Chennai Call Girls 👉👉 8617697112⭐⭐ 100% Genuine Escort Servic...
Night 7k to 12k Chennai Call Girls 👉👉 8617697112⭐⭐ 100% Genuine Escort Servic...
 
Call Girls in Bangalore Prachi 💋9136956627 Bangalore Call Girls
Call Girls in  Bangalore Prachi 💋9136956627 Bangalore Call GirlsCall Girls in  Bangalore Prachi 💋9136956627 Bangalore Call Girls
Call Girls in Bangalore Prachi 💋9136956627 Bangalore Call Girls
 
Pooja : 9892124323, Dharavi Call Girls. 7000 Cash Payment Free Home Delivery
Pooja : 9892124323, Dharavi Call Girls. 7000 Cash Payment Free Home DeliveryPooja : 9892124323, Dharavi Call Girls. 7000 Cash Payment Free Home Delivery
Pooja : 9892124323, Dharavi Call Girls. 7000 Cash Payment Free Home Delivery
 
All Hotel Karnal Call Girls 08168329307 Noor Mahal Karnal Escort Service
All Hotel Karnal Call Girls 08168329307 Noor Mahal Karnal Escort ServiceAll Hotel Karnal Call Girls 08168329307 Noor Mahal Karnal Escort Service
All Hotel Karnal Call Girls 08168329307 Noor Mahal Karnal Escort Service
 
💗📲09602870969💕-Royal Escorts in Udaipur Call Girls Service Udaipole-Fateh Sag...
💗📲09602870969💕-Royal Escorts in Udaipur Call Girls Service Udaipole-Fateh Sag...💗📲09602870969💕-Royal Escorts in Udaipur Call Girls Service Udaipole-Fateh Sag...
💗📲09602870969💕-Royal Escorts in Udaipur Call Girls Service Udaipole-Fateh Sag...
 
👉Amritsar Escorts📞Book Now📞👉 8725944379 👉Amritsar Escort Service No Advance C...
👉Amritsar Escorts📞Book Now📞👉 8725944379 👉Amritsar Escort Service No Advance C...👉Amritsar Escorts📞Book Now📞👉 8725944379 👉Amritsar Escort Service No Advance C...
👉Amritsar Escorts📞Book Now📞👉 8725944379 👉Amritsar Escort Service No Advance C...
 
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
 
Escorts Service In North Goa Panjim⚕️9971646499⚕️ Team Suport Goa Call girls...
Escorts Service In North Goa Panjim⚕️9971646499⚕️ Team Suport  Goa Call girls...Escorts Service In North Goa Panjim⚕️9971646499⚕️ Team Suport  Goa Call girls...
Escorts Service In North Goa Panjim⚕️9971646499⚕️ Team Suport Goa Call girls...
 
Just Call Vip call girls Kolhapur Escorts ☎️8617370543 Starting From 5K to 25...
Just Call Vip call girls Kolhapur Escorts ☎️8617370543 Starting From 5K to 25...Just Call Vip call girls Kolhapur Escorts ☎️8617370543 Starting From 5K to 25...
Just Call Vip call girls Kolhapur Escorts ☎️8617370543 Starting From 5K to 25...
 
Call Girl In Zirakpur👧 Book Now📱7837612180 📞👉Zirakpur Call Girls Service No A...
Call Girl In Zirakpur👧 Book Now📱7837612180 📞👉Zirakpur Call Girls Service No A...Call Girl In Zirakpur👧 Book Now📱7837612180 📞👉Zirakpur Call Girls Service No A...
Call Girl In Zirakpur👧 Book Now📱7837612180 📞👉Zirakpur Call Girls Service No A...
 
Call Girls Dholpur Just Call 8617370543Top Class Call Girl Service Available
Call Girls Dholpur Just Call 8617370543Top Class Call Girl Service AvailableCall Girls Dholpur Just Call 8617370543Top Class Call Girl Service Available
Call Girls Dholpur Just Call 8617370543Top Class Call Girl Service Available
 
CALL GIRLS IN Munirka :- (1X 97111 47426 ENJOY 🔝
CALL GIRLS IN Munirka :- (1X 97111 47426  ENJOY 🔝CALL GIRLS IN Munirka :- (1X 97111 47426  ENJOY 🔝
CALL GIRLS IN Munirka :- (1X 97111 47426 ENJOY 🔝
 
Call girls in Vashi Service 7738596112 Free Delivery 24x7 at Your Doorstep
Call girls in Vashi Service 7738596112 Free Delivery 24x7 at Your DoorstepCall girls in Vashi Service 7738596112 Free Delivery 24x7 at Your Doorstep
Call girls in Vashi Service 7738596112 Free Delivery 24x7 at Your Doorstep
 
Call Girls In Mumbai Just Genuine Call ☎ 7738596112✅ Call Girl Andheri East P...
Call Girls In Mumbai Just Genuine Call ☎ 7738596112✅ Call Girl Andheri East P...Call Girls In Mumbai Just Genuine Call ☎ 7738596112✅ Call Girl Andheri East P...
Call Girls In Mumbai Just Genuine Call ☎ 7738596112✅ Call Girl Andheri East P...
 
Chandigarh Escorts Service 📞9915851334📞 Just📲 Call Rajveer Chandigarh Call Gi...
Chandigarh Escorts Service 📞9915851334📞 Just📲 Call Rajveer Chandigarh Call Gi...Chandigarh Escorts Service 📞9915851334📞 Just📲 Call Rajveer Chandigarh Call Gi...
Chandigarh Escorts Service 📞9915851334📞 Just📲 Call Rajveer Chandigarh Call Gi...
 
VIP Call Girls In Karnal 08168329307 Nilokheri Call Girls Escorts Service
VIP Call Girls In Karnal 08168329307 Nilokheri Call Girls Escorts ServiceVIP Call Girls In Karnal 08168329307 Nilokheri Call Girls Escorts Service
VIP Call Girls In Karnal 08168329307 Nilokheri Call Girls Escorts Service
 
👉Amritsar Call Girl 👉📞 8725944379 👉📞 Just📲 Call Mack Call Girls Service In Am...
👉Amritsar Call Girl 👉📞 8725944379 👉📞 Just📲 Call Mack Call Girls Service In Am...👉Amritsar Call Girl 👉📞 8725944379 👉📞 Just📲 Call Mack Call Girls Service In Am...
👉Amritsar Call Girl 👉📞 8725944379 👉📞 Just📲 Call Mack Call Girls Service In Am...
 
Chandigarh Escorts Service ☎ 9915851334 ☎ Top Class Call Girls Service In Moh...
Chandigarh Escorts Service ☎ 9915851334 ☎ Top Class Call Girls Service In Moh...Chandigarh Escorts Service ☎ 9915851334 ☎ Top Class Call Girls Service In Moh...
Chandigarh Escorts Service ☎ 9915851334 ☎ Top Class Call Girls Service In Moh...
 

OSI_MySQL_Performance Schema

  • 1. <Insert Picture Here> MySQL Performance Schema (OSI, 14th Oct, 2012) Mayank Prasad Sr. Software Engineer, MySQL-Oracle
  • 2. Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decision. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 2Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 3. Agenda  What is Performance Schema  Origin and Development  Design  Configuration  Server Variables and Status Variables  Tables in Performance Schema  An Example  Benefits of Performance Schema  Drawbacks of Performance Schema  What's new in MySQL-5.6  Q/A.  Reference 3Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 4. Why Performance Schema ??  End user: why is my session stuck ?  MySQL developer: why is this code contended ?  App developer: why is my application slow ?  DBA: why is this table hot ?  Storage: why is this disk spinning ?  Network: why is this link traffic high ?  System: why is the global throughput low ? 4Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 5. What is Performance Schema Performance Schema is a mechanism to give user a consolidated view in a tabular format of what is happening behind the scene when MySQL Server is running. Information stored in tables. Can be accessed using SQL interface. Not persistent tables i.e. not stored on disk. Once server is stopped, all information in PS tables is gone. 5Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 6. Origin and Development Development was started by Marc Alff and Peter Gulutzan in 2008. First introduced in MySQL-5.5 with minimal functionality. Since then development is on full pace. Next plan GA is MySQL-5.6 with number of new features introduced. 6Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 7. Design A new storage Engine : Performance Schema. A new database : Performance Schema (with hard-coded DDL). Instruments and instrumentation points in code. Consumers. Tracking events (Wait, Stage, Statements, Idle). Timings. Dynamic configuration for instruments/consumers. 7Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 8. Design : Instrumentation 8Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 9. Design : Instrumentation contd. Instrumentation for :  I/O operations (File I/O, Table I/O, NET I/O)  Locking (mutex, rwlocks, table locks)  Waits  Statements  Stages  and so on ... 9Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 10. Design : Event Waits Instrumentation Monitored wait events. Tables & Summary tables. Instruments naming convention: wait/io/file|socket|table wait/lock wait/synch/cond|mutex|rwlock 10Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 11. Design : Event Wait Instrumentation contd. 11Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 12. Design : Event Stage Instrumentation Instrumented stage events. Tables and Summary Tables. Instruments naming convention: stage/<code_area>/<stage_name 12Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 13. Design : Event Stage Instrumentation contd. 13Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 14. Design : Event Statements Instrumentation Instrumented statement events. Tables and Summary Tables. Instruments naming convention: statement/com|sql 14Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 15. Design : Event Statements Instrumentation contd. 15Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 16. Nested Events Statement Stage Wait sync, lock, i/o 16Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 17. Nested Events contd. 17Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 18. Design : Timings Available timers. Timers setup in Performance Schema. Configurable option for any instrument to be timed. 18Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 19. Configuration Compile time: -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 Server start-up: (enabled in 5.6 by default) From configuration file: [mysqld] performance_schema=ON/1 performance_schema_consumers_<consumer_name>=on/true/1 performance_schema_events_waits_history_size=<some_number> performance_schema_instruments='<instrument_name=on/true/1' From command line: l --<all_above_options> Runtime: Update performance_schema.setup_consumers set ENABLED='YES' where NAME='events_waits_history'; 19Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 20. Server Variables Variables values at the run time. 20Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 21. Status Variables Status information of Performance Schema at run time. Used to inspect lost information. 21Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 22. Tables in Performance Schema Total 52 tables (only 17 in 5.5) Main category: l setup_tables l Instance_tables l wait_events_tables l stage_events_tables l statement_event_tables l connection_tables l connection_attribute_tables l summary_tables l miscellaneous_tables 22Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 23. Tables in Performance Schema contd. setup_consumers 23Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 24. Tables in Performance Schema contd. setup_instruments 24Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 25. Tables in Performance Schema contd. events_statements_summary_global_by_event_name 25Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 26. Example to use PS to diagnose an issue In a multi threaded scenario, thread_1 is stuck. l Find out what thread 1 is waiting for: l SELECT * FROM events_waits_current WHERE THREAD_ID = thread_1; Say thread1 is waiting for mutex_A (Column OBJECT_INSTANCE_BEGIN). l Find out who has taken mutex_A. l SELECT * FROM mutex_instances WHERE OBJECT_INSTANCE_BEGIN = mutex_A; thread_2 is holding mutex_A. (Column LOCKED_BY_THREAD_ID) l Find out what thread_2 is waiting for: l SELECT * FROM events_waits_current WHERE THREAD_ID = thread_2; 26Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 27. Benefits of Performance Schema l Great insight of a running MySQL server. l Good granularity of information (nested events). l Available irrespective of platforms. l User friendly with well known SQL interface. l Multiple summary tables to give consolidated view to user. l Can be configured to meet user's need at run time. 27Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 28. Drawbacks of Performance Schema Only drawback is impact on performance. Depends on PS configuration. All enable, noticeable hit. Improved significantly in 5.6 and enabled by default. Less then 5% with default instrumentation enabled. Getting better and better … 28Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 29. Whats new in MySQL-5.6 Instrumenting Table I/O. Instrumenting Table Lock. Instrumenting NET I/O. Instrumenting Stages. Instrumenting Statements. Multiple summary tables. Host cache. ... and many more. 29Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 30. Reference MySQL documentation: http://dev.mysql.com/doc/refman/5.6/en/performance-schema.html PS overhead analysis: http://dimitrik.free.fr/blog/archives/2012/06/mysql-performance-pfs-overhead-in-56.html Blogs : http://marcalff.blogspot.com/ http://www.markleith.co.uk/ 30Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • 32. MySQL at Glance OSI, October 12-14, Bangalore Sessions are happening at 10/12 Workshop “MySQL Performance Tuning” 10/13 Workshop “MySQL Cluster” 10/14 - 09:45-10:30 Keynote “The State Of The Dolphin” - 10:30-11:15 Session “MySQL Is Exciting Again” - 12:45-13:30 Session “Mysql 5.6 Optimizer Improvements” - 14:15-15:00 Panel Discussion “FOSS Fueled Innovation” - 15:45-16:30 Session “MySQL Cluster With A Mix & Match Of In-Memory Database & No SQL” - 16:30-17:15 Session “MySQL Performance Schema” Come and meet with MySQL Engineers and Experts and join us with “Live Workshop” at our booth!! 32Copyright © 2012, Oracle and/or its affiliates. All rights reserved.