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
- 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'étatcreated_tmp_tables
etcreated_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
ouadd_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