Nwlapcug.com


Prestazioni del Timeout SQL Server

Prestazioni del Timeout SQL Server


Le prestazioni delle applicazioni basate su database sono spesso dipendente da quella del tuo software di SQL Server, e rallentamenti o timeout può verificarsi per una serie di motivi. I colli di bottiglia hardware o memoria, record bloccati o procedure problematiche possono svolgere un ruolo in problemi di prestazioni SQL. Mentre la risoluzione dei problemi di SQL Server la maggior parte richiede la conoscenza di access e database administrator, query problematiche di posizionamento e ottimizzazione di database e server impedirà ulteriori problemi lungo la strada.

Cause

Perché problemi di timeout e prestazioni possono derivare da una varietà di cause, dovrete sviluppare una strategia di risoluzione dei problemi sistematica al fine di individuare e risolvere un problema. Si consiglia di che si inizia test utilizzando SQL Profiler, che registra le azioni del server in modo che è possibile isolare il problema. Per ulteriori informazioni sull'impostazione di SQL Profiler per eseguire una traccia, vedere il link a risorse. SQL Server 2012 include anche un'interfaccia utente per il Profiler di eventi estesi, che completamente prenderà il posto di SQL Profiler in versioni future.

Blocco

Maggior parte dei problemi di timeout verificano a causa di record bloccato. Il blocco si verifica quando una connessione si blocca un record di un'altra connessione deve bloccare utilizzando un tipo di blocco diversi. Il blocco è in realtà normale comportamento, ma può causare rallentamenti quando esecuzione lenta query vengono anche bloccate, un indice risulta mancante o in alcune altre circostanze. Mentre per impostazione predefinita, il server attenderà all'infinito per un record bloccato, gli amministratori utilizzano spesso l'impostazione "LOCK_TIMEOUT" per evitare rallentamenti del server. Per determinare se il server sta avendo problemi con il blocco, eseguire la stored procedure seguente quando il server sta vivendo tipico di carico:

exec sp_who

Esaminare l'output per le voci diverso da 0 nella colonna "blk". Se presenti, è possibile utilizzare SQL Profiler di uscita a zero su query con esecuzione lenta che possono causare il blocco.

Piano di esecuzione non valido

Quando il server esegue una query, utilizza i dati disponibili per ottimizzare la modalità di esecuzione della query. Occasionalmente il server indovina sbagliato, risultante in un piano di ottimizzazione male. Se il piano di cattivo viene caricato nella cache, è possibile eseguire più e più volte, rallentare significativamente ogni query o scaduta. Utilizzando i dati da SQL Profiler o SQL Query Analyzer, si può individuare la query con esecuzione lenta e accordare loro in modo che corrono più velocemente.

Sistema dei colli di bottiglia

Le prestazioni del sistema possono anche influire sulle prestazioni di SQL Server e il timeout. Per determinare se il sistema è in fase di carico di problemi, eseguire Performance Monitor e cercare di utilizzo della CPU più alto del solito o richieste dei / o più a lungo del solito. Come con record bloccato, l'aumento del carico con i dati di SQL Profiler di corrispondenza aiuterà voi zero su query, compilation o altre procedure di assunzione di grandi quantità di risorse. Se le procedure di regolazione è impossibile, dovrete migliorare la RAM del server, prestazioni disco o potenza di elaborazione.