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à.
Concetti di Performance Insights
Media delle sessioni attive
Il carico del database (carico DB)misura il livello di attività nel database. Il parametro chiave in Performance Insights è DB Load
, che viene raccolto ogni secondo. L'unità per la DBLoad
metrica è l'Average Active Sessions (AAS) per un'istanza Amazon DocumentDB.
Una sessione attiva è una connessione che ha inviato il lavoro all'istanza di Amazon DocumentDB ed è in attesa di una risposta. Ad esempio, se invii una query a un'istanza Amazon DocumentDB, la sessione del database è attiva mentre l'istanza elabora la query.
Per ottenere le sessioni attive medie (AAS), Performance Insights esegue il campionamento del numero di sessioni che eseguono contemporaneamente una query. L'AAS è il numero totale di sessioni diviso per il numero totale di campioni. La tabella seguente mostra cinque esempi consecutivi di una query in esecuzione.
Project N.E.M.O. | Numero di sessioni che eseguono query | AAS | Calcolo |
---|---|---|---|
1 |
2 |
2 |
2 sessioni/1 campione |
2 |
0 |
1 |
2 sessioni/2 campioni |
3 |
4 |
2 |
6 sessioni/3 campioni |
4 |
0 |
1.5 |
6 sessioni/4 campioni |
5 |
4 |
2 |
10 sessioni/5 campioni |
Nell'esempio precedente, il DB Load per l'intervallo di tempo compreso tra 1 e 5 è 2 AAS. Un aumento del carico database significa che, in media, più sessioni sono in esecuzione sul database.
Dimensioni
Il parametro DB Load
è diverso dagli altri parametri di serie temporali in quanto può essere suddiviso in sottocomponenti detti dimensioni. Le dimensioni possono essere considerate come categorie per le diverse caratteristiche della metrica DB
Load
. Quando si diagnosticano problemi di prestazioni, le dimensioni più utili sono gli stati di attesa e la top query.
stati di attesa
Uno stato di attesa fa sì che un'istruzione di query attenda il verificarsi di un evento specifico prima di poter continuare a essere eseguita. Ad esempio, un'istruzione di query potrebbe attendere lo sblocco di una risorsa bloccata. DB Load
Combinando gli stati di attesa, è possibile ottenere un quadro completo dello stato della sessione. Ecco diversi stati di attesa di Amazon DocumentDB:
Stato di attesa di Amazon DocumentDB | Descrizione dello stato di attesa |
---|---|
Chiavistello |
Lo stato di attesa Latch si verifica quando la sessione è in attesa di impaginare il pool di buffer. Il paging frequente in entrata e in uscita dal buffer pool può avvenire più spesso quando il sistema elabora frequentemente query di grandi dimensioni, scansioni di raccolta o quando il pool di buffer è troppo piccolo per gestire il set di lavoro. |
CPU |
Lo stato di attesa della CPU si verifica quando la sessione è in attesa della CPU. |
CollectionLock |
Lo stato di CollectionLock attesa si verifica quando la sessione è in attesa di acquisire un blocco sulla raccolta. Questi eventi si verificano quando sono presenti operazioni DDL sulla raccolta. |
DocumentLock |
Lo stato di DocumentLock attesa si verifica quando la sessione è in attesa di acquisire un blocco su un documento. Un numero elevato di scritture simultanee sullo stesso documento contribuirà a aumentare gli stati di DocumentLock attesa su quel documento. |
SystemLock |
Lo stato di SystemLock attesa si verifica quando la sessione è in attesa sul sistema. Ciò può verificarsi in presenza di frequenti interrogazioni di lunga durata, transazioni di lunga durata o elevata concorrenza nel sistema. |
IO |
Lo stato di attesa IO si verifica quando la sessione è in attesa del completamento dell'IO. |
BufferLock |
Lo stato di BufferLock attesa si verifica quando la sessione è in attesa di acquisire un blocco su una pagina condivisa nel buffer. BufferLockgli stati di attesa possono essere prolungati se altri processi mantengono i cursori aperti sulle pagine richieste. |
LowMemThrottle |
Lo stato di LowMemThrottle attesa si verifica quando la sessione è in attesa a causa della forte pressione della memoria sull'istanza di Amazon DocumentDB. Se questo stato persiste a lungo, valuta la possibilità di scalare l'istanza per fornire memoria aggiuntiva. Per ulteriori informazioni, consulta Resource Governor. |
BackgroundActivity |
Lo stato di BackgroundActivity attesa si verifica quando la sessione è in attesa di processi interni del sistema. |
Altro |
L'altro stato di attesa è uno stato di attesa interno. Se questo stato persiste a lungo, valuta la possibilità di terminare questa interrogazione. Per ulteriori informazioni, vedi Come posso trovare e terminare le query di lunga durata o bloccate? |
Le domande più frequenti
Mentre gli stati di attesa mostrano dei punti deboli, le query principali mostrano quali sono le query che contribuiscono maggiormente al carico del database. Ad esempio, molte query potrebbero essere attualmente in esecuzione nel database, ma una singola query potrebbe consumare il 99% del carico DB. In questo caso, il carico elevato potrebbe indicare un problema con la query.
Numero massimo di vCPU
Nel dashboard, il grafico di caricamento del database raccoglie, aggrega e visualizza le informazioni sulla sessione. Per verificare se le sessioni attive superano la CPU massima, esaminare la loro relazione con la linea vCPU massima. Il valore Max vCPU è determinato dal numero di core vCPU (CPU virtuale) per l'istanza Amazon DocumentDB.
Se il carico è spesso sopra la linea vCPU massima e lo stato di attesa primario è CPU, la CPU è sovraccarica. In questo caso, potresti voler limitare le connessioni all'istanza, ottimizzare qualsiasi query con un carico di CPU elevato o prendere in considerazione una classe di istanza più grande. Istanze elevate e costanti di qualsiasi stato di attesa indicano che possono verificarsi colli di bottiglia o problemi di conflitto delle risorse da risolvere. Questo può valere anche se il carico database non supera il valore della riga CPU massima.