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 d’attente Limitless Database
Les événements d’attente suivants sont propres à Aurora PostgreSQL Limitless Database. Vous pouvez surveiller ces événements d’attente pour identifier les goulots d’étranglement dans le traitement au sein d’Aurora PostgreSQL Limitless Database.
Rubriques
AuroraLimitless:RemoteStatementExecution événement d'attente
AuroraLimitless:DistributedCommitPrepare événement d'attente
AuroraLimitless:DistributedCommitPrepareThrottle événement d'attente
AuroraLimitless:PreparedTransactionResolution événement d'attente
AuroraLimitless:SendPreparedTransactionOutcome événement d'attente
AuroraLimitless:ReaderSnapshotClockBarrier événement d'attente
AuroraLimitless:GatherDistributedDeadlockGraph événement d'attente
AuroraLimitless:DistributedDeadlockDetection événement d'attente
AuroraLimitless:DistributedDeadlockAbort événement d'attente
AuroraLimitless:GlobalVacuumTimeExchange événement d'attente
AuroraLimitless:DistributedTransactionMonitorGather événement d'attente
AuroraLimitlessActivity:AdminTaskSchedulerMain événement d'attente
AuroraLimitlessActivity:AdminTaskExecutorMain événement d'attente
AuroraLimitlessActivity:AdminTaskMonitorMain événement d'attente
AuroraLimitlessActivity:DatabaseCleanupMonitorMain événement d'attente
AuroraLimitlessActivity:TopologyCleanupMonitorMain événement d'attente
AuroraLimitlessActivity:ToplogyChangeMonitorMain événement d'attente
AuroraLimitlessActivity:DistributedTransactionMonitorMain événement d'attente
AuroraLimitlessActivity:GlobalVacuumMonitorMain événement d'attente
IO:TwophaseFilePoolWrite événement d'attente
En attente de l’écriture d’un fichier d’état à deux phases dans le groupe de fichiers d’état à deux phases. Il s’agit d’un événement spécifique à Aurora.
Causes
Les processus exécutant une commande PREPARED TRANSACTION, y compris les participants à une transaction distribuée Limitless Database, doivent conserver l’état de la transaction dans un fichier en deux phases. Aurora utilise un groupe de fichiers pour améliorer les performances de cette opération.
Action
Il s'agit d'une I/O opération d'écriture synchrone. Par conséquent, une latence élevée lors de cet événement a des causes similaires IO:XactSync et peut être étudiée de la même manière. Si vous utilisez Limitless Database, vous devrez peut-être réduire le nombre de transactions distribuées exécutées.
IO:TwophaseFilePoolRead événement d'attente
En attente de la lecture d’un fichier d’état à deux phases dans le groupe de fichiers d’état à deux phases.
Causes
Les processus qui exécutent une commande COMMIT PREPARED sur une transaction déjà préparée, y compris les participants d’une transaction distribuée Limitless Database, peuvent être amenés à lire l’état de transaction précédemment enregistré dans un fichier d’état à deux phases. Aurora utilise un groupe de fichiers pour améliorer les performances de cette opération.
Action
Il s'agit d'une I/O opération de lecture. Par conséquent, une latence importante sur cet événement résulte des mêmes causes que pour IO:DataFileRead et se traite de façon identique. Si vous utilisez Limitless Database, vous devrez peut-être réduire le nombre de transactions distribuées exécutées.
AuroraLimitless:Connect événement d'attente
Le processus attend qu’une connexion soit établie avec un autre nœud du cluster.
Causes
Des connexions sont établies entre les processus et les nœuds distants pour exécuter des requêtes, des transactions distribuées et des DDL.
Action
Réduisez le nombre de connexions simultanées au cluster ou optimisez l’utilisation des requêtes inter-partitions.
AuroraLimitless:AsyncConnect événement d'attente
Cet événement, semblable à Connect, représente l’attente d’un processus pendant l’établissement de connexions parallèles avec plusieurs nœuds.
Causes
L’établissement de connexions parallèles est le plus souvent effectué lors de l’exécution d’instructions DDL.
Action
Réduisez le nombre d’instructions DDL ou regroupez-en plusieurs au sein d’une même session afin d’améliorer la réutilisation des connexions.
AuroraLimitless:RemoteStatementSetup événement d'attente
Le processus est en attente de la configuration de l’exécution d’une requête distante, telle que l’ouverture ou la fermeture d’un curseur, ou la création d’une instruction préparée.
Causes
Cet événement d’attente augmente avec le nombre d’analyses effectuées sur des tables partitionnées lorsque l’instruction ne peut pas être optimisée pour une seule partition.
Action
Optimisez les requêtes pour réduire le nombre d’opérations d’analyse ou augmenter l’éligibilité à l’optimisation à partition unique.
AuroraLimitless:RemoteDDLExecution événement d'attente
Le processus attend la fin d’une commande DDL à distance.
Causes
Lorsque vous exécutez une commande DDL sur un groupe de partitions de base de données, celle-ci doit être distribuée aux autres routeurs et nœuds de partition avant la validation de l’opération. Certaines opérations DDL peuvent s’exécuter pendant une longue période, car les données doivent être adaptées aux modifications du schéma.
Action
Identifiez les commandes DDL de longue durée afin de les optimiser.
AuroraLimitless:RemoteStatementExecution événement d'attente
Un processus attend la fin d’une commande à distance.
Causes
Une commande SQL est en cours d’exécution sur un nœud distant. Cet événement apparaîtra fréquemment dans le cadre des communications internes, telles que auto_analyze et les vérifications de pulsations.
Action
Identifiez les commandes de longue durée à l’aide de la vue limitless_stat_statements. Dans de nombreux cas, cet événement est attendu, en particulier pour les processus en arrière-plan ou internes, et aucune action n’est requise.
AuroraLimitless:FetchRemoteResults événement d'attente
Un processus attend de récupérer les lignes d’un nœud distant.
Causes
Cet événement d’attente tend à se produire davantage lorsqu’un grand volume de lignes est extrait d’une table distante, comme une table partitionnée ou une table de référence.
Action
Identifiez les requêtes SELECT non optimisées à l’aide de la vue limitless_stat_statements. Optimisez les requêtes pour récupérer uniquement les données nécessaires. Vous pouvez également ajuster le paramètre rds_aurora.limitless_maximum_adaptive_fetch_size.
AuroraLimitless:AsyncGetInitialResponse événement d'attente
Le processus attend une réponse initiale lorsque le mode pipeline est utilisé pour l’exécution des requêtes.
Causes
Cet événement est généralement observé lors de l’exécution d’une requête entre le routeur et la partition lorsque les données sont situées sur une seule partition ; il s’agit d’un fonctionnement attendu.
Action
Aucune action supplémentaire n’est requise.
AuroraLimitless:AsyncGetNextResponse événement d'attente
Le processus attend des réponses supplémentaires lorsque le mode pipeline est utilisé pour l’exécution des requêtes.
Causes
Cet événement est généralement observé lors de l’exécution d’une requête entre le routeur et la partition lorsque les données sont situées sur une seule partition ; il s’agit d’un fonctionnement attendu.
Action
Aucune action supplémentaire n’est requise.
AuroraLimitless:AbortedCommandCleanup événement d'attente
Le processus attend le résultat d’une requête de nettoyage à distance. Des requêtes de nettoyage sont envoyées aux nœuds de partition afin de les ramener à un état approprié lorsque qu’une transaction distribuée se termine.
Causes
Le nettoyage d’une transaction est effectué lorsqu’une transaction est annulée soit parce qu’une erreur a été détectée, soit parce qu’un utilisateur a émis une commande ABORT explicite ou annulé la requête en cours d’exécution.
Action
Recherchez la cause de l’annulation de la transaction.
AuroraLimitless:DistributedCommitPrepare événement d'attente
Le processus valide une transaction distribuée et attend que chaque participant confirme la commande de préparation.
Causes
Les transactions qui modifient plusieurs nœuds doivent effectuer une validation distribuée. Une durée d’attente prolongée pour DistributedCommitPrepare peut résulter d’attentes importantes sur l’événement IO:TwophaseFilePoolWrite des nœuds participants.
Action
Réduisez le nombre de transactions qui modifient les données sur plusieurs nœuds. Étudiez les événements IO:TwophaseFilePoolWrite survenus sur d’autres nœuds du cluster.
AuroraLimitless:DistributedCommit événement d'attente
Le processus valide une transaction distribuée et attend que le participant principal confirme la commande de préparation.
Causes
Les transactions qui modifient plusieurs nœuds doivent effectuer une validation distribuée. Une durée d’attente prolongée pour DistributedCommit peut résulter d’attentes importantes sur l’événement IO:XactSync le participant principal.
Action
Réduisez le nombre de transactions qui modifient les données sur plusieurs nœuds. Étudiez les événements IO:XactSync survenus sur d’autres nœuds du cluster.
AuroraLimitless:DistributedCommitPrepareThrottle événement d'attente
Le processus tente de préparer une transaction distribuée et est limité en raison de transactions préparées existantes.
Causes
Les transactions qui modifient plusieurs nœuds doivent effectuer une validation distribuée. Les participants à ces transactions doivent effectuer une opération de préparation dans le cadre du protocole de validation. Aurora limite le nombre de préparations simultanées ; si cette limite est dépassée, le processus attendra lors de l’événement DistributedCommitPrepareThrottle.
Action
Réduisez le nombre de transactions qui modifient les données sur plusieurs nœuds. Examinez les événements IO:TwophaseFilePoolWrite, car une augmentation de leur durée pourrait entraîner une accumulation de transactions préparées existantes, ce qui ralentirait les nouvelles tentatives de préparation.
AuroraLimitless:PreparedTransactionResolution événement d'attente
Le processus a rencontré un tuple modifié par une transaction distribuée qui est à l’état préparé. Le processus doit déterminer si la transaction distribuée sera visible dans son instantané.
Causes
Les transactions qui modifient plusieurs nœuds doivent effectuer une validation distribuée comprenant une phase de préparation. Un nombre élevé de transactions distribuées ou une latence accrue lors des validations distribuées peuvent provoquer la survenue de l’événement d’attente PreparedTransactionResolution dans d’autres processus.
Action
Réduisez le nombre de transactions qui modifient les données sur plusieurs nœuds. Examinez les événements liés aux validations distribuées, car un allongement de leur durée peut augmenter la latence du processus de validation des transactions distribuées. Il peut aussi être utile d’analyser les charges du réseau et du CPU.
AuroraLimitless:SendPreparedTransactionOutcome événement d'attente
Le processus s’exécute sur un nœud qui coordonne une transaction distribuée et un autre processus s’est renseigné sur l’état de cette transaction, ou le processus a validé une transaction distribuée et envoie le résultat aux participants.
Causes
Les processus confrontés à l’événement d’attente PreparedTransactionResolution interrogeront le coordinateur des transactions. La réponse du coordinateur des transactions sera prise en compte SendPreparedTransactionOutcome.
Action
Réduisez le nombre de transactions qui modifient les données sur plusieurs nœuds. Examinez les événements liés aux validations distribuées, ainsi que les événements IO:TwophaseFilePoolWrite et IO:TwophaseFilePoolRead, car ils peuvent augmenter la latence du processus de validation des transactions distribuées. Il peut aussi être utile d’analyser les charges du réseau et du CPU.
AuroraLimitless:CommitClockBarrier événement d'attente
Le processus procède à la validation d’une transaction et doit attendre que le temps de validation attribué soit assurément passé pour tous les nœuds du cluster.
Causes
Une saturation du CPU ou du réseau peut accentuer la dérive de l’horloge, entraînant ainsi une perte de temps au cours de cet événement d’attente.
Action
Examinez la saturation de l’UC ou du réseau dans votre cluster.
AuroraLimitless:SnapshotClockBarrier événement d'attente
Le processus a reçu d’un autre nœud une heure d’instantané dont l’horloge est en avance, et il attend que sa propre horloge atteigne cette heure.
Causes
Cela se produit généralement lorsque le processus a reçu les résultats d’une fonction ayant été déléguée à une partition, et qu’il existe une dérive d’horloge entre les nœuds. Une saturation du CPU ou du réseau peut accentuer la dérive de l’horloge, entraînant ainsi une perte de temps au cours de cet événement d’attente.
Action
Examinez la saturation de l’UC ou du réseau dans votre cluster.
AuroraLimitless:ReaderSnapshotClockBarrier événement d'attente
Cet événement se produit sur les nœuds de lecture. Le processus attend que le nœud de lecture rejoue le flux d’écriture afin que toutes les écritures effectuées avant l’heure d’instantané du processus aient été appliquées.
Causes
Une augmentation du retard de réplica Aurora peut entraîner une hausse du temps d’attente pour cet événement.
Action
Examinez le retard de réplica Aurora.
AuroraLimitless:GatherDistributedDeadlockGraph événement d'attente
Le processus communique avec les autres nœuds afin de collecter les graphes de verrous dans le cadre de la détection de blocages distribués.
Causes
Lorsqu’un processus attend un verrou, il effectue une vérification des blocages distribués après une attente supérieure à rds_aurora.limitless_distributed_deadlock_timeout.
Action
Examinez les causes de la contention sur les verrous dans votre application et envisagez d’ajuster le paramètre rds_aurora.limitless_distributed_deadlock_timeout.
AuroraLimitless:DistributedDeadlockDetection événement d'attente
Le processus communique avec les autres nœuds afin de détecter un blocage distribué.
Causes
Lorsqu’un processus attend un verrou, il effectue une vérification des blocages distribués après une attente supérieure à rds_aurora.limitless_distributed_deadlock_timeout.
Action
Examinez les causes de la contention sur les verrous dans votre application et envisagez d’ajuster le paramètre rds_aurora.limitless_distributed_deadlock_timeout.
AuroraLimitless:DistributedDeadlockAbort événement d'attente
Le processus communique avec un autre nœud afin d’interrompre une session choisie comme victime d’un interblocage distribué.
Causes
Les modèles d’application entraînent des blocages distribués.
Action
Examinez les modèles d’application entraînant des blocages distribués.
AuroraLimitless:GatherRemoteStats événement d'attente
Le processus collecte des statistiques à partir des autres nœuds du cluster.
Causes
Les requêtes et les vues de surveillance ou d’activité, par exemplelimitless_stat_activity, permettront de récupérer les statistiques provenant d’autres nœuds.
Action
Aucune action supplémentaire n’est requise.
AuroraLimitless:GlobalSequenceRefresh événement d'attente
Le processus génère une nouvelle valeur de séquence et doit demander un nouveau fragment à partir de la séquence globale.
Causes
Un taux élevé de génération de valeurs de séquence peut entraîner des blocages lors de cet événement si le paramètre rds_aurora.limitless_sequence_chunk_size est insuffisant.
Action
Il s’agit d’un phénomène normal. Si vous constatez que cet événement dure trop longtemps, ajustez rds_aurora.limitless_sequence_chunk_size. Consultez la documentation sur les séquences dans Limitless Database.
AuroraLimitless:GlobalVacuumTimeExchange événement d'attente
Le processus échange des données d’instantané afin de prendre en charge l’opération de vacuum.
Causes
Les nœuds de Limitless Database échangent les données relatives à l’heure du plus ancien instantané actif avec d’autres nœuds, afin de calculer le moment de coupure correct pour l’exécution du vacuum.
Action
Aucune action supplémentaire n’est requise.
AuroraLimitless:DistributedTransactionMonitorGather événement d'attente
Le processus collecte les métadonnées des transactions à partir d’autres nœuds pour faciliter le nettoyage des transactions distribuées.
Causes
Les nœuds de Limitless Database échangent les métadonnées de transaction avec d’autres nœuds afin de déterminer à quel moment l’état des transactions distribuées peut être purgé.
Action
Aucune action supplémentaire n’est requise.
AuroraLimitlessActivity:AdminTaskSchedulerMain événement d'attente
En attente dans la boucle principale du processus du planificateur de tâches.
AuroraLimitlessActivity:AdminTaskExecutorMain événement d'attente
En attente dans la boucle principale du processus d’exécuteur de tâches.
AuroraLimitlessActivity:AdminTaskMonitorMain événement d'attente
En attente dans la boucle principale du processus de surveillance de tâches.
AuroraLimitlessActivity:DatabaseCleanupMonitorMain événement d'attente
En attente dans la boucle principale du processus de surveillance du nettoyage de la base de données.
AuroraLimitlessActivity:TopologyCleanupMonitorMain événement d'attente
En attente dans la boucle principale du processus de surveillance du nettoyage de la topologie.
AuroraLimitlessActivity:ToplogyChangeMonitorMain événement d'attente
En attente dans la boucle principale du processus de surveillance des changements de topologie.
AuroraLimitlessActivity:DistributedTransactionMonitorMain événement d'attente
En attente dans la boucle principale du processus de surveillance des transactions distribuées.
AuroraLimitlessActivity:GlobalVacuumMonitorMain événement d'attente
En attente dans la boucle principale du processus de surveillance du vacuum global.