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