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à.
Per risolvere i problemi di prestazioni causati dai blocchi, puoi analizzare gli alberi di blocco per i database PostgreSQL di Amazon Aurora con Database Insights utilizzando quanto segue. CloudWatch
Diviso per menu a discesa: scegli le dimensioni Blocking object, Blocking session o Blocking SQL nel grafico di caricamento del database per vedere in che modo i principali blocker diversi contribuiscono al carico del DB nel tempo. Con il diagramma di carico del DB, puoi analizzare se i blocchi principali sono costanti o cambiano spesso. Quindi, puoi risolvere i problemi relativi ai blocchi.
Scheda Blocco: scegli DB Load Analysis, quindi scegli la scheda Blocco per visualizzare le informazioni sulla contesa dei blocchi nel tuo database.
Nota
CloudWatch Database Insights supporta l'analisi dei blocchi per tutte le versioni di Aurora PostgreSQL.
La scheda di analisi dei blocchi fornisce informazioni sulla contesa dei blocchi per il database. La visualizzazione ad albero dei blocchi mostra le relazioni e le dipendenze tra le richieste di blocco provenienti da sessioni diverse.
Database Insights acquisisce istantanee ogni 15 secondi. Le istantanee mostrano i dati di blocco del database in un determinato momento.
Nota
Quando CloudWatch rileva un blocco elevato, CloudWatch visualizza il banner Alto blocco rilevato per la scheda Blocco. CloudWatch rileva un blocco elevato se CloudWatch scatta un'istantanea del blocco per ogni intervallo di 15 secondi per 15 minuti consecutivi.
Ogni nodo dell'albero rappresenta una sessione specifica. Il nodo principale è una sessione che blocca i relativi nodi secondari.
Per analizzare gli alberi di blocco, utilizzare la procedura seguente.
Per analizzare i lucchetti
Accedi a AWS Management Console e apri la CloudWatch console all'indirizzo https://console.aws.amazon.com/cloudwatch/
. Scegli Insights.
Scegli Database Insights.
Scegli la vista dell'istanza del database.
Scegli un'istanza database.
Scegli la scheda di analisi del carico del database.
Scegli la scheda Blocco.
Per visualizzare i dati di blocco per un'istanza DB, scegli un periodo di 1 giorno o meno.
Scegliete una finestra istantanea. Per impostazione predefinita, Database Insights sceglie la finestra di istantanea con le sessioni più bloccate.
Per visualizzare i dati di blocco per un'istantanea, scegli l'ora in cui Database Insights ha scattato l'istantanea.
Per espandere un albero di blocco, scegli la freccia accanto all'ID della sessione.
Blocca i dati delle istantanee
Database Insights fornisce le seguenti informazioni per ogni richiesta di blocco. Per visualizzare le colonne che non sono abilitate per impostazione predefinita, scegli l'icona Impostazioni per la tabella Blocca alberi e abilita le altre colonne.
Nome colonna | Definizione | Colonna predefinita | Note |
---|---|---|---|
|
L'identificatore di sessione univoco. |
Sì |
|
|
Il PID di questo backend. |
Sì |
|
|
Il numero di sessioni bloccate da questo blocco. |
Sì |
Il |
|
L'ultima query eseguita da questa sessione. Per i bloccanti, potrebbe non essere la query a contenere il blocco di blocco. |
Sì |
|
|
Il nome dell'evento di attesa se il backend è attualmente in attesa, altrimenti il valore è NULL. |
Sì |
|
|
Il tempo (in secondi) dall'inizio di questo blocco. |
Sì |
Il |
|
La modalità di blocco utilizzata dalla sessione di blocco. |
No |
|
|
La modalità di blocco richiesta dalla sessione di attesa. |
No |
|
|
Il nome dell'applicazione connessa a questo backend. |
No |
|
|
L'ora di inizio della transazione di blocco o nulla se nessuna transazione è attiva. |
No |
|
|
L'ora in cui una sessione utente in attesa è iniziata in attesa di questo blocco, o null se il blocco è mantenuto. |
No |
|
|
L'ora in cui è stata avviata una sessione utente. |
No |
|
|
Lo stato di un backend. |
No |
|
|
Il tipo di evento di attesa che questa sessione è in attesa. |
No |
|
|
L'ora in cui è stata avviata l'ultima interrogazione. |
No |
|
|
Il nome dell'utente che ha effettuato l'accesso a questo backend. |
No |
|
|
Il nome host del client connesso, come riportato da una ricerca DNS inversa di. |
No |
|
|
Il numero di porta TCP utilizzato dal client per la comunicazione con questo backend o |
No |
|
|
L'indirizzo IP del client connesso a questo backend. Se questo campo è nullo, indica che il client è connesso tramite un socket Unix sulla macchina server o che si tratta di un processo interno come autovacuum. |
No |
|
|
Il valore è vero se il blocco è mantenuto e falso se il blocco è atteso. |
No |
|
|
Il numero di tupla indicato dal blocco all'interno della pagina o nullo se la destinazione non è una tupla. |
No |
|
|
Il numero di pagina indicato dal blocco all'interno della relazione o null se la destinazione non è una pagina o una tupla di relazione. |
No |
|
|
L'ID della transazione oggetto del blocco o null se la destinazione non è un ID di transazione. |
No |
|
|
L'OID della relazione presa di mira dal blocco o null se la destinazione non è una relazione o parte di una relazione. |
No |
|
|
L'OID della destinazione del blocco all'interno del relativo catalogo di sistema o null se la destinazione non è un oggetto di database generale. |
No |
|
|
L'OID del database in cui esiste la destinazione del blocco, o zero se la destinazione è un oggetto condiviso o null se la destinazione è un ID di transazione. |
No |
|
|
Il nome del database in cui esiste la destinazione del blocco. |
No |
|
|
Il tipo di oggetto bloccabile: relation, extend, frozenid, page, tuple, transactionid, virtualxid, spectoken, object, userlock, advisory o applytransaction. |
No |
|
|
Il valore è vero se il blocco è stato preso con il percorso veloce e falso se preso dalla tabella di blocco principale. |
No |
|
Per ulteriori informazioni sui valori nelle pg_locks
viste pg_stat_activity
e, vedere i seguenti argomenti nella documentazione di PostgreSQL.