Monitoraggio e ottimizzazione delle prestazioniMonitor and Tune for Performance

L'obiettivo del monitoraggio dei database consiste nella valutazione delle prestazioni di un server.The goal of monitoring databases is to assess how a server is performing. 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.Effective monitoring involves taking periodic snapshots of current performance to isolate processes that are causing problems, and gathering data continuously over time to track performance trends.

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.Ongoing evaluation of the database performance helps you minimize response times and maximize throughput, yielding optimal performance. Traffico di rete, operazioni di I/O su disco e utilizzo della CPU efficienti sono fattori fondamentali per ottenere prestazioni ottimali.Efficient network traffic, disk I/O, and CPU usage are key to peak performance. È 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.You need to thoroughly analyze the application requirements, understand the logical and physical structure of the data, assess database usage, and negotiate tradeoffs between conflicting uses such as online transaction processing (OLTP) versus decision support.

Monitoraggio e ottimizzazione del database per le prestazioniMonitoring and tuning databases for performance

In Microsoft SQL ServerSQL 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.Microsoft SQL ServerSQL Server and the Microsoft Windows operating system provide utilities to view the current condition of the database and track performance as conditions change. È disponibile una vasta gamma di strumenti e di tecniche per il monitoraggio di MicrosoftMicrosoft SQL ServerSQL Server.There are a variety of tools and techniques you can use to monitor MicrosoftMicrosoft SQL ServerSQL Server. Il monitoraggio di SQL ServerSQL Server consente di eseguire queste operazioni:Monitoring SQL ServerSQL Server helps you:

  • Determinare se è possibile migliorare le prestazioni.Determine whether you can improve performance. 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.For example, by monitoring the response times for frequently used queries, you can determine whether changes to the query or indexes on the tables are required.

  • Valutare le attività degli utenti.Evaluate user activity. Il monitoraggio dei tentativi di connessione a un'istanza di SQL ServerSQL Serverconsente ad esempio di determinare se il sistema di sicurezza è adeguatamente impostato e di testare applicazioni e sistemi di sviluppo.For example, by monitoring users trying to connect to an instance of SQL ServerSQL Server, you can determine whether security is set up adequately and test applications or development systems. 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.For example, by monitoring SQL queries as they are executed, you can determine whether they are written correctly and producing the expected results.

  • Risolvere problemi o eseguire il debug dei componenti di applicazione, ad esempio di stored procedure.Troubleshoot problems or debug application components, such as stored procedures.

Monitoraggio in un ambiente dinamicoMonitoring in a dynamic environment

I cambiamenti delle condizioni comportano variazioni nelle prestazioni.Changing conditions result in changing performance. 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.In your evaluations, you can see performance changes as the number of users increases, user access and connection methods change, database contents grow, client applications change, data in the applications changes, queries become more complex, and network traffic rises. L'uso di strumenti per il monitoraggio delle prestazioni consente di associare alcune variazioni nelle prestazioni con cambiamenti nelle condizioni e complessità delle query.Using tools to monitor performance helps you associate changes in performance with changing conditions and complex queries. Esempi::Examples::

  • 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.By monitoring the response times for frequently used queries, you can determine whether changes to the query or indexes on the tables where the queries execute are required.

  • Il monitoraggio dell'esecuzione di query Transact-SQLTransact-SQL consente di determinare se le query sono formulate in modo corretto e se producono i risultati previsti.By monitoring Transact-SQLTransact-SQL queries as they are executed, you can determine whether the queries are written correctly and producing the expected results.

  • Il monitoraggio dei tentativi di connessione a un'istanza di SQL ServerSQL Serverconsente di determinare se il sistema di sicurezza è adeguato e di verificare il funzionamento di applicazioni o sistemi di sviluppo.By monitoring users that try to connect to an instance of SQL ServerSQL Server, you can determine whether security is set up adequately and test applications or development systems.

    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.Response time is the length of time required for the first row of the result set to be returned to the user in the form of visual confirmation that a query is being processed. La velocità effettiva corrisponde al numero totale di query gestite dal server in un determinato periodo di tempo.Throughput is the total number of queries handled by the server during a specified period of time.

    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.As the number of users increases, so does the competition for a server's resources, which in turn increases response time and decreases overall throughput.

Attività di monitoraggio e ottimizzazione delle prestazioniMonitoring and performance tuning tasks

ArgomentoTopic AttivitàTask
Monitorare i componenti di SQL ServerMonitor SQL Server Components Passaggi necessari per monitorare qualsiasi componente di SQL Server.Required steps to monitor any SQL Server component.
Strumenti per il monitoraggio e l'ottimizzazione delle prestazioniPerformance Monitoring and Tuning Tools Elenca gli strumenti di monitoraggio e ottimizzazione disponibili con SQL Server.Lists the monitoring and tuning tools available with SQL Server.
Definire una base di riferimento delle prestazioniEstablish a Performance Baseline Come definire una baseline delle prestazioni.How to establish a performance baseline.
Isolare i problemi relativi alle prestazioniIsolate Performance Problems Isolare problemi di prestazioni del database.Isolate database performance problems.
Individuare i colli di bottigliaIdentify Bottlenecks Monitorare e tenere traccia delle prestazioni del server per identificare colli di bottiglia.Monitor and track server performance to identify bottlenecks.
Monitoraggio delle prestazioni e dell'attività del serverServer Performance and Activity Monitoring Usare SQL ServerSQL Server e gli strumenti di monitoraggio delle prestazioni e delle attività di Windows.Use SQL ServerSQL Server and Windows performance and activity monitoring tools.
Visualizzare e salvare piani di esecuzioneDisplay and Save Execution Plans Visualizzare e salvare piani di esecuzione in un file in formato XML.Display and save execution plans to a file in XML format.
Statistiche sulle query dinamicheLive Query Statistics Visualizzare statistiche in tempo reale relative ai passaggi per l'esecuzione di query.Display real-time statistics about query execution steps.
Monitoraggio delle prestazioni con Archivio queryMonitoring Performance By Using the Query Store Usare l'archivio query per acquisire automaticamente una cronologia di query, piani e statistiche di runtime e conservarle per la consultazione.Use Query Store to automatically capture a history of queries, plans, and runtime statistics, and retain these for your review.
Uso di Archivio query con OLTP in-memoriaUsing the Query Store with In-Memory OLTP Considerazioni sulle tabelle con ottimizzazione per la memoria.Considerations for Memory-Optimized tables.
Procedure consigliate per l'archivio queryBest Practice with the Query Store Consigli sull'uso dell'archivio query.Advice on using the Query Store.

Vedere ancheSee also

Amministrazione automatizzata in un'organizzazione Automated Administration Across an Enterprise
Ottimizzazione guidata motore di database Database Engine Tuning Advisor
Monitorare l'utilizzo delle risorse (Monitor di sistema) Monitor Resource Usage (System Monitor)
SQL Server Profiler SQL Server Profiler