Oggetto Buffer Manager di SQL Server
L'oggetto Buffer Manager offre contatori che consentono di monitorare l'utilizzo dei seguenti elementi da parte di SQL Server:
- Memoria per l'archiviazione delle pagine di dati, delle strutture di dati interne e per la cache delle procedure.
- Contatori per il monitoraggio dell'attività di I/O fisico quando SQL Server legge o scrive pagine di database.
Il monitoraggio dell'utilizzo della memoria e dei contatori da parte di SQL Server consente di determinare:
- Se vi sono colli di bottiglia dovuti a una quantità di memoria fisica inadeguata. Se la quantità di memoria fisica non è tale da consentire di memorizzare in cache i dati a cui si accede con maggiore frequenza, SQL Server deve recuperare i dati dal disco.
- Se è possibile migliorare le prestazioni delle query aggiungendo memoria o rendendo disponibile una maggiore quantità di memoria per la cache dei dati o le strutture interne di SQL Server.
- La frequenza con cui SQL Server deve ricorrere alla lettura dei dati dal disco. Rispetto agli altri tipi di operazioni, ad esempio l'accesso alla memoria, l'I/O fisico richiede una maggiore quantità di tempo. Riducendo al minimo le operazioni di I/O fisico è possibile migliorare le prestazioni delle query.
È inoltre possibile monitorare l'attività delle estensioni AWE (Address Windowing Extensions) di SQL Server utilizzando i contatori AWE. Ad esempio, è possibile verificare se la quantità di memoria allocata per le estensioni AWE è sufficiente per garantire l'esecuzione corretta di SQL Server. Per ulteriori informazioni, vedere Architettura della memoria, Utilizzo di AWE o Opzione awe enabled.
Nella tabella seguente vengono descritti gli oggetti prestazioni Buffer Manager di SQL Server.
Contatori Buffer Manager di SQL Server | Descrizione |
---|---|
Mappe ricerca AWE/sec |
Numero di volte al secondo in cui una pagina di database è stata richiesta dal server, trovata nel pool di buffer e mappata. La pagina mappata diventa parte dello spazio degli indirizzi virtuali del server. |
Mappe AWE prelevate/sec |
Numero di volte al secondo in cui un buffer è stato prelevato dall'elenco di disponibilità ed è stato mappato. |
Chiamate annullamento mapping AWE/sec |
Numero di chiamate per l'annullamento del mapping dei buffer al secondo. Quando viene annullato il mapping di un buffer, il buffer viene escluso dallo spazio degli indirizzi virtuali del server. È possibile annullare il mapping di uno o più buffer in ogni chiamata. |
Pagine AWE non mappate/sec |
Numero di buffer di SQL Server di cui viene annullato il mapping al secondo. |
Mappe scrittura AWE/sec |
Numero di mapping al secondo necessari in un buffer dirty per poterlo scrivere su disco. |
Percentuale riscontri cache buffer |
Percentuale di pagine trovate nella cache del buffer senza dover ricorrere a una lettura dal disco. La percentuale è data dal rapporto tra il totale dei riscontri nella cache e il totale di ricerche nella cache eseguite considerate alcune migliaia dei più recenti accessi alla pagina. La variazione della percentuale su lunghi periodi di tempo è limitata. Poiché la lettura dalla cache richiede una quantità di risorse molto minore rispetto alla lettura dal disco, è auspicabile che il valore della percentuale sia elevato. È generalmente possibile incrementare la percentuale di riscontri nella cache del buffer aumentando la quantità di memoria disponibile per SQL Server. |
Pagine checkpoint/sec |
Numero di pagine al secondo scaricate nel disco tramite checkpoint o altre operazioni che richiedono lo scaricamento di tutte le pagine dirty. |
Pagine di database |
Numero di pagine con contenuto di database nel pool di buffer. |
Blocchi elenco di disponibilità/sec |
Numero di richieste al secondo per le quali è stata necessaria l'attesa di una pagina disponibile. |
Pagine disponibili |
Numero totale di pagine in tutti gli elenchi di disponibilità. |
Scritture Lazywriter/sec |
Numero di buffer scritti al secondo da Lazywriter di Gestione buffer. Lazywriter è un processo di sistema che scarica batch di buffer dirty e obsoleti (buffer contenenti modifiche che devono essere riscritte su disco prima che il buffer possa essere riutilizzato per un'altra pagina) e li rende disponibili per i processi utente. Lazywriter elimina la necessità di eseguire checkpoint frequenti per la creazione di buffer disponibili. |
Permanenza presunta delle pagine |
Numero di secondi per i quali una pagina viene mantenuta nel pool di buffer senza riferimenti attivi. |
Ricerche di pagina/sec |
Numero di richieste al secondo per la ricerca di una pagina nel pool di buffer. |
Letture di pagina/sec |
Numero di letture fisiche di pagine del database eseguite al secondo. Il valore indica il totale di letture fisiche di pagine eseguite in tutti i database. Poiché l'I/O fisico richiede una notevole quantità di risorse, potrebbe essere possibile ridurre i costi utilizzando una cache dei dati di dimensioni maggiori, indici intelligenti e query più efficienti oppure modificando la progettazione del database. |
Scritture di pagina/sec |
Numero di scritture fisiche di pagine del database al secondo. |
Pagine read-ahead/sec |
Numero di pagine lette al secondo prima di essere utilizzate. |
Pagine riservate |
Numero di pagine riservate del pool di buffer. |
Pagine prelevate |
Numero di pagine utilizzate per varie funzioni del server, tra cui la cache delle procedure. |
Obiettivo numero di pagine |
Numero ideale di pagine per il pool di buffer. |
Totale pagine |
Numero di pagine nel pool di buffer (include pagine di database, disponibili e prelevate). |
Vedere anche
Riferimento
Oggetto Buffer Node di SQL Server
Oggetto Plan Cache di SQL Server
Concetti
Altre risorse
Monitoraggio dell'utilizzo delle risorse (Monitor di sistema)
sys.dm_os_performance_counters