Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Per eseguire il multitasking, Microsoft Windows 2000 e Windows Server 2003 a volte spostano i thread di processo tra processori diversi. Sebbene sia efficiente dal punto di vista del sistema operativo, questa attività può ridurre le prestazioni di Microsoft SQL Server con carichi di sistema elevati, poiché ogni cache del processore viene ricaricata ripetutamente con i dati. L'assegnazione di processori a thread specifici può migliorare le prestazioni in queste condizioni eliminando i ricaricamenti del processore; tale associazione tra un thread e un processore è detta affinità del processore.
SQL Server supporta l'affinità del processore tramite due opzioni di maschera di affinità: affinity mask (nota anche come maschera di affinità CPU) e maschera di affinità I/O. Per altre informazioni sull'opzione affinity mask , vedere Opzione di configurazione del server affinity mask. Il supporto dell'affinità di CPU e I/O per i server con processori da 33 a 64 richiede rispettivamente l'uso aggiuntivo dell'opzione di configurazione del server affinity64 mask e affinity64 Input-Output mask Server Configuration Option .
Annotazioni
Il supporto di affinità per i server con processori da 33 a 64 è disponibile solo nei sistemi operativi a 64 bit.
L'opzione affinity I/O mask associa l'I/O del disco di SQL Server a un subset specificato di CPU. Negli ambienti OLTP (Online TransactionAl Processing) di SQL Server di fascia alta, questa estensione può migliorare le prestazioni dei thread di SQL Server che emettono operazioni di I/O. Questo miglioramento non supporta l'affinità hardware per singoli dischi o controller di dischi.
Il valore di affinity I/O mask specifica le CPU in un computer multiprocessore idonee per l'elaborazione delle operazioni di I/O su disco di SQL Server. La maschera è una bitmap in cui il bit più a destra specifica la CPU(0) più bassa, il bit a sinistra immediata specifica la CPU(1) più bassa e così via. Per configurare più di 32 processori, impostare sia la maschera di I/O di affinità che la maschera di I/O affinity64.
I valori per affinity I/O mask sono i seguenti:
Una maschera di I/O affinità a 1 byte copre fino a 8 CPU in un computer multiprocessore.
Una maschera di I/O di affinità a 2 byte copre fino a 16 CPU in un computer multiprocessore.
Una maschera di I/O di affinità a 3 byte copre fino a 24 CPU in un computer multiprocessore.
Una maschera di I/O di affinità a 4 byte copre fino a 32 CPU in un computer multiprocessore.
Per coprire più di 32 CPU, configurare una maschera di I/O di affinità a quattro byte per le prime 32 CPU e fino a una maschera di I/O di affinità64 a quattro byte per le CPU rimanenti.
Un bit nel modello di I/O di affinità specifica che la CPU corrispondente è idonea per eseguire operazioni di I/O su disco di SQL Server; un bit 0 specifica che non deve essere pianificata alcuna operazione di I/O su disco di SQL Server per la CPU corrispondente. Quando tutti i bit sono impostati su zero o la maschera di I/O di affinità non è specificata, l'I/O del disco di SQL Server viene pianificato su una delle CPU idonee per elaborare i thread di SQL Server.
Poiché l'impostazione dell'opzione affinity I/O mask di SQL Server è un'operazione specializzata, deve essere usata solo quando necessario. Nella maggior parte dei casi, l'affinità predefinita di Windows 2000 o Windows Server 2003 offre prestazioni ottimali.
Quando si specifica l'opzione affinity I/O mask , è necessario usarla con l'opzione di configurazione affinity mask . Non abilitare la stessa CPU sia nell'opzione affinity I/O mask che nell'opzione affinity mask . I bit corrispondenti a ogni CPU devono trovarsi in uno dei tre stati seguenti:
0 sia nell'opzione affinity I/O mask sia nell'opzione affinity mask.
1 nell'opzione affinity I/O mask e 0 nell'opzione affinity mask .
0 nell'opzione affinity I/O mask e 1 nell'opzione affinity mask .
L'opzione affinity I/O mask è un'opzione avanzata. Se si usa la sp_configure stored procedure di sistema per modificare l'impostazione, è possibile modificare la maschera di I/O di affinità solo quando mostra opzioni avanzate è impostata su 1. In SQL Server la riconfigurazione dell'opzione affinity I/O mask richiede un riavvio dell'istanza di SQL Server.
Attenzione
Non configurare l'affinità CPU nel sistema operativo Windows né configurare la maschera di affinità in SQL Server. Le due impostazioni mirano a ottenere lo stesso risultato e, se le configurazioni sono incoerenti, potrebbero causare risultati imprevisti. L'affinità di CPU di SQL Server è configurata meglio usando l'opzione sp_configure in SQL Server.
Vedere anche
Monitoraggio dell'utilizzo delle risorse (Monitor di sistema)
RECONFIGURE (Transact-SQL)
Opzioni di configurazione del server (SQL Server)
sp_configure (Transact-SQL)