I problemi di prestazioni del database non sono rari. Fortunatamente, di solito c'è una soluzione abbastanza intuitiva per la maggior parte dei problemi. La cosa più importante che un DBA può fare per risolvere rapidamente i problemi e migliorare le prestazioni di SQL Server è assicurarsi che la strategia di monitoraggio delle prestazioni sia aggiornata e allineata alle esigenze di monitoraggio del database. Se non lo è, è tempo di agire.
Il primo passo per migliorare il monitoraggio del database è valutare la tua situazione attuale. Non saprai dove manca il tuo monitoraggio o se il monitoraggio sta migliorando i tuoi problemi di prestazioni se non prendi una misurazione di base del tuo punto di partenza.
Per impostare le prestazioni di base, dovrai valutare l'integrità dei database di SQL Server ponendoti alcune domande:
Le query sono ottimizzate? Le query con prestazioni insufficienti sono un modo sicuro per rallentare le prestazioni. Esistono molti trucchi che puoi provare per ripulire le tue query, ma l'opzione migliore è implementare un Query Optimizer che analizzerà e riscriverà le tue query finché non ne troverà una più veloce.
Gli indici sono in buone condizioni? L'indicizzazione eseguita correttamente dovrebbe accelerare il recupero dei dati. Tuttavia, esistono alcuni problemi comuni che possono rallentare le prestazioni, tra cui impostazioni inefficienti del fattore di riempimento e divisioni di pagina. Il modo migliore per evitare questi problemi di prestazioni è non impostare un valore del fattore di riempimento a livello di sistema e guardare le esigenze di ciascun indice individualmente.
Molti dati sono frammentati? I dati frammentati influiscono sulle prestazioni inserendo troppo spazio vuoto su una pagina o causando l'aggiunta di pagine. Il server deve eseguire la scansione e cercare i dati frammentati, il che fa sì che il database funzioni lentamente. L'esecuzione di Ricostruisci o Riorganizza può ripulire la frammentazione.
Qualcosa sta mangiando la CPU? I database rallentano quando la CPU è sollecitata da più risorse. Valuta il carico della CPU e decidi se il problema è che devi aggiungere più CPU o che ci sono risorse inefficienti che utilizzano più CPU di quanto dovrebbero.
Una volta che hai un'istantanea della linea di partenza, avrai un'idea migliore dei tipi di miglioramenti del monitoraggio su cui devi concentrarti. Ecco cinque modi per migliorare il monitoraggio del database di SQL Server.
1. Valuta gli intervalli di monitoraggio ed elimina i dati il più frequentemente possibile
Gli strumenti di monitoraggio delle prestazioni offrono infinite scelte su quali metriche monitorare, quando estrarre i dati e per quanto tempo conservarli. Se stai monitorando più istanze, la quantità di dati che stai raccogliendo è potenzialmente sbalorditiva (e costosa da archiviare).
Per mantenere i tuoi dati a un livello gestibile, non raccogliere i dati più spesso del necessario e mantieni i dati solo per il tempo necessario per individuare le tendenze. Dopo aver registrato qualcosa di interessante, archiviare o eliminare i dati.
2. Verifica che le tue query funzionino in modo efficiente
Esistono molti posti in cui i problemi di prestazioni possono nascondersi in SQL Server. Poiché le applicazioni di database eseguono frequentemente query SQL, valutare lo stato delle query è un ottimo punto di partenza per eliminare i problemi.
Ad esempio, il monitoraggio dell'esecuzione delle query nel tempo ti aiuterà a isolare quelle che utilizzano più risorse del normale. Dopo aver identificato le query problematiche, puoi eseguire ciascuna query per determinare l'origine specifica del problema e correggerla.
3. Esamina i contatori e le impostazioni di Perfmon
SQL Server Performance Monitor (Perfmon) è uno strumento prezioso che consente ai DBA di isolare i punti deboli nei database di SQL Server. Perfmon ti consente di impostare i contatori delle prestazioni per ciascuno dei tuoi server per identificare i colli di bottiglia della CPU, le prestazioni del disco, i problemi di memoria e molto altro.
Questo articolo di Brent Ozar spiega come iniziare a utilizzare Perfmon e descrive alcune best practice.
4. Configura i tuoi avvisi in base alla gravità
Sebbene siano disponibili molte configurazioni di avviso, è meglio essere selettivi durante la configurazione degli avvisi in modo da non soccombere alla fatica dell'avviso. Una buona regola pratica consiste nell'impostare avvisi per problemi di gravità 17 o superiore e per i messaggi di errore 823, 824 e 825, in altre parole, quei problemi che possono portare i server offline, danneggiamento grave o perdita di dati.
5. Sfrutta tutte le funzionalità di gestione degli allarmi offerte dallo strumento di monitoraggio delle prestazioni di SQL Server
Le soluzioni di monitoraggio di SQL Server offrono un'ampia gamma di funzionalità di gestione. Prenditi del tempo per conoscere le caratteristiche del tuo strumento e assicurarti di ottenere il massimo dal tuo investimento.
Alcune funzionalità da cercare che ti aiuteranno a migliorare il processo di monitoraggio delle prestazioni sono:
Regole: Ti consente di personalizzare quali allarmi vengono attivati e quando
Diagnostica: Ti dice che c'è un problema, quindi offre possibili soluzioni
Priorità dei problemi: Concentra la tua attenzione prima sui problemi di massima gravità
Avvisi per cellulari: Ti consente di accedere, valutare e iniziare a valutare gli allarmi da qualsiasi luogo e in qualsiasi momento
Riduzione del rumore: Ti aiuta a evitare l'affaticamento degli allarmi ricevendo solo le notifiche di cui hai bisogno