• Save
OSI_MySQL_Performance Schema
Upcoming SlideShare
Loading in...5
×
 

OSI_MySQL_Performance Schema

on

  • 772 views

This Presentation I used in OSI-Days conference @ Bangalore on 14th Oct, 2012.

This Presentation I used in OSI-Days conference @ Bangalore on 14th Oct, 2012.

Statistics

Views

Total Views
772
Views on SlideShare
772
Embed Views
0

Actions

Likes
2
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

OSI_MySQL_Performance Schema OSI_MySQL_Performance Schema Presentation Transcript

  • <Insert Picture Here>MySQL Performance Schema(OSI, 14th Oct, 2012)Mayank PrasadSr. 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  Whats new in MySQL-5.6  Q/A.  Reference3Copyright © 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 : Instrumentation8Copyright © 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|rwlock10Copyright © 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_name12Copyright © 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|sql14Copyright © 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/o16Copyright © 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_tables22Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • Tables in Performance Schema contd. setup_consumers23Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • Tables in Performance Schema contd. setup_instruments24Copyright © 2012, Oracle and/or its affiliates. All rights reserved.
  • Tables in Performance Schema contd. events_statements_summary_global_by_event_name25Copyright © 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 users 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.