Continuerò a spiegare come monitorare i contatori delle prestazioni tramite PERFMON | Risoluzione dei problemi relativi alle prestazioni di SQL Server in questa serie di articoli.
Risoluzione dei problemi relativi alle prestazioni di SQL Server
Leggi l'articolo precedente prima di questo.
Risoluzione dei problemi relativi alle prestazioni di SQL Server -2 Monitora database e istanze tramite Activity Monitor
Monitoraggio dei contatori delle prestazioni tramite PERFMON
Il collo di bottiglia che si verifica nel database e nel server può essere identificato esaminando l'utilizzo delle risorse del server. I colli di bottiglia più importanti che interessano SQL Server sono i seguenti.
- Collo di bottiglia della memoria
- Collo di bottiglia dell'I/O del disco
- Collo di bottiglia della CPU
Collo di bottiglia della memoria in SQL Server
L'istanza di SQL Server alloca lo spazio di memoria dal sistema operativo (OS) in base ai parametri di memoria Max e Min impostati durante l'avvio. Per impostazione predefinita, l'utilizzo della memoria dell'istanza di SQL Server aumenta continuamente per evitare il paging. Se non c'è più spazio di memoria per un processo nel sistema operativo, il sistema operativo avverte SQL Server e SQL Server rilascia memoria aggiuntiva allocata.
I parametri di memoria massima e minima possono essere impostati dalla schermata seguente. (SQL Server Management Studio–> Fare clic con il pulsante destro del mouse su Istanza SQL e scegliere Proprietà server)
La causa generale dei colli di bottiglia nelle istanze di SQL Server è che la memoria è insufficiente. In caso di memoria insufficiente, si parla di errore di pagina hardware se il database legge i dati dal disco fisico anziché dalla memoria.
È necessario esaminare i seguenti contatori delle prestazioni per verificare se è presente un collo di bottiglia di memoria nel database e nel sistema operativo.
Memoria:pagine/sec in SQL Server
Indica il numero di pagine di memoria che non esistono nella memoria ve e devono essere lette dal disco e il numero di pagine di memoria che devono essere scritte sul disco.
Questo valore dovrebbe essere seguito per un certo periodo mentre il database funziona normalmente e dovrebbe essere determinato un valore medio. Se questo valore è costantemente alto in caso di problemi, è utile aumentare le dimensioni della memoria fisica del sistema operativo.
Memoria:byte impegnati in SQL Server
Indica lo spazio di memoria totale utilizzato dall'istanza da pagefile.sys su RAM e disco. Questo contatore non supererà la dimensione totale della RAM se la quantità di memoria fornita è sufficiente. Se non c'è più memoria sufficiente, viene utilizzato lo spazio pagefile.sys e ciò significa che il valore del contatore delle prestazioni correlato supererà il valore della RAM. In uno scenario del genere, l'aggiunta di RAM al server può facilitare il sistema.
Memoria:byte disponibili in SQL Server
Indica la quantità totale di memoria disponibile per l'istanza. Questo valore di solito appare basso. Se il valore di questo contatore è costantemente inferiore a 4 MB, si verificano troppe operazioni di paging.
Collo di bottiglia di I/O su disco in SQL Server
Per il collo di bottiglia dell'I/O del disco, che si verifica sul disco o sull'archiviazione, è necessario controllare i valori del contatore delle prestazioni sotto il disco fisico e logico nello strumento Perfmon.
- Se il valore di un contatore, ad esempio Secondi disco/lettura contatore, è maggiore di 15-20 ms, di solito è un problema di prestazioni del disco.
- Valori alti continui per Secondi disco/scrittura medi contatore indica che c'è un problema di prestazioni sui dischi.
% di tempo su disco in SQL Server
Visualizza la densità di lettura/scrittura dei dischi. Se questo valore è 80%, è inteso che i dischi sono ampiamente utilizzati. Un valore pari o inferiore al 50% indica l'assenza di collo di bottiglia del disco.
Media Lunghezza della coda del disco in SQL Server
Mostra quelli in attesa nell'I/O effettuato sul disco. Se questo valore è costantemente alto, significa che il collo di bottiglia del disco o della memoria è iniziato.
Media Byte del disco/Trasferimento in SQL Server
Mostra la quantità media di byte elaborati durante la lettura e la scrittura su disco. Un valore più alto significa che il disco funziona in modo efficiente.
Collo di bottiglia della CPU
È più facile vedere se il sistema rallenta dalla CPU, rispetto a Memoria e I/O su disco. Perché, dopo aver verificato Memoria e Disco, se ci sono ancora più problemi e se è necessario esaminare il lato CPU, è possibile controllare immediatamente la CPU di sistema. Se la CPU del sistema è all'80%, significa che c'è un problema, ma nel 50% è possibile determinare che il problema non è causato dalla CPU.
Processore:% tempo del processore in SQL Server
Visualizza il tempo di esecuzione attivo della CPU.
Se il sistema operativo è in grado di gestire le richieste senza aumentare la Lunghezza della coda del server valore, quindi i processi vengono riparati il più rapidamente possibile.
Processore:% tempo privilegiato
Mostra il tempo della CPU allocato al sistema operativo su cui è in esecuzione SQL Server.
Processore:% tempo utente
Mostra il tempo della CPU impiegato per altre attività in esecuzione sul sistema operativo.
Continuerò a spiegare Risoluzione dei problemi relativi alle prestazioni di SQL Server nel prossimo articolo.
Risoluzione dei problemi relativi alle prestazioni di SQL Server -4 Utilizzo di DMV (Dynamic Management View) e DMF (Dynamic Management Function)