Événements relatifs à Aurora SQL My Wait - Amazon Aurora

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.

Événements relatifs à Aurora SQL My Wait

Voici quelques événements d'attente courants pour Aurora MySQL.

Note

Pour plus d'informations sur le réglage des SQL performances d'Aurora My à l'aide d'événements d'attente, consultezRéglage d'Aurora MySQL avec des événements d'attente.

Pour plus d'informations sur les conventions de dénomination utilisées dans My SQL wait events, consultez la section Conventions de dénomination des instruments Performance Schema dans la section Ma SQL documentation.

cpu

Le nombre de connexions actives prêtes à être exécutées est constamment supérieur au nombre devCPUs. Pour de plus amples informations, veuillez consulter cpu.

io/aurora_redo_log_flush

Une session conserve les données dans le stockage Aurora. Cet événement d'attente concerne généralement une opération d'E/S d'écriture dans Aurora MySQL. Pour de plus amples informations, veuillez consulter io/aurora_redo_log_flush.

io/aurora_respond_to_client

Le traitement des requêtes est terminé et les résultats sont renvoyés au client de l'application pour les SQL versions suivantes d'Aurora My : 2.10.2 et versions 2.10 supérieures, versions 2.09.3 et supérieures 2.09, et versions 2.07.7 et supérieures 2.07. Comparez la bande passante réseau de la classe d'instance de base de données avec la taille de l'ensemble de résultats renvoyé. Vérifiez également les temps de réponse côté client. Si le client ne répond pas et ne peut pas traiter les TCP paquets, des abandons de paquets et des TCP retransmissions peuvent se produire. Cette situation affecte négativement la bande passante réseau. Dans les versions antérieures aux versions 2.10.2, 2.09.3 et 2.07.7, l'événement d'attente inclut par erreur le temps d'inactivité. Pour savoir comment régler votre base de données lorsque cette attente est importante, consultez io/aurora_respond_to_client.

io/file/csv/data

Les threads écrivent dans des tables au format valeur séparée par des virgules (CSV). Vérifiez l'utilisation CSV de votre table. Cet événement est souvent déclenché par la définition de log_output sur une table.

io/file/sql/binlog

Un thread attend un fichier journal binaire (binlog) en cours d'écriture sur le disque.

io/redo_log_flush

Une session conserve les données dans le stockage Aurora. Cet événement d'attente concerne généralement une opération d'E/S d'écriture dans Aurora MySQL. Pour de plus amples informations, veuillez consulter io/redo_log_flush.

io/socket/sql/client_connection

Le programme mysqld est occupé à créer des threads pour gérer les nouvelles connexions client entrantes. Pour de plus amples informations, veuillez consulter io/socket/sql/client_connection.

io/table/sql/handler

Le moteur attend d'accéder à une table. Cet événement se produit indépendamment du fait que les données soient mises en cache dans le groupe de mémoires tampons ou accessibles sur disque. Pour de plus amples informations, veuillez consulter io/table/sql/handler.

lock/table/sql/handler

Cet événement d'attente est un gestionnaire d'événements d'attente de verrouillage de table. Pour plus d'informations sur les événements liés aux atomes et aux molécules dans le schéma de performance, consultez la section Événements atomiques et moléculaires du schéma de performance dans la section Ma SQL documentation.

synch/cond/innodb/row_lock_wait

Plusieurs instructions du langage de manipulation de données (DML) accèdent aux mêmes lignes de base de données en même temps. Pour de plus amples informations, veuillez consulter synch/cond/innodb/row_lock_wait.

synch/cond/innodb/row_lock_wait_cond

Plusieurs DML instructions accèdent aux mêmes lignes de base de données en même temps. Pour de plus amples informations, veuillez consulter synch/cond/innodb/row_lock_wait_cond.

MDLsynch/cond/sql/ _context : : _wait_status COND

Les threads attendent sur un verrou de métadonnées de table. Le moteur utilise ce type de verrou pour gérer l'accès simultané à un schéma de base de données et assurer la cohérence des données. Pour plus d'informations, consultez la section Optimisation des opérations de verrouillage dans la section Ma SQL documentation. Pour savoir comment régler votre base de données lorsque cet événement est important, consultez synch/cond/sql/MDL_context::COND_wait_status.

MYSQLsynch/cond/sql/ _ _ : : _terminé BIN LOG COND

Vous avez activé la journalisation binaire. Il peut y avoir un débit de validation élevé, un grand nombre de transactions en cours de validation ou des réplicas lisant des journaux binaires. Envisagez d'utiliser des instructions à plusieurs lignes ou de regrouper des instructions dans une seule transaction. Dans Aurora, privilégiez les bases de données globales à la réplication des journaux binaires, ou utilisez le paramètres aurora_binlog_*.

synch/mutex/innodb/aurora_lock_thread_slot_futex

