Cause di I / O buffer elevato di SQL Server 2008 R2


8

Sto cercando di risolvere le prestazioni su un SQL Server che abbiamo per il nostro server di gestione dei documenti e oggi le prestazioni hanno raggiunto un minimo storico.

Osservando il Management Data Warehouse (MDW) che ho configurato di recente, posso vedere un enorme picco nell'I / O del buffer. Il tempo di attesa SQL combinato è compreso tra 1500 e 2000 ms, che è considerevolmente più alto del normale (circa 500 ms). Gran parte di questo aumento è I / O buffer.

Non essendo un DBA e facendo questo per necessità, sono enormemente fuori dalla mia profondità.

C'è un modo per dire perché c'è stato un grande aumento dell'I / O buffer? Ciò è probabilmente dovuto a una query che estrae grandi quantità di dati o alla configurazione errata dei limiti di memoria di SQL Server? C'è qualcosa di specifico (o generale per quella materia) che dovrei guardare o DMV che posso interrogare per aiutare a risolvere?

Il server è SQL Server 2008 R2. È una VM che esegue due vCPU e 8 GB di RAM con i dischi ospitati su un array separato su una SAN.

inserisci qui la descrizione dell'immagine

I grafici sopra sono stati tutti generati utilizzando SQL Server Management Data Warehouse .

Risposte:


9

Se si osserva attentamente il grafico delle attese, le barre colorate indicano effettivamente le attese di blocco, non le attese di I / O.

Inoltre, il grafico I / O mostra un aumento dell'utilizzo del disco di sistema , non dell'utilizzo del disco di SQL Server .

Dato che il grafico della memoria si sta avvicinando alla dimensione della memoria del sistema man mano che l'utilizzo del sistema aumenta nel tempo, credo che l'istanza sia stata trasmessa in eccesso per l'impostazione corrente della memoria massima del server (o l'impostazione massima della memoria del server non è affatto impostata) e una o più pool di memoria di SQL Server si stanno scambiando su disco.

La soluzione è abbassare l'impostazione della memoria massima del server (o impostarla su un valore appropriato se non è impostata). Si prega di consultare la mia risposta qui per una risposta più approfondita da uno scenario simile e il mio post sul blog:

La memoria del mio SQL Server è troppo impegnata?

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.