Share via


Individuazione dei colli di bottiglia

In seguito all'accesso simultaneo alle risorse condivise si possono verificare colli di bottiglia. I colli di bottiglia in genere sono inevitabili e presenti in qualsiasi sistema software. È tuttavia necessario identificare e ottimizzare le situazioni di eccesso di domanda, in quanto una domanda eccessiva delle risorse condivise comporta un rallentamento dei tempi di risposta.

Le possibili cause dei colli di bottiglia sono:

  • Risorse insufficienti che rendono necessari l'aggiunta di componenti o l'aggiornamento dei componenti disponibili.
  • Carichi di lavoro non distribuiti equamente tra risorse dello stesso tipo, ad esempio monopolizzazione di un disco.
  • Funzionamento non corretto delle risorse.
  • Configurazione non corretta delle risorse.

Analisi dei colli di bottiglia

La durata eccessiva di alcuni eventi segnala la presenza di colli di bottiglia che è possibile ottimizzare.

Ad esempio:

  • È possibile che un altro componente impedisca che il processo di caricamento raggiunga il componente in uso, con un conseguente incremento dei tempi necessari per completare il caricamento.
  • Le richieste client potrebbero richiedere tempi più lunghi a causa di traffico di rete intenso.

Per la valutazione delle prestazioni del server allo scopo di individuare eventuali colli di bottiglia, è necessario eseguire il monitoraggio delle cinque aree fondamentali descritte nella tabella seguente.

Possibile area in cui è presente un collo di bottiglia Effetti sul server

Utilizzo della memoria

Se la memoria allocata per Microsoft SQL Server o disponibile per il sistema non è sufficiente, le prestazioni risultano inferiori. I dati infatti devono essere letti nel disco anziché direttamente nella cache dei dati. Microsoft Windows NT esegue un paging eccessivo con uno swapping dei dati da e nel disco in base alle pagine richieste.

Utilizzo della CPU

Se la frequenza di utilizzo della CPU risulta costantemente elevata, potrebbe essere necessario ottimizzare le query Transact-SQL o aggiornare la CPU.

Input/output (I/O) del disco

Per ridurre le operazioni di I/O del disco non necessarie, è possibile ottimizzare le query Transact-SQL, ad esempio tramite l'utilizzo di indici.

Connessioni utente

Se il numero di utenti che accede al server simultaneamente è molto elevato, le prestazioni potrebbe risultare inferiori.

Blocchi di blocco

L'utilizzo di applicazioni progettate in modo non corretto può causare blocchi e ostacolare la concorrenza, con un conseguente rallentamento dei tempi di risposta e una diminuzione della velocità effettiva.

Per ulteriori informazioni sull'ottimizzazione di query SQL, vedere Prestazioni delle query e Ottimizzazione della progettazione fisica di database.

Vedere anche

Riferimento

Oggetto Statistiche generali di SQL Server
Oggetto Locks di SQL Server

Concetti

Monitoraggio dell'utilizzo della CPU
Monitoraggio dell'utilizzo del disco
Monitoraggio dell'utilizzo della memoria

Guida in linea e informazioni

Assistenza su SQL Server 2005