Plusieurs DML instructions accèdent aux mêmes lignes de base de données en même temps. Pour de plus amples informations, veuillez consulter synch/mutex/innodb/aurora_lock_thread_slot_futex.

synch/mutex/innodb/buf_pool_mutex

Le groupe de mémoires de tampons n'est pas suffisamment grand pour contenir l'ensemble de données de travail. Ou bien, la charge de travail accède aux pages d'une table spécifique, ce qui entraîne une contention dans le groupe de mémoires tampons. Pour de plus amples informations, veuillez consulter synch/mutex/innodb/buf_pool_mutex.

synch/mutex/innodb/fil_system_mutex

Le processus est en attente d'accès au cache mémoire de l'espace disque logique. Pour de plus amples informations, veuillez consulter synch/mutex/innodb/fil_system_mutex.

synch/mutex/innodb/trx_sys_mutex

Les opérations vérifient, mettent à jour, suppriment ou ajoutent des transactions IDs dans InnoDB de manière cohérente ou contrôlée. Ces opérations nécessitent un appel de mutex trx_sys, suivi par l'instrumentation Performance Schema. Parmi les opérations figurent les suivantes : gestion du système de transactions lorsque la base de données démarre ou s'arrête, restaurations, nettoyages après annulation, accès en lecture de ligne et charges de groupe de mémoires tampons. Une charge de base de données élevée avec un grand nombre de transactions entraîne l'apparition fréquente de cet événement d'attente. Pour de plus amples informations, veuillez consulter synch/mutex/innodb/trx_sys_mutex.

synch/mutex/mysys/ _ : :cache_lock KEY CACHE

Le keycache->cache_lock mutex contrôle l'accès au cache de clés pour Mes ISAM tables. Bien qu'Aurora My SQL n'autorise pas l'utilisation de Mes ISAM tables pour stocker des données persistantes, elles sont utilisées pour stocker des tables temporaires internes. Envisagez de vérifier les compteurs d'état created_tmp_tables et created_tmp_disk_tables, car dans certaines situations, les tables temporaires sont écrites sur le disque lorsqu'elles ne tiennent plus dans la mémoire.

FILEsynch/mutex/sql/ _AS_ : : _offsets TABLE LOCK

Le moteur acquiert ce mutex lors de l'ouverture ou de la création d'un fichier de métadonnées de table. Lorsque cet événement d'attente se produit à une fréquence excessive, le nombre de tables créées ou ouvertes a connu un pic.

FILEsynch/mutex/sql/ _AS_ : : _shim_lists TABLE LOCK

Le moteur acquiert ce mutex tout en effectuant des opérations telles que reset_size, detach_contents ou add_contents sur la structure interne qui permet de suivre les tables ouvertes. Le mutex synchronise l'accès au contenu de la liste. Lorsque cet événement d'attente se produit très fréquemment, cela indique un changement soudain de l'ensemble de tables précédemment consultées. Le moteur doit accéder à de nouvelles tables ou renoncer au contexte lié aux tables précédemment consultées.

synchroniser/mutex/sql/ _open LOCK

Le nombre de tables que vos sessions ouvrent dépasse la taille du cache de définition de table ou du cache ouvert de table. Augmentez la taille de ces caches. Pour plus d'informations, voir Comment My SQL ouvre et ferme des tables.

synchronisation/mutex/sql/ _table_cache LOCK

Le nombre de tables que vos sessions ouvrent dépasse la taille du cache de définition de table ou du cache ouvert de table. Augmentez la taille de ces caches. Pour plus d'informations, voir Comment My SQL ouvre et ferme des tables.

synchronisation/mutex/sql/ LOG

Dans cet événement d'attente, certains threads attendent un verrouillage des journaux. Par exemple,un thread peut attendre qu'un verrouillage écrive dans le fichier journal de requêtes lentes.

MYSQLsynch/mutex/sql/ _ _ : : _commit BIN LOG LOCK

Dans cet événement d'attente, un thread attend d'acquérir un verrouillage avec l'intention de valider dans le journal binaire. Des conflits de journalisation binaire peuvent se produire sur des bases de données présentant un rythme de changement très élevé. Selon votre version de MySQL, certains verrous sont utilisés pour protéger la cohérence et la durabilité du journal binaire. Dans RDS for MySQL, les journaux binaires sont utilisés pour la réplication et le processus de sauvegarde automatique. Dans Aurora MySQL, les journaux binaires ne sont pas nécessaires pour la réplication native ou les sauvegardes. Ils sont désactivés par défaut, mais ils peuvent être activés et utilisés pour la réplication externe ou la capture des données modifiées. Pour plus d'informations, consultez la section Le journal binaire dans la section Ma SQL documentation.

MYSQLsync/mutex/sql/ _ _ : : _dump_thread_metrics_collection BIN LOG LOCK

Si la journalisation binaire est activée, le moteur acquiert ce mutex lorsqu'il imprime des métriques de threads de vidage actifs dans le journal des erreurs du moteur et sur le mappage des opérations internes.

MYSQLsync/mutex/sql/ _ _ : : _inactive_binlogs_map BIN LOG LOCK

Si la journalisation binaire est activée, le moteur acquiert ce mutex lorsqu'il ajoute, supprime ou effectue une recherche dans la liste des fichiers binlog antérieurs au plus récent.

MYSQLsync/mutex/sql/ _ _ : : _io_cache BIN LOG LOCK

Si la journalisation binaire est activée, le moteur acquiert ce mutex lors des opérations de cache d'I/O du journal binaire Aurora : allouer, redimensionner, libérer, écrire, lire, purger et accéder aux informations du cache. Si cet événement se produit fréquemment, le moteur accède au cache où les événements de journal binaire sont stockés. Pour réduire les temps d'attente, réduisez les validations. Essayez de regrouper plusieurs instructions dans une seule transaction.

MYSQLsynchronisation/mutex/sql/ _ _ : : _log BIN LOG LOCK

Vous avez activé la journalisation binaire. Il peut y avoir un débit de validation élevé, de nombreuses transactions en cours de validation ou des réplicas lisant des journaux binaires. Envisagez d'utiliser des instructions à plusieurs lignes ou de regrouper des instructions dans une seule transaction. Dans Aurora, privilégiez les bases de données globales à la réplication des journaux binaires, ou utilisez le paramètres aurora_binlog_*.

synchronisation/mutex/sql/ SERVER _ : : _sync THREAD LOCK

Le mutex SERVER_THREAD::LOCK_sync est acquis lors de la planification, du traitement ou du lancement de threads pour les écritures de fichier. Si cet événement d'attente se produit de manière excessive, cela indique une activité d'écriture accrue dans la base de données.

synch/mutex/sql/:lock TABLESPACES

Le moteur acquiert le mutex TABLESPACES:lock lors des opérations d'espace disque logique suivantes : créer, supprimer, tronquer et étendre. Si cet événement d'attente se produit de manière excessive, cela indique une fréquence élevée d'opérations d'espace disque logique. Le chargement d'une grande quantité de données dans la base de données en est un exemple.

synch/rwlock/innodb/dict

Dans cet événement d'attente, certains threads attendent un rwlock maintenu sur le dictionnaire de données InnoDB.

synch/rwlock/innodb/dict_operation_lock

Dans cet événement d'attente, certains threads maintiennent des verrouillages sur les opérations de dictionnaire de données InnoDB.

synch/rwlock/innodb/dict sys RW lock

Un grand nombre d'instructions simultanées du langage de contrôle des données (DCLs) dans le code du langage de définition des données (DDLs) sont déclenchées simultanément. Réduisez la dépendance de l'application par rapport à DDLs l'activité normale de l'application.

synch/rwlock/innodb/index_tree_rw_lock

Un grand nombre d'instructions similaires du langage de manipulation de données (DML) accèdent au même objet de base de données en même temps. Essayez d'utiliser des instructions à plusieurs lignes. Répartissez également la charge de travail sur différents objets de base de données. Par exemple, implémentez le partitionnement.

synch/sxlock/innodb/dict_operation_lock

Un grand nombre d'instructions simultanées du langage de contrôle des données (DCLs) dans le code du langage de définition des données (DDLs) sont déclenchées simultanément. Réduisez la dépendance de l'application par rapport à DDLs l'activité normale de l'application.

synch/sxlock/innodb/dict_sys_lock

Un grand nombre d'instructions simultanées du langage de contrôle des données (DCLs) dans le code du langage de définition des données (DDLs) sont déclenchées simultanément. Réduisez la dépendance de l'application par rapport à DDLs l'activité normale de l'application.

synch/sxlock/innodb/hash_table_locks

La session n'a pas pu trouver de pages dans le groupe de mémoires tampons. Le moteur doit soit lire un fichier, soit modifier la liste des fichiers les moins récemment utilisés (LRU) pour le pool de mémoire tampon. Envisagez d'augmenter la taille du cache de mémoire tampon et d'améliorer les chemins d'accès pour les requêtes pertinentes.

synch/sxlock/innodb/index_tree_rw_lock

De nombreuses instructions similaires du langage de manipulation de données (DML) accèdent au même objet de base de données en même temps. Essayez d'utiliser des instructions à plusieurs lignes. Répartissez également la charge de travail sur différents objets de base de données. Par exemple, implémentez le partitionnement.

Pour plus d'informations sur la résolution des événements d'attente de synchronisation, voir Pourquoi mon instance My SQL DB affiche-t-elle un grand nombre de sessions actives en attente d'événements d'SYNCHattente dans Performance Insights ? .