Eventi di attesa illimitati del database - Amazon Aurora
TwophaseFilePoolWrite IO: evento di attesaIO: evento di TwophaseFilePoolRead attesaAuroraLimitless:Evento Connect WaitAuroraLimitless: AsyncConnect evento di attesaAuroraLimitless: evento RemoteStatementSetup di attesaAuroraLimitlessOttimizza le DDLExecution query per ridurre il numero di operazioni di scansione o aumentare l'idoneità per l'ottimizzazione a shard singolo. ----SEP----:Evento di attesa remotaAuroraLimitless: evento RemoteStatementExecution di attesaAuroraLimitless: evento di FetchRemoteResults attesaAuroraLimitless: evento di AsyncGetInitialResponse attesaAuroraLimitless: evento di attesa AsyncGetNextResponse AuroraLimitless: evento di attesa AbortedCommandCleanup AuroraLimitless: evento DistributedCommitPrepare di attesaAuroraLimitless: evento di DistributedCommit attesaAuroraLimitless: evento di DistributedCommitPrepareThrottle attesaAuroraLimitless: evento PreparedTransactionResolution di attesaAuroraLimitless: evento di SendPreparedTransactionOutcome attesaAuroraLimitless: evento di CommitClockBarrier attesaAuroraLimitless: evento di SnapshotClockBarrier attesaAuroraLimitless: evento ReaderSnapshotClockBarrier di attesaAuroraLimitless: evento di attesa GatherDistributedDeadlockGraph AuroraLimitless: evento DistributedDeadlockDetection di attesaAuroraLimitless: evento DistributedDeadlockAbort di attesaAuroraLimitless: evento GatherRemoteStats di attesaAuroraLimitless: evento di attesa GlobalSequenceRefresh AuroraLimitless: evento GlobalVacuumTimeExchange di attesaAuroraLimitless: DistributedTransactionMonitorGather evento di attesaAuroraLimitlessActivity: evento di attesa AdminTaskSchedulerMain AuroraLimitlessActivity: evento di AdminTaskExecutorMain attesaAuroraLimitlessActivity: evento di AdminTaskMonitorMain attesaAuroraLimitlessActivity: evento di DatabaseCleanupMonitorMain attesaAuroraLimitlessActivity: evento di TopologyCleanupMonitorMain attesaAuroraLimitlessActivity: evento ToplogyChangeMonitorMain di attesaAuroraLimitlessActivity: evento di DistributedTransactionMonitorMain attesaAuroraLimitlessActivity: evento di GlobalVacuumMonitorMain attesa

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Eventi di attesa illimitati del database

I seguenti eventi di attesa si applicano al database Aurora PostgreSQL Limitless. È possibile monitorare questi eventi di attesa per identificare i colli di bottiglia nell'elaborazione del database Aurora PostgreSQL Limitless.

Argomenti

TwophaseFilePoolWrite IO: evento di attesa

In attesa della scrittura di un file di stato a due fasi all'interno del pool di file di stato a due fasi. Questo è un evento specifico di Aurora.

Cause

I processi che eseguono un PREPARED TRANSACTION comando, inclusi i partecipanti a una transazione distribuita con Limitless Database, devono mantenere lo stato della transazione in un file a due fasi. Aurora utilizza un pool di file per migliorare le prestazioni di questa operazione.

Azione

Si tratta di un'operazione di I/O di scrittura sincrona e pertanto un'elevata latenza in questo evento ha cause simili IO:XactSync e può essere esaminata allo stesso modo. Se si utilizza Limitless Database, potrebbe essere necessario ridurre il numero di transazioni distribuite eseguite.

IO: evento di TwophaseFilePoolRead attesa

In attesa della lettura di un file di stato a due fasi all'interno del pool di file di stato a due fasi.

Cause

I processi che eseguono un COMMIT PREPARED comando su una transazione preparata in precedenza, inclusi i partecipanti a una transazione distribuita da Limitless Database, potrebbero dover leggere lo stato della transazione precedentemente persistente da un file a due fasi. Aurora utilizza un pool di file per migliorare le prestazioni di questa operazione.

Azione

Si tratta di un'operazione di I/O di lettura. Pertanto, un'elevata latenza in questo evento ha cause simili IO:DataFileRead e può essere studiata allo stesso modo. Se si utilizza Limitless Database, potrebbe essere necessario ridurre il numero di transazioni distribuite eseguite.

AuroraLimitless:Evento Connect Wait

Il processo è in attesa che venga stabilita una connessione a un altro nodo del cluster.

Cause

Vengono stabilite connessioni tra processi e nodi remoti per eseguire query, transazioni distribuite ed eseguire DDLs.

Azione

