Maison  >  Article  >  base de données  >  Exemple détaillé de paramètres de surveillance dans les performances et le schéma système dans MySQL5.7

Exemple détaillé de paramètres de surveillance dans les performances et le schéma système dans MySQL5.7

小云云
小云云original
2017-12-25 13:38:471725parcourir

J'espère que le contenu que je souhaite partager avec vous pourra vous aider. Dans MySQL5.7, le schéma de performances a été considérablement amélioré, notamment l'introduction d'un grand nombre de nouveaux éléments de surveillance, la réduction de l'espace et de la charge, et le utilisation du nouveau schéma système. Le mécanisme améliore considérablement la facilité d'utilisation. Cet article vous présentera l'explication des paramètres de surveillance des performances et du schéma système dans MySQL5.7. Les amis dans le besoin peuvent s'y référer.

1. Schéma de performances : introduction

Dans MySQL5.7, le schéma de performances a été considérablement amélioré, notamment l'introduction d'un grand nombre d'éléments de surveillance nouvellement ajoutés, la réduction de l'espace et de la charge, et grâce au nouveau mécanisme de schéma système améliore considérablement la facilité d'utilisation. En termes de suivi, le schéma de performances a les fonctions suivantes :

① : Verrouillage des métadonnées :

Il est crucial de comprendre les dépendances des verrous de métadonnées entre les sessions. À partir de MySQL 5.7.3, vous pouvez en savoir plus sur les verrous de métadonnées via la table metadata_locks ;

--Quelles sessions possèdent quels verrous de métadonnées
--Quelles sessions attendent des verrous de métadonnées
--Quelles les requêtes ont été supprimées en raison de blocages ou de délais d'attente de verrouillage ?

② : Suivi de la progression :

Suivre la progression des opérations à long terme (telles que modifier la table), à ​​partir de MySQL5, Le schéma de performances fournit automatiquement des informations sur la progression de l'instruction. Nous pouvons afficher les informations de progression de l'événement en cours via la table events_stages_current ;

③ : Transaction :

Surveiller tous les aspects des transactions de la couche de service et de la couche moteur de stockage. À partir de MySQL 5.7.3, la table events_transactions_current a été ajoutée. La surveillance des transactions peut être activée via les tables setup_consumers et setup_instruments, et l'état de la transaction en cours peut être interrogé via cette table. Si la base de données en ligne rencontre une forte augmentation du journal d'annulation et une forte baisse des performances de la base de données, vous pouvez utiliser ce tableau pour demander s'il existe actuellement des transactions non validées. S'il s'avère qu'un grand nombre d'états de transaction sont actifs, il peut être déterminé qu'un grand nombre de transactions ne sont pas validées dans la base de données

④ : Utilisation de la mémoire :

Fournit l'utilisation de la mémoire ; statistiques d'informations, ce qui est utile pour comprendre et ajuster la consommation de mémoire du serveur. À partir de MySQL5.7.2, le schéma de performances a ajouté des informations statistiques liées à la mémoire, qui comptent le processus d'utilisation de la mémoire du point de vue des comptes, des hôtes d'accès, des threads, des utilisateurs et des événements

⑤ : Procédures stockées :

Détecteurs de procédures stockées, de méthodes stockées, de planificateurs d'événements et de déclencheurs de table. Dans la table setup_objects de MySQL5.7, de nouveaux détecteurs d'événement, de fonction, de procédure et de déclencheur sont ajoutés. Le schéma de performances est utilisé pour détecter les objets correspondant à object_schema et object_name dans la table


2 Introduction au schéma sys :

Nouveau schéma sys dans MySQL5.7. Il s'agit d'un schéma composé d'une série d'objets (vues, procédures stockées, méthodes stockées, tables et déclencheurs). Il ne collecte et ne stocke aucune information lui-même, mais résume les données dans performance_schema et information_schema d'une manière plus compréhensible. voir".

---le schéma sys peut être utilisé pour des cas d'utilisation typiques de réglage et de diagnostic. Ces objets incluent les trois suivants :

① : résumer les données du schéma de performances dans une vue plus compréhensible ;

② : procédures stockées pour des opérations telles que la configuration du mode performance et la génération de rapports de diagnostic

③ : fonctions stockées pour interroger la configuration du mode performance et fournir des services de formatage

--- La fonction de sys le schéma dans la requête peut vérifier l'utilisation des ressources du service de base de données ? Quels hôtes ont le plus accès au serveur de base de données ? Utilisation de la mémoire sur l'instance ?

3. Classification des tables dans le schéma système :

① : Informations relatives à l'hôte :

La vue commençant par host_summary résume principalement les informations sur le délai d'E/S de l'hôte, le type d'événement de fichier. , type d'instruction et autres perspectives pour afficher les informations IO du fichier ;

② : informations relatives à innodb :

La vue commençant par innodb résume les informations de la page tampon innodb et les transactions en attente de verrouillage innodb. 🎜>

③ : Utilisation d'IO :

La vue commençant par IO résume les informations des utilisateurs d'IO, y compris l'attente d'IO et l'utilisation d'IO, affichées en groupes sous différents angles ;

④ : Utilisation de la mémoire :

La vue commençant par la mémoire montre l'utilisation de la mémoire du point de vue de l'hôte, du thread, de l'utilisateur et de l'événement

⑤ : Informations de connexion et de session :

Parmi elles, les vues liées à la liste de processus et à la session résument les informations liées à la session ;

⑥ : Informations relatives à la table :

La vue commençant par schema_table, à partir de l'ensemble des analyses de la table, tampon innodb les pools, etc. affichent des informations statistiques sur le tableau ;

⑦ : Informations sur l'index :

Il contient la vue de l'index, qui compte l'utilisation de l'index, ainsi que les index en double et ceux inutilisés. Statut de l'index ;

⑧ : informations relatives à l'instruction :

La vue commençant par l'instruction, l'utilisation des instructions statistiques standardisées, y compris le nombre d'erreurs, les avertissements, les analyses de table complètes, l'utilisation de tables temporaires, l'exécution. tri et autres informations ;

⑨ : Informations relatives à l'utilisateur :

La vue commençant par l'utilisateur compte le fichier IO utilisé par l'utilisateur, les statistiques d'instruction exécutées, etc. ; En attente d'informations relatives à l'événement
 :

La vue commençant par wait montre le retard des événements en attente du point de vue de l'hôte et de l'événement

4. Exemples d'utilisation du schéma Sys :

---查看表的访问量:(可以监控每张表访问量的情况,或者监控某个库的访问量的变化)
select table_schema,table_name,sum(io_read_requests+io_write_requests) from schema_table_statistics;
select table_schema,table_name,io_read_requests+io_write_requests as io_total from schema_table_statistics;
---冗余索引和未使用索引的检查:(schema_redundant_indexes和schema_unused_indexes查看索引的情况)
select * from sys.schema_redundant_indexes\G
select * from sys.schema_unused_indexes;
(如果有冗余索引和长期未使用的索引,应该及时清理,)
---查看表自增ID使用情况:
select * from schema_auto_increment_columns\G 
(可以使用schema_auto_increment_columns视图,就能很简单的查到每个表的自增量使用情况,甚至可以精确到某个表的自增量情况)
---监控全表扫描的sql语句:
select * from sys.statements_with_full_table_scans where db='test2'\G
(使用statements_with_full_table_scans视图可以查看哪些表查询使用了全表扫描,其中exec_count是执行的次数,等信息)
---查看实例消耗的磁盘I/O情况:()
select file,avg_read+avg_write as avg_io from io_global_by_file_by_bytes order by avg_io desc limit 10;
(查看io_global_by_file_by_bytes视图可以检查磁盘I/O消耗过大的原因,定位问题)

Recommandations associées :
.

Plusieurs commandes de script de surveillance mysql couramment utilisées

script mysql pour la surveillance et la synchronisation automatiques

mysql innodb détaillé explication d'exemples de codes pour la surveillance (couche système, couche base de données)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn