Monitoraggio e ottimizzazione delle prestazioni

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di Azure

L'obiettivo del monitoraggio dei database consiste nella valutazione delle prestazioni di un server. Un monitoraggio efficace implica l'esecuzione di snapshot periodici delle prestazioni correnti al fine di isolare i processi che causano problemi, nonché la raccolta continua di dati nel tempo per tenere traccia delle tendenze delle prestazioni.

La valutazione continuativa delle prestazioni del database consente di ridurre al minimo i tempi di risposta e di aumentare al massimo la velocità effettiva, ottimizzando pertanto le prestazioni. Traffico di rete, operazioni di I/O su disco e utilizzo della CPU efficienti sono fattori fondamentali per ottenere prestazioni ottimali. È necessario analizzare accuratamente i requisiti delle applicazioni, comprendere la struttura logica e fisica dei dati, valutare l'utilizzo del database e raggiungere compromessi adeguati tra tipi di utilizzo in conflitto, ad esempio elaborazione delle transazioni online (OLTP) e supporto decisionale.

Monitoraggio e ottimizzazione del database per le prestazioni

In Microsoft SQL Server e nel sistema operativo Microsoft Windows sono disponibili utilità che consentono di visualizzare la condizione corrente del database e di tenere traccia delle prestazioni in caso di variazioni. Per il monitoraggio di Microsoft SQL Server è disponibile una vasta gamma di strumenti e tecniche. Il monitoraggio di SQL Server consente di:

  • Determinare se è possibile migliorare le prestazioni. Il monitoraggio dei tempi di risposta delle query più frequenti consente, ad esempio, di determinare se sono necessarie modifiche alle query o agli indici nelle tabelle.

  • Valutare le attività degli utenti. Il monitoraggio dei tentativi di connessione a un'istanza di SQL Server consente ad esempio di determinare se il sistema di sicurezza è adeguatamente impostato e di testare applicazioni e sistemi di sviluppo. Il monitoraggio dell'esecuzione di query SQL consente ad esempio di determinare se le query sono formulate in modo corretto e se producono i risultati previsti.

  • Risolvere problemi o eseguire il debug dei componenti di applicazione, ad esempio di stored procedure.

Monitoraggio in un ambiente dinamico

I cambiamenti delle condizioni comportano variazioni nelle prestazioni. Nel corso delle valutazioni, è possibile analizzare le variazioni delle prestazioni in relazione ad aumento del numero di utenti, modifica dei metodi di connessione e accesso degli utenti, aumento dei contenuti del database, cambiamento nelle applicazioni client, variazione dei dati nelle applicazioni, aumento della complessità delle query e incremento del traffico di rete. L'uso di strumenti per il monitoraggio delle prestazioni consente di associare alcune variazioni nelle prestazioni con cambiamenti nelle condizioni e complessità delle query. Esempi:

  • Il monitoraggio dei tempi di risposta delle query più frequenti consente di determinare se sono necessarie modifiche alle query o agli indici nelle tabelle in cui le query vengono eseguite.

  • Il monitoraggio dell'esecuzione di query Transact-SQL consente di determinare se le query sono formulate in modo corretto e se producono i risultati previsti.

  • Il monitoraggio dei tentativi di connessione a un'istanza di SQL Server consente di determinare se il sistema di sicurezza è adeguato e di verificare il funzionamento di applicazioni o sistemi di sviluppo.

I tempi di risposta corrispondono al tempo necessario per la restituzione all'utente della prima riga del set di risultati come conferma visiva dell'elaborazione di una query. La velocità effettiva corrisponde al numero totale di query gestite dal server in un determinato periodo di tempo.

Con l'aumentare del numero di utenti, aumenta la concorrenza per le risorse del server, che a sua volta comporta un incremento dei tempi di risposta e una diminuzione generale della velocità effettiva.

Attività di monitoraggio e ottimizzazione delle prestazioni

Argomento Attività
Monitorare i componenti di SQL Server Procedure necessarie per monitorare qualsiasi componente di SQL Server, ad esempio Monitoraggio attività, eventi estesi, viste e funzioni a gestione dinamica e così via.
Strumenti per il monitoraggio e l'ottimizzazione delle prestazioni Elenca gli strumenti di monitoraggio e ottimizzazione disponibili con SQL Server, ad esempio Statistiche query dinamiche e Ottimizzazione guidata motore di database.
Aggiornamento di database mediante l'Assistente ottimizzazione query Mantenere stabili le prestazioni del carico di lavoro durante l'aggiornamento a un livello di compatibilità più recente del database.
Monitoraggio delle prestazioni tramite Archivio query Usare l'archivio query per acquisire automaticamente una cronologia di query, piani e statistiche di runtime e conservarle per la consultazione.
Definire una base di riferimento delle prestazioni Come definire una baseline delle prestazioni.
Isolare i problemi relativi alle prestazioni Isolare problemi di prestazioni del database.
Individuare i colli di bottiglia Monitorare e tenere traccia delle prestazioni del server per identificare colli di bottiglia.
Usare DMV per determinare le statistiche di utilizzo e le prestazioni delle viste Illustra la metodologia e gli script usati per ottenere informazioni sulle prestazioni delle query.
Monitoraggio delle prestazioni e dell'attività del server Usare SQL Server e gli strumenti di monitoraggio delle prestazioni e delle attività di Windows.
Monitoraggio dell'utilizzo delle risorse Utilizzo di Monitoraggio di sistema, noto anche come perfmon, per misurare le prestazioni di SQL Server usando i contatori delle prestazioni.

Vedi anche

Amministrazione automatizzata in un'organizzazione
Confrontare e analizzare i piani di esecuzione
Visualizzare e salvare piani di esecuzione