Vai al contenuto

L’arte dell’ottimizzazione del SQL Server

Scopri come l’ottimizzazione del SQL Server può migliorare notevolmente le operazioni di transazione finanziaria e come l’implementazione di alcune strategie può risolvere i problemi di elaborazione dei dati.

La gestione dei dati dei clienti, in particolare quando si tratta di attività di chiamata, può presentare sfide significative. Queste sfide possono influire sui servizi di fatturazione e pagamento, specialmente quando il volume dei dati aumenta. In un caso specifico, i tempi di elaborazione hanno superato le 24 ore, causando ritardi nel processamento in tempo reale e generando rapporti che riflettevano dati vecchi di più di un giorno. Tuttavia, l’implementazione di una soluzione avanzata ha portato a miglioramenti significativi nelle operazioni di transazione finanziaria del cliente.

Per affrontare il problema, è stata condotta un’analisi meticolosa e sono state implementate diverse misure strategiche. Inizialmente, il team ha cercato di mitigare il problema aumentando l’allocazione di CPU e memoria per ogni macchina. Sfortunatamente, questa soluzione si è rivelata inefficace poiché il problema è riemerso poco dopo.

Successivamente, è stato installato uno strumento opensource sul VM del SQL Server, consentendo di raccogliere dati metrici completi. Dopo aver esaminato attentamente i log per ulteriori quattro ore, è stata fatta una scoperta critica. Si è scoperto che le statistiche avevano un tasso di campionamento costantemente basso, sempre inferiore al 5%. Per risolvere questo problema, il team ha consigliato di regolare il parametro del tasso di campionamento nei lavori di aggiornamento delle statistiche e di abilitare PERSIST_SAMPLE_PERCENT per allinearlo con il tasso di campionamento del lavoro di manutenzione. Inoltre, hanno suggerito di aumentare l’impostazione MAXDOP da 1 a 8.

Quando SQL Server crea o aggiorna le statistiche e non viene specificato manualmente un tasso di campionamento, il tasso di campionamento predefinito potrebbe non rappresentare accuratamente la distribuzione dei dati, portando a un degrado dell’efficienza del piano di interrogazione.

Per migliorare le stime, è possibile aumentare il tasso di campionamento. Ad esempio, si potrebbe aggiornare una statistica con una scansione completa e utilizzare la parola chiave PERSIST_SAMPLE_PERCENT per garantire che la statistica venga sempre aggiornata con un tasso di campionamento del 100 percento.

Dopo aver implementato queste raccomandazioni, il cliente ha risolto con successo il problema del link di replica, risultando in un miglioramento notevole della capacità di elaborazione del SQL Server.