Rechercher dans le manuel MySQL

Chapter 26 MySQL Performance Schema

Table of Contents     [+/-]

26.1 Performance Schema Quick Start
26.2 Performance Schema Build Configuration
26.3 Performance Schema Startup Configuration
26.4 Performance Schema Runtime Configuration     [+/-]
26.4.1 Performance Schema Event Timing
26.4.2 Performance Schema Event Filtering
26.4.3 Event Pre-Filtering
26.4.4 Pre-Filtering by Instrument
26.4.5 Pre-Filtering by Object
26.4.6 Pre-Filtering by Thread
26.4.7 Pre-Filtering by Consumer
26.4.8 Example Consumer Configurations
26.4.9 Naming Instruments or Consumers for Filtering Operations
26.4.10 Determining What Is Instrumented
26.5 Performance Schema Queries
26.6 Performance Schema Instrument Naming Conventions
26.7 Performance Schema Status Monitoring
26.8 Performance Schema Atom and Molecule Events
26.9 Performance Schema Tables for Current and Historical Events
26.10 Performance Schema Statement Digests and Sampling
26.11 Performance Schema General Table Characteristics
26.12 Performance Schema Table Descriptions     [+/-]
26.12.1 Performance Schema Table Index
26.12.2 Performance Schema Setup Tables
26.12.3 Performance Schema Instance Tables
26.12.4 Performance Schema Wait Event Tables
26.12.5 Performance Schema Stage Event Tables
26.12.6 Performance Schema Statement Event Tables
26.12.7 Performance Schema Transaction Tables
26.12.8 Performance Schema Connection Tables
26.12.9 Performance Schema Connection Attribute Tables
26.12.10 Performance Schema User-Defined Variable Tables
26.12.11 Performance Schema Replication Tables
26.12.12 Performance Schema Lock Tables
26.12.13 Performance Schema System Variable Tables
26.12.14 Performance Schema Status Variable Tables
26.12.15 Performance Schema Thread Pool Tables
26.12.16 Performance Schema Summary Tables
26.12.17 Performance Schema Miscellaneous Tables
26.13 Performance Schema Option and Variable Reference
26.14 Performance Schema Command Options
26.15 Performance Schema System Variables
26.16 Performance Schema Status Variables
26.17 The Performance Schema Memory-Allocation Model
26.18 Performance Schema and Plugins
26.19 Using the Performance Schema to Diagnose Problems     [+/-]
26.19.1 Query Profiling Using Performance Schema
26.19.2 Obtaining Parent Event Information

The MySQL Performance Schema is a feature for monitoring MySQL Server execution at a low level. The Performance Schema has these characteristics:

  • The Performance Schema provides a way to inspect internal execution of the server at runtime. It is implemented using the PERFORMANCE_SCHEMA storage engine and the performance_schema database. The Performance Schema focuses primarily on performance data. This differs from INFORMATION_SCHEMA, which serves for inspection of metadata.

  • The Performance Schema monitors server events. An event is anything the server does that takes time and has been instrumented so that timing information can be collected. In general, an event could be a function call, a wait for the operating system, a stage of an SQL statement execution such as parsing or sorting, or an entire statement or group of statements. Event collection provides access to information about synchronization calls (such as for mutexes) file and table I/O, table locks, and so forth for the server and for several storage engines.

  • Performance Schema events are distinct from events written to the server's binary log (which describe data modifications) and Event Scheduler events (which are a type of stored program).

  • Performance Schema events are specific to a given instance of the MySQL Server. Performance Schema tables are considered local to the server, and changes to them are not replicated or written to the binary log.

  • Current events are available, as well as event histories and summaries. This enables you to determine how many times instrumented activities were performed and how much time they took. Event information is available to show the activities of specific threads, or activity associated with particular objects such as a mutex or file.

  • The PERFORMANCE_SCHEMA storage engine collects event data using instrumentation points in server source code.

  • Collected events are stored in tables in the performance_schema database. These tables can be queried using SELECT statements like other tables.

  • Performance Schema configuration can be modified dynamically by updating tables in the performance_schema database through SQL statements. Configuration changes affect data collection immediately.

  • Tables in the Performance Schema are in-memory tables that use no persistent on-disk storage. The contents are repopulated beginning at server startup and discarded at server shutdown.

  • Monitoring is available on all platforms supported by MySQL.

    Some limitations might apply: The types of timers might vary per platform. Instruments that apply to storage engines might not be implemented for all storage engines. Instrumentation of each third-party engine is the responsibility of the engine maintainer. See also Section C.8, “Restrictions on Performance Schema”.

  • Data collection is implemented by modifying the server source code to add instrumentation. There are no separate threads associated with the Performance Schema, unlike other features such as replication or the Event Scheduler.

The Performance Schema is intended to provide access to useful information about server execution while having minimal impact on server performance. The implementation follows these design goals:

  • Activating the Performance Schema causes no changes in server behavior. For example, it does not cause thread scheduling to change, and it does not cause query execution plans (as shown by EXPLAIN) to change.

  • Server monitoring occurs continuously and unobtrusively with very little overhead. Activating the Performance Schema does not make the server unusable.

  • The parser is unchanged. There are no new keywords or statements.

  • Execution of server code proceeds normally even if the Performance Schema fails internally.

  • When there is a choice between performing processing during event collection initially or during event retrieval later, priority is given to making collection faster. This is because collection is ongoing whereas retrieval is on demand and might never happen at all.

  • Most Performance Schema tables have indexes, which gives the optimizer access to execution plans other than full table scans. For more information, see Section 8.2.4, “Optimizing Performance Schema Queries”.

  • It is easy to add new instrumentation points.

  • Instrumentation is versioned. If the instrumentation implementation changes, previously instrumented code will continue to work. This benefits developers of third-party plugins because it is not necessary to upgrade each plugin to stay synchronized with the latest Performance Schema changes.

Note

The MySQL sys schema is a set of objects that provides convenient access to data collected by the Performance Schema. The sys schema is installed by default. For usage instructions, see Chapter 27, MySQL sys Schema.


Rechercher dans le manuel MySQL

Traduction non disponible

Le manuel MySQL n'est pas encore traduit en français sur l'infobrol. Seule la version anglaise est disponible pour l'instant.

Document créé le 26/06/2006, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/mysql-rf-performance-schema.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :en Manuel MySQL : https://dev.mysql.com/

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut