Opzione di configurazione del server Affinity Mask I/Oaffinity Input-Output mask Server Configuration Option

QUESTO ARGOMENTO SI APPLICA A:sìSQL Server (a partire dalla versione 2008)noDatabase SQL di AzurenoAzure SQL Data Warehouse noParallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Per eseguire il multitasking, MicrosoftMicrosoft Windows spostano talvolta thread di processo tra processori diversi.To carry out multitasking, MicrosoftMicrosoft Windows sometimes move process threads among different processors. Nonostante dal punto di vista del sistema operativo questa attività sia efficiente, essa può ridurre le prestazioni di MicrosoftMicrosoft SQL ServerSQL Server con carichi di lavoro di sistema eccessivi perché i dati vengono caricati ripetutamente nella cache di ogni processore.Although efficient from an operating system point of view, this activity can reduce MicrosoftMicrosoft SQL ServerSQL Server performance under heavy system loads, as each processor cache is repeatedly reloaded with data. In tali condizioni, l'assegnazione dei processori a specifici thread può aumentare le prestazioni eliminando il ricaricamento dei processori. Questa associazione tra un thread e un processore è definita affinità processori.Assigning processors to specific threads can improve performance under these conditions by eliminating processor reloads; such an association between a thread and a processor is called processor affinity.

SQL ServerSQL Server supporta l'affinità processori per mezzo di due opzioni affinity mask: affinity mask (nota anche come CPU affinity mask) e affinity I/O mask. supports processor affinity by means of two affinity mask options: affinity mask (also known as CPU affinity mask) and affinity I/O mask. Per altre informazioni sull'opzione affinity mask , vedere Opzione di configurazione del server affinity mask.For more information on the affinity mask option, see affinity mask Server Configuration Option. Il supporto di CPU e Affinity I/O per server con 33 fino a 64 processori richiede rispettivamente l'uso aggiuntivo dell' opzione di configurazione del server affinity64 mask e dell' opzione di configurazione del server affinity64 Input-Output mask .CPU and I/O affinity support for servers with 33 to 64 processors requires the additional use of the affinity64 mask Server Configuration Option and affinity64 Input-Output mask Server Configuration Option respectively.

Nota

Il supporto dell'affinità nei server dotati di un numero di processori compreso tra 33 e 64 è disponibile solo su sistemi operativi a 64 bit.Affinity support for servers with 33 to 64 processors is only available on 64-bit operating systems.

L'opzione affinity I/O mask associa l'I/O su disco di SQL ServerSQL Server a un subset specificato di CPU.The affinity I/O mask option binds SQL ServerSQL Server disk I/O to a specified subset of CPUs. Negli ambienti SQL ServerSQL Server di fascia alta con elaborazione delle transazioni online (OLTP), questa estensione può migliorare le prestazioni dei thread di SQL ServerSQL Server che generano operazioni di I/O.In high-end SQL ServerSQL Server online transactional processing (OLTP) environments, this extension can enhance the performance of SQL ServerSQL Server threads issuing I/Os. Questa funzionalità avanzata non supporta affinità hardware per singoli dischi o controller del disco.This enhancement does not support hardware affinity for individual disks or disk controllers.

Il valore di affinity I/O mask specifica quali CPU di un computer multiprocessore sono idonee a elaborare le operazioni di I/O su disco di SQL ServerSQL Server .The value for affinity I/O mask specifies which CPUs in a multiprocessor computer are eligible to process SQL ServerSQL Server disk I/O operations. La maschera è costituita da una mappa di bit nella quale il primo bit a destra specifica la CPU di ordine inferiore (ovvero CPU(0)), il bit alla sua immediata sinistra specifica la CPU di ordine successivo (ovvero CPU(1)) e così via.The mask is a bitmap in which the rightmost bit specifies the lowest-order CPU(0), the bit to its immediate left specifies the next-lowest-order CPU(1), and so on. Per configurare più di 32 processori, impostare sia l'opzione affinity I/O mask che l'opzione affinity64 I/O mask.To configure more than 32 processors, set both the affinity I/O mask and the affinity64 I/O mask.

I valori di affinity I/O mask sono i seguenti:The values for affinity I/O mask are as follows:

  • L'uso di una affinity I/O mask da 1 byte copre fino a 8 CPU in un computer multiprocessore.A 1-byte affinity I/O mask covers up to 8 CPUs in a multiprocessor computer.

  • L'uso di una affinity I/O mask da 2 byte copre fino a 16 CPU in un computer multiprocessore.A 2-byte affinity I/O mask covers up to 16 CPUs in a multiprocessor computer.

  • L'uso di una affinity I/O mask da 3 byte copre fino a 24 CPU in un computer multiprocessore.A 3-byte affinity I/O mask covers up to 24 CPUs in a multiprocessor computer.

  • L'uso di una affinity I/O mask da 4 byte copre fino a 32 CPU in un computer multiprocessore.A 4-byte affinity I/O mask covers up to 32 CPUs in a multiprocessor computer.

  • Per coprire più di 32 CPU, configurare una affinity I/O mask da 4 byte per le prime 32 CPU e una affinity64 I/O mask fino a 4 byte per le CPU rimanenti.To cover more than 32 CPUs, configure a four-byte affinity I/O mask for the first 32 CPUs and up to a four-byte affinity64 I/O mask for the remaining CPUs.

    Un bit 1 nello schema della maschera di affinità di I/O indica che la CPU corrispondente è idonea all'esecuzione di operazioni di I/O su disco di SQL ServerSQL Server , mentre un bit 0 indica che per la CPU corrispondente non deve essere pianificata alcuna operazione di I/O su disco di SQL ServerSQL Server .A 1 bit in the affinity I/O pattern specifies that the corresponding CPU is eligible to perform SQL ServerSQL Server disk I/O operations; a 0 bit specifies that no SQL ServerSQL Server disk I/O operations should be scheduled for the corresponding CPU. Quando tutti i bit sono impostati su zero oppure l'opzione affinity I/O mask non è specificata, le operazioni di I/O su disco di SQL ServerSQL Server vengono pianificate per una qualsiasi CPU idonea a elaborare i thread di SQL ServerSQL Server .When all bits are set to zero, or affinity I/O mask is not specified, SQL ServerSQL Server disk I/O is scheduled to any of the CPUs eligible to process SQL ServerSQL Server threads.

    L'impostazione dell'opzione SQL ServerSQL Server affinity I/O mask option is a specialized operation, it should be used only when necessary.Because setting the SQL ServerSQL Server affinity I/O mask option is a specialized operation, it should be used only when necessary. Nella maggior parte dei casi l'affinità predefinita di Windows 2000 o Windows Server 2003 garantisce livelli di prestazioni ottimali.In most cases, the Windows 2000 or Windows Server 2003 default affinity provides the best performance.

    Quando si specifica l'opzione affinity I/O mask , è necessario usarla insieme all'opzione di configurazione affinity mask .When specifying the affinity I/O mask option, you must use it with the affinity mask configuration option. Non abilitare la stessa CPU sia nell'opzione affinity I/O mask che nell'opzione affinity mask .Do not enable the same CPU in both the affinity I/O mask switch and the affinity mask option. I bit corrispondenti alle singole CPU devono rispettare uno dei tre stati seguenti:The bits corresponding to each CPU should be in one of the following three states:

  • 0 sia nell'opzione affinity I/O mask che nell'opzione affinity mask .0 in both the affinity I/O mask option and the affinity mask option.

  • 1 nell'opzione affinity I/O mask e 0 nell'opzione affinity mask .1 in the affinity I/O mask option and 0 in the affinity mask option.

  • 0 nell'opzione affinity I/O mask e 1 nell'opzione affinity mask .0 in the affinity I/O mask option and 1 in the affinity mask option.

    L'opzione affinity I/O mask è un'opzione avanzata.The affinity I/O mask option is an advanced option. Se si usa la stored procedure di sistema sp_configure per modificare l'impostazione, è possibile modificare affinity I/O mask solo quando il valore di show advanced options è impostato su 1.If you are using the sp_configure system stored procedure to change the setting, you can change affinity I/O mask only when show advanced options is set to 1. In SQL ServerSQL Server, per riconfigurare l'opzione affinity I/O mask è necessario riavviare l'istanza SQL ServerSQL Server .In SQL ServerSQL Server, reconfiguring the affinity I/O mask option requires a restart of the SQL ServerSQL Server instance.

Attenzione

Non configurare l'affinità di CPU nel sistema operativo Windows e contemporaneamente l'opzione affinity mask in SQL ServerSQL Server.Do not configure CPU affinity in the Windows operating system and also configure the affinity mask in SQL ServerSQL Server. Le due impostazioni mirano a ottenere lo stesso risultato e, se le configurazioni sono incoerenti, potrebbero causare risultati imprevisti.These settings are attempting to achieve the same result, and if the configurations are inconsistent, you may have unpredictable results. SQL ServerSQL Server La configurazione ottimale dell'affinità di CPU può essere ottenuta usando l'opzione sp_configure in SQL ServerSQL Server. CPU affinity is best configured using the sp_configure option in SQL ServerSQL Server.

Vedere ancheSee Also

Monitorare l'utilizzo delle risorse (Monitor di sistema) Monitor Resource Usage (System Monitor)
RECONFIGURE (Transact-SQL) RECONFIGURE (Transact-SQL)
Opzioni di configurazione del server (SQL Server) Server Configuration Options (SQL Server)
sp_configure (Transact-SQL)sp_configure (Transact-SQL)