Riduci il numero di connessioni simultanee al cluster o ottimizza l'uso di query cross-shard.

AuroraLimitless: AsyncConnect evento di attesa

Questo evento è simile aConnect, ma rappresenta un processo in attesa che vengano stabilite connessioni parallele a un insieme di nodi.

Cause

La creazione di connessioni parallele viene eseguita più comunemente durante l'esecuzione di istruzioni DDL.

Azione

Riduci il numero di istruzioni DDL o combinane più istruzioni DDLs nella stessa sessione per migliorare il riutilizzo della connessione.

AuroraLimitless: evento RemoteStatementSetup di attesa

Il processo è in attesa della configurazione dell'esecuzione remota delle query, ad esempio l'apertura, la chiusura del cursore o la creazione di istruzioni preparate.

Cause

Questo evento di attesa aumenta con il numero di scansioni su tabelle frammentate in cui l'istruzione non può essere ottimizzata per un singolo shard.

Azione

Ottimizza le query per ridurre il numero di operazioni di scansione o aumentare l'idoneità all'ottimizzazione a shard singolo.

AuroraLimitlessOttimizza le DDLExecution query per ridurre il numero di operazioni di scansione o aumentare l'idoneità per l'ottimizzazione a shard singolo. ----SEP----:Evento di attesa remota

Il processo è in attesa del completamento di un comando DDL remoto.

Cause

Quando si esegue un comando DDL su un gruppo di shard DB, è necessario distribuirlo ad altri router e nodi shard prima di confermare l'operazione. Alcune operazioni DDL possono essere eseguite a lungo, poiché i dati devono essere adattati alle modifiche dello schema.

Azione

Identifica i comandi DDL a esecuzione prolungata in modo da poterli ottimizzare.

AuroraLimitless: evento RemoteStatementExecution di attesa

Un processo è in attesa del completamento di un comando remoto.

Cause

Un comando SQL è in esecuzione su un nodo remoto. Questo evento verrà visualizzato frequentemente per le comunicazioni interne, ad esempio per i auto_analyze controlli del battito cardiaco.

Azione

Identifica i comandi a esecuzione prolungata utilizzando la vista limitless_stat_statements. In molti casi si tratta di un evento previsto, specialmente per i lavoratori in background o i processi interni, e non è necessaria alcuna azione.

AuroraLimitless: evento di FetchRemoteResults attesa

Un processo è in attesa di recuperare le righe da un nodo remoto.

Cause

Questo evento di attesa può aumentare quando si recupera un numero elevato di righe da una tabella remota, ad esempio una tabella frammentata o di riferimento.

Azione

Identifica le SELECT query non ottimizzate utilizzando la vista. limitless_stat_statements Ottimizza le query per recuperare solo i dati necessari. Puoi anche ottimizzare il parametro. rds_aurora.limitless_maximum_adaptive_fetch_size

AuroraLimitless: evento di AsyncGetInitialResponse attesa

Il processo è in attesa di una risposta iniziale quando viene utilizzata la modalità pipeline nell'esecuzione delle query.

Cause

Ciò si verifica in genere durante l'esecuzione di router to shard per le query con posizionamento di dati a frammento singolo ed è una parte prevista della normale esecuzione.

Azione

Non è richiesta alcuna operazione aggiuntiva.

AuroraLimitless: evento di attesa AsyncGetNextResponse

Il processo è in attesa di ulteriori risposte quando viene utilizzata la modalità pipeline nell'esecuzione delle query.

Cause

Ciò si verifica in genere durante l'esecuzione di router to shard per le query con posizionamento di dati a frammento singolo ed è una parte prevista della normale esecuzione.

Azione

Non è richiesta alcuna operazione aggiuntiva.

AuroraLimitless: evento di attesa AbortedCommandCleanup

Il processo è in attesa del risultato di una query di pulizia remota. Le query di pulizia vengono inviate ai nodi shard per riportarli allo stato appropriato al termine di una transazione distribuita.

Cause

La pulizia delle transazioni viene eseguita quando una transazione viene interrotta o perché è stato rilevato un errore o perché un utente ha emesso un comando ABORT esplicito o ha annullato la query in esecuzione.

Azione

Indagate sulla causa dell'annullamento della transazione.

AuroraLimitless: evento DistributedCommitPrepare di attesa

Il processo sta eseguendo una transazione distribuita ed è in attesa che tutti i partecipanti confermino il comando prepare.

Cause

Le transazioni che modificano più nodi devono eseguire un commit distribuito. Una lunga attesa DistributedCommitPrepare potrebbe essere causata da lunghe attese nell'IO:TwophaseFilePoolWriteevento sui nodi partecipanti.

Azione

