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 relativi a Performan
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à di misura è l'DBLoadAverage Active Sessions (AAS) per un'istanza Amazon DocumentDB.
Una sessione attiva è una connessione che ha inviato il lavoro all'istanza Amazon DocumentDB ed è in attesa di una risposta. Ad esempio, se invii una query a un'istanza di Amazon DocumentDB, la sessione del database è attiva mentre l'istanza sta elaborando 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 carico del database 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 funzionare. Ad esempio, un'istruzione di interrogazione potrebbe attendere lo sblocco di una risorsa bloccata. Combinandolo DB Load con gli stati di attesa, è possibile ottenere un quadro completo dello stato della sessione. Ecco i vari stati di attesa di Amazon DocumentDB:
| Stato di attesa di Amazon DocumentDB | Descrizione dello stato di attesa |
|---|---|
|
Chiusura |
Lo stato di attesa Latch si verifica quando la sessione è in attesa di paginare il buffer pool. L'impaginazione frequente in entrata e in uscita dal buffer pool può verificarsi più spesso quando il sistema elabora frequentemente interrogazioni di grandi dimensioni, scansioni di raccolte o quando il pool di buffer è troppo piccolo per gestire il working set. |
| CPU |
Lo stato di attesa della CPU si verifica quando la sessione è in attesa sulla 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 creare più stati di DocumentLock attesa su quel documento. |
|
SystemLock |
Lo stato di SystemLock attesa si verifica quando la sessione è in attesa nel sistema. Ciò può verificarsi quando nel sistema sono presenti frequenti interrogazioni di lunga durata, transazioni di lunga durata o elevata concorrenza. |
|
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 tengono aperti i cursori sulle pagine richieste. |
|
LowMemThrottle |
Lo stato di LowMemThrottle attesa si verifica quando la sessione è in attesa a causa della forte pressione di memoria sull'istanza Amazon DocumentDB. Se questo stato persiste per un lungo periodo, 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 per un lungo periodo, valuta la possibilità di terminare questa query. Per ulteriori informazioni, vedi Come posso trovare e terminare le query bloccate o di lunga durata? |
Domande principali
Mentre gli stati di attesa mostrano dei colli di bottiglia, le prime query mostrano quali sono le query che contribuiscono maggiormente al carico del DB. 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.
Max 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 vCPU massimo è 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 le query con un carico di CPU elevato o prendere in considerazione una classe di istanza più ampia. 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.