Condividi tramite


Oggetto di Gestione buffer di SQL Server

L'oggetto Gestione buffer fornisce contatori per monitorare il modo in cui SQL Server usa:

  • Memoria per archiviare pagine di dati.

  • Contatori per monitorare l'I/O fisico come SQL Server legge e scrive pagine di database.

  • Estensione del pool di buffer per estendere la cache del buffer utilizzando risorse di archiviazione non volatili veloci quali le unità SSD.

Il monitoraggio della memoria e dei contatori usati da SQL Server consente di determinare:

  • Se vi sono colli di bottiglia dovuti a una quantità di memoria fisica inadeguata. Se non è possibile archiviare i dati a cui si accede di frequente nella cache, SQL Server deve recuperare i dati dal disco.

  • Se le prestazioni delle query possono essere migliorate aggiungendo più memoria o rendendo disponibile più memoria per la cache dei dati o SQL Server strutture interne.

  • Frequenza con cui SQL Server deve leggere i 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.

Oggetti prestazioni di Gestione buffer

Questa tabella descrive gli oggetti prestazioni di Gestione buffer SQL Server.

Contatori di Gestione buffer di SQL Server Descrizione
Percentuale riscontri cache buffer Indica la 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. In genere, è possibile aumentare il rapporto riscontri nella cache del buffer aumentando la quantità di memoria disponibile per SQL Server o usando la funzionalità di estensione del pool di buffer.
Pagine checkpoint/sec Indica il 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 Indica il numero di pagine con contenuto di database nel pool di buffer.
Pagine di estensione allocate Numero totale di pagine memorizzate nella cache non disponibili nel file di estensione del pool di buffer.
Pagine di estensione disponibili Numero totale di pagine memorizzate nella cache disponibili nel file di estensione del pool di buffer.
Estensione utilizzata in percentuale Percentuale del file di paging dell'estensione del pool di buffer occupato dalle pagine di Gestione buffer.
Contatore IO di estensione in attesa Lunghezza della coda di I/O per il file di estensione del pool di buffer.
Eliminazioni pagine di estensione/sec Numero di pagine eliminate dal file dell'estensione del pool di buffer al secondo.
Letture pagine di estensione/sec Numero di pagine lette dal file dell'estensione del pool di buffer al secondo.
Tempo senza riferimenti pagina di estensione Numero medio di secondi durante i quali una pagina viene mantenuta nell'estensione del pool di buffer senza riferimenti.
Scritture pagine di estensione/sec Numero di pagine scritte nel file dell'estensione del pool di buffer al secondo.
Blocchi elenco di disponibilità/sec Indica il numero di richieste al secondo per cui è stata necessaria l'attesa di una pagina disponibile.
Scritture Lazywriter/sec Indica il 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 Indica il numero di secondi durante il quale una pagina viene mantenuta nel pool di buffer senza riferimenti.
Ricerche di pagina/sec Indica il numero di richieste al secondo per la ricerca di una pagina nel pool di buffer.
Letture di pagina/sec Indica il 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 Indica il numero di scritture fisiche di pagine del database eseguite al secondo.
Pagine read-ahead/sec Indica il numero di pagine lette al secondo prima di essere utilizzate.

Vedere anche

Nodo SQLServer:Buffer
Opzioni di configurazione del server Server Memory
Oggetto Plan Cache di SQL Server
Monitoraggio dell'utilizzo delle risorse (Monitor di sistema)
sys.dm_os_performance_counters (Transact-SQL)
Estensione pool di buffer