Procedure consigliate per l'esecuzione di SQL Server in computer che dispongono di oltre 64 CPU
In questo argomento vengono fornite informazioni quando si esegue un'istanza di SQL Server in computer che dispongono di oltre 64 CPU.
Assegnazione di thread hardware alle CPU
Non utilizzare le opzioni di configurazione del server affinity mask e affinity64 mask per associare i processori a thread specifici. Queste opzioni sono limitate a 64 CPU. Utilizzare invece ALTER SERVER CONFIGURATION (Transact-SQL).
Gestione delle dimensioni del file di log delle transazioni
Non basarsi sull'aumento automatico per incrementare le dimensioni del file di log delle transazioni. L'aumento del log delle transazioni deve essere eseguito tramite un processo seriale. L'estensione del log può impedire l'avanzamento delle operazioni di scrittura della transazione finché il processo di estensione non viene completato. Preallocare lo spazio per tutti i file di log impostando le dimensioni su un valore adeguato per il carico di lavoro tipico nell'ambiente.
Impostazione dell'opzione massimo grado di parallelismo per le operazioni di indice
Le prestazioni delle operazioni di indice quali creazione o ricompilazione possono essere migliorate nei computer con CPU impostando temporaneamente il modello di recupero del database sul modello di recupero con registrazione minima o sul modello di recupero con registrazione minima delle operazioni bulk. Queste operazioni di indice possono generare un'intensa attività a livello di log e i conflitti possono influire sulla scelta del migliore grado di parallelismo (DOP) di SQL Server.
Si consideri inoltre la modifica dell'impostazione del massimo grado di parallelismo (MAXDOP) per queste operazioni. Le indicazioni seguenti si basano su test interni e rappresentano consigli generici. Provare diverse impostazioni MAXDOP prima di scegliere quella ottimale per il proprio ambiente.
Per il modello di recupero con registrazione completa, limitare il valore dell'opzione del massimo grado di parallelismo su 8 o su un valore inferiore.
Per il modello di recupero con registrazione minima delle operazioni bulk o il modello di recupero con registrazione minima, valutare la possibilità di impostare l'opzione del massimo grado di parallelismo su un valore maggiore di otto.
Nei server che dispongono di configurazione NUMA, il massimo grado di parallelismo non deve superare il numero di CPU assegnate a ogni nodo NUMA, questo perché è più probabile che la query utilizzi la memoria locale del nodo NUMA 1, migliorando potenzialmente il tempo di accesso alla memoria.
Nei server con Hyper-Threading abilitato prodotti fino al 2009, il valore MAXDOP non deve superare il numero di processori fisici.
Per ulteriori informazioni sull'opzione max degree of parallelism, vedere Grado di parallelismo.
Impostazione del numero massimo di thread di lavoro
Impostare sempre il numero massimo di thread di lavoro in modo che sia superiore al massimo grado di parallelismo impostato. Il numero di thread di lavoro deve essere impostato sempre su un valore almeno pari al numero di CPU presenti sul server moltiplicato sette. Per ulteriori informazioni, vedere Opzione max worker threads.
Utilizzo di Traccia SQL e SQL Server Profiler
È consigliabile non utilizzare Traccia SQL e SQL Server Profiler in un ambiente di produzione. L'overhead per l'esecuzione di questi strumenti, inoltre, aumenta in funzione del numero di CPU. Se è necessario utilizzare SQL Trace in un ambiente di produzione, ridurre al minimo il numero di eventi di traccia. Rilevare accuratamente e testare ogni evento di traccia soggetto a carico ed evitare di utilizzare combinazioni di eventi che influiscono notevolmente sulle prestazioni.
Impostazione del numero di file di dati tempdb
Il numero di file di dati tempdb dovrebbe corrispondere al numero di CPU. Tuttavia, considerando attentamente le esigenze di concorrenza dei file tempdb, è possibile ridurre le funzioni di gestione del database. Se ad esempio un sistema dispone di 64 CPU e in genere solo 32 query utilizzano tempdb, l'aumento del numero di file tempdb a 64 non comporta alcun miglioramento delle prestazioni. Per ulteriori informazioni, vedere Ottimizzazione delle prestazioni di tempdb.
Componenti di SQL Server che possono utilizzare più di 64 CPU
Nella tabella seguente sono elencati i componenti di SQL Server e viene indicato se possono utilizzare più di 64 CPU.
Nome del processo |
Programma eseguibile |
Utilizza più di 64 CPU |
---|---|---|
Motore di database di SQL Server |
Sqlserver.exe |
Sì |
Reporting Services |
Rs.exe |
No |
Analysis Services |
As.exe |
No |
Integration Services |
Is.exe |
No |
Service Broker |
Sb.exe |
No |
Ricerca full-text |
Fts.exe |
No |
SQL Server Agent |
Sqlagent.exe |
No |
SQL Server Management Studio |
Ssms.exe |
No |
Programma di installazione di SQL Server |
Setup.exe |
No |
Vedere anche