Riduci il numero di transazioni che modificano i dati su più nodi. Analizza IO:TwophaseFilePoolWrite gli eventi in altri nodi del cluster.

AuroraLimitless: evento di DistributedCommit attesa

Il processo sta commettendo una transazione distribuita ed è in attesa che il partecipante principale confermi il comando commit.

Cause

Le transazioni che modificano più nodi devono eseguire un commit distribuito. Una lunga attesa DistributedCommit potrebbe essere causata da lunghe attese nell'IO:XactSyncevento da parte del partecipante principale.

Azione

Riduci il numero di transazioni che modificano i dati su più nodi. Analizza IO:XactSync gli eventi in altri nodi del cluster.

AuroraLimitless: evento di DistributedCommitPrepareThrottle attesa

Il processo sta tentando di preparare una transazione distribuita e viene rallentato a causa delle transazioni preparate esistenti.

Cause

Le transazioni che modificano più nodi devono eseguire un commit distribuito. I partecipanti a queste transazioni devono eseguire un'operazione di preparazione come parte del protocollo di commit. Aurora limita il numero di preparazioni simultanee e, se questo limite viene superato, il processo attenderà l'evento. DistributedCommitPrepareThrottle

Azione

Riduci il numero di transazioni che modificano i dati su più nodi. Esamina IO:TwophaseFilePoolWrite gli eventi, poiché il prolungamento del tempo trascorso in tali eventi potrebbe causare l'accumulo di transazioni preparate esistenti, con conseguente rallentamento dei nuovi tentativi di preparazione.

AuroraLimitless: evento PreparedTransactionResolution di attesa

Il processo ha rilevato una tupla modificata da una transazione distribuita che si trova nello stato preparato. Il processo deve determinare se la transazione distribuita diventerà visibile nella relativa istantanea.

Cause

Le transazioni che modificano più nodi devono eseguire un commit distribuito che include una fase di preparazione. Un numero elevato di transazioni distribuite o una maggiore latenza sui commit distribuiti possono causare l'evento di PreparedTransactionResolution attesa in altri processi.

Azione

Riduci il numero di transazioni che modificano i dati su più nodi. Analizzate gli eventi relativi al commit distribuito, in quanto l'aumento del tempo trascorso in tali eventi potrebbe aumentare la latenza nel percorso di commit delle transazioni distribuite. Potresti anche voler esaminare i carichi di rete e della CPU.

AuroraLimitless: evento di SendPreparedTransactionOutcome attesa

Il processo è in esecuzione su un nodo che coordina una transazione distribuita e un altro processo ha richiesto informazioni sullo stato della transazione, oppure il processo ha eseguito una transazione distribuita e sta inviando il risultato ai partecipanti.

Cause

I processi che riscontrano l'evento di PreparedTransactionResolution attesa interrogheranno il coordinatore della transazione. La risposta sul coordinatore della transazione verrà ricevuta. SendPreparedTransactionOutcome

Azione

Riduci il numero di transazioni che modificano i dati su più nodi. Analizza gli eventi IO:TwophaseFilePoolWrite e IO:TwophaseFilePoolRead gli eventi relativi al commit distribuito, poiché tali eventi potrebbero aumentare la latenza nel percorso di commit delle transazioni distribuite. Potresti anche voler esaminare i carichi di rete e della CPU.

AuroraLimitless: evento di CommitClockBarrier attesa

Il processo sta eseguendo il commit di una transazione e deve attendere per garantire che il tempo di commit assegnato sia passato per tutti i nodi del cluster.

Cause

La staturazione della CPU o della rete potrebbe causare un aumento della deriva del clock, con conseguente tempo impiegato in questo evento di attesa.

Azione

Analizza la saturazione della CPU o della rete nel cluster.

AuroraLimitless: evento di SnapshotClockBarrier attesa

Il processo ha ricevuto un'istantanea dell'ora da un altro nodo con un orologio del futuro ed è in attesa che il proprio orologio raggiunga quell'ora.

Cause

Ciò si verifica in genere dopo che il processo ha ricevuto i risultati da una funzione che è stata trasferita su uno shard e si è verificata una variazione dell'orologio tra i nodi. La staturazione della CPU o della rete potrebbe causare un aumento della deriva del clock, con conseguente tempo impiegato in questo evento di attesa.

Azione

Analizza la staturazione della CPU o della rete nel cluster.

AuroraLimitless: evento ReaderSnapshotClockBarrier di attesa

Questo evento si verifica sui nodi di lettura. Il processo è in attesa che il nodo di lettura riproduca il flusso di scrittura in modo che tutte le scritture avvenute prima dell'ora dell'istantanea del processo siano state applicate.

Cause

Un aumento del ritardo della replica di Aurora può causare un aumento del tempo di attesa in questo evento.

Azione

Indaga sul ritardo della replica di Aurora.

AuroraLimitless: evento di attesa GatherDistributedDeadlockGraph

Il processo sta comunicando con altri nodi per raccogliere grafici di blocco come parte del rilevamento distribuito dei deadlock.

Cause

Quando un processo è in attesa di un blocco, eseguirà un controllo di deadlock distribuito dopo aver atteso più di. rds_aurora.limitless_distributed_deadlock_timeout

Azione

Analizzate le cause della contrapposizione dei blocchi nella vostra applicazione e valutate la possibilità di ottimizzarla. rds_aurora.limitless_distributed_deadlock_timeout

AuroraLimitless: evento DistributedDeadlockDetection di attesa

Il processo sta comunicando con altri nodi per rilevare un deadlock distribuito.

Cause

Quando un processo è in attesa di un blocco, eseguirà un controllo di deadlock distribuito dopo aver atteso più di. rds_aurora.limitless_distributed_deadlock_timeout

Azione

Analizzate le cause della contrapposizione dei blocchi nella vostra applicazione e valutate la possibilità di ottimizzarla. rds_aurora.limitless_distributed_deadlock_timeout

AuroraLimitless: evento DistributedDeadlockAbort di attesa

Il processo sta comunicando con un altro nodo per interrompere una sessione scelta come vittima in un deadlock distribuito.

Cause

I modelli di applicazione danno luogo a situazioni di stallo distribuite.

Azione

Analizzate i modelli di applicazione che determinano situazioni di stallo distribuite.

AuroraLimitless: evento GatherRemoteStats di attesa

Il processo sta raccogliendo statistiche da altri nodi del cluster.

Cause

Il monitoraggio delle nostre attività, le query e le visualizzazioni, ad esempiolimitless_stat_activity, recupereranno le statistiche da altri nodi.

Azione

Non è richiesta alcuna operazione aggiuntiva.

AuroraLimitless: evento di attesa GlobalSequenceRefresh

Il processo sta generando un nuovo valore di sequenza e deve richiedere un nuovo blocco dalla sequenza globale.

Cause

In questo caso, un'elevata velocità di generazione del valore di sequenza può causare uno stallo se rds_aurora.limitless_sequence_chunk_size è insufficiente.

Azione

Si tratta di un evento normale. Se in questo caso il tempo a disposizione è eccessivo, valuta la possibilità di effettuare la sintonizzazione. rds_aurora.limitless_sequence_chunk_size Consulta la documentazione sulle sequenze in Limitless Database.

AuroraLimitless: evento GlobalVacuumTimeExchange di attesa

Il processo consiste nello scambio di dati istantanei per supportare il vuoto.

Cause

I nodi di Limitless Database scambiano i dati temporali più vecchi relativi alle istantanee attive con altri nodi per calcolare l'ora limite corretta per l'esecuzione sotto vuoto.

Azione

Non è richiesta alcuna operazione aggiuntiva.

AuroraLimitless: DistributedTransactionMonitorGather evento di attesa

Il processo sta raccogliendo i metadati delle transazioni da altri nodi per supportare la pulizia distribuita delle transazioni.

Cause

I nodi di Limitless Database scambiano i metadati delle transazioni con altri nodi per determinare quando è possibile eliminare lo stato della transazione distribuita.

Azione

Non è richiesta alcuna operazione aggiuntiva.

AuroraLimitlessActivity: evento di attesa AdminTaskSchedulerMain

In attesa nel ciclo principale del processo di pianificazione delle attività.

AuroraLimitlessActivity: evento di AdminTaskExecutorMain attesa

In attesa nel ciclo principale del processo di esecuzione delle attività.

AuroraLimitlessActivity: evento di AdminTaskMonitorMain attesa

In attesa nel ciclo principale del processo di monitoraggio delle attività.

AuroraLimitlessActivity: evento di DatabaseCleanupMonitorMain attesa

In attesa nel ciclo principale del processo di monitoraggio della pulizia del database.

AuroraLimitlessActivity: evento di TopologyCleanupMonitorMain attesa

In attesa del ciclo principale del processo di monitoraggio della pulizia della topologia.

AuroraLimitlessActivity: evento ToplogyChangeMonitorMain di attesa

Attesa nel ciclo principale del processo di monitoraggio della modifica della topologia.

AuroraLimitlessActivity: evento di DistributedTransactionMonitorMain attesa

Attesa nel ciclo principale del processo di monitoraggio distribuito delle transazioni.

AuroraLimitlessActivity: evento di GlobalVacuumMonitorMain attesa

Attesa nel ciclo principale del processo globale di monitoraggio del vuoto.