Gestion de l’historique global des statuts de RDS for MySQL - Amazon Relational Database Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Gestion de l’historique global des statuts de RDS for MySQL

Astuce

Pour analyser les performances des bases de données, vous pouvez également utiliser l'analyse des performances sur Amazon RDS. Pour plus d’informations, consultez Surveillance de la charge de la base de données avec Performance Insights sur Amazon RDS.

MySQL gère de nombreuses variables d’état qui fournissent des informations sur son fonctionnement. Leur valeur peut vous aider à détecter les problèmes de verrouillage ou de mémoire d'une instance de base de données. Les valeurs de ces variables d’état se cumulent depuis le dernier démarrage de l’instance de base de données. Vous pouvez réinitialiser à la valeur 0 la plupart des variables d’état à l’aide de la commande FLUSH STATUS.

Pour autoriser la surveillance de ces valeurs au fil du temps, Amazon RDS fournit un ensemble de procédures qui prennent un instantané des valeurs de ces variables et les écrivent dans une table, ainsi que toutes les modifications intervenues depuis le dernier instantané. Cette infrastructure, appelée historique global des statuts (GoSH, Global Status History), est installée sur toutes les instances de base de données MySQL à partir des versions 5.5.23. GoSH est désactivé par défaut.

Pour activer GoSH, vous devez d'abord activer le planificateur d'événement à partir d'un groupe de paramètres de base de données en définissant le paramètre event_scheduler sur ON. Pour les instances de base de données MySQL exécutant MySQL 5.7, définissez également le paramètre show_compatibility_56 sur 1. Pour plus d’informations sur la création et la modification d’un groupe de paramètres DB, consultez Groupes de paramètres pour Amazon RDS. Pour obtenir des informations sur les effets secondaires de l'activation de ce paramètre, consultez show_compatibility_56 dans le Manuel de référence de MySQL 5.7.

Vous pouvez ensuite utiliser les procédures du tableau suivant pour activer et configurer GoSH. Connectez-vous d’abord à votre instance de base de données MySQL, puis émettez les commandes appropriées comme illustré ci-après. Pour plus d’informations, consultez Connexion à votre instance de base de données MySQL. Pour chaque procédure, exécutez la commande suivante et remplacez procedure-name :

CALL procedure-name;

Le tableau suivant répertorie toutes les procédures que vous pouvez utiliser pour procedure-name dans la commande précédente.

Procédure Description

mysql.rds_enable_gsh_collector

Active l'infrastructure GoSH pour prendre des instantanés par défaut à intervalles spécifiés par rds_set_gsh_collector.

mysql.rds_set_gsh_collector

Spécifie l'intervalle, en minutes, entre les instantanés. La valeur par défaut est 5.

mysql.rds_disable_gsh_collector

Désactive les instantanés.

mysql.rds_collect_global_status_history

Prend un instantané sur demande.

mysql.rds_enable_gsh_rotation

Active la rotation du contenu de la table mysql.rds_global_status_history en mysql.rds_global_status_history_old à intervalles spécifiés par rds_set_gsh_rotation.

mysql.rds_set_gsh_rotation

Spécifie l'intervalle, en jours, entre deux rotations de table. La valeur par défaut est 7.

mysql.rds_disable_gsh_rotation

Désactive la rotation de table.

mysql.rds_rotate_global_status_history

Effectue une rotation du contenu de la table mysql.rds_global_status_history en mysql.rds_global_status_history_old à la demande.

Lorsque l'infrastructure GoSH est en cours d'exécution, vous pouvez interroger les tables sur lesquelles elle écrit. Par exemple, pour interroger le taux d'accès du groupe de tampons Innodb, vous devez émettre la requête suivante :

select a.collection_end, a.collection_start, (( a.variable_Delta-b.variable_delta)/a.variable_delta)*100 as "HitRatio" from mysql.rds_global_status_history as a join mysql.rds_global_status_history as b on a.collection_end = b.collection_end where a. variable_name = 'Innodb_buffer_pool_read_requests' and b.variable_name = 'Innodb_buffer_pool_reads'