Concetti di Performance Insights - Amazon DocumentDB

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 DocumentDB.

Una sessione attiva è una connessione che ha inviato lavoro all'istanza DocumentDB ed è in attesa di una risposta. Ad esempio, se si invia una query a un'istanza 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 LoadCombinando gli stati di attesa, è possibile ottenere un quadro completo dello stato della sessione. Ecco vari stati di attesa di DocumentDB:

Stato di attesa di 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 interrogazioni di lunga durata o bloccate?

Domande principali

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 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 le 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.