Параметр конфигурации сервера "affinity Input-Output mask"affinity Input-Output mask Server Configuration Option

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server нетБаза данных SQL AzureнетХранилище данных SQL AzureнетParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Для одновременного выполнения множества задач MicrosoftMicrosoft Windows иногда распределяет потоки процессов между разными процессорами.To carry out multitasking, MicrosoftMicrosoft Windows sometimes move process threads among different processors. Хотя с точки зрения операционной системы эти действия эффективны, они могут снизить производительность MicrosoftMicrosoft SQL ServerSQL Server при больших системных нагрузках, так как данные кэша каждого процессора будут постоянно обновляться.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. В этих условиях назначение определенного потока задач процессору может улучшить производительность, поскольку количество перезагрузок процессора будет снижено; такая связь между определенным потоком задач и процессором называется соответствием процессоров.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 поддерживает схожесть процессоров с помощью двух параметров: affinity mask (также известен как CPU affinity mask) и 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*. Дополнительные сведения о параметре affinity mask см. в разделе Параметр конфигурации сервера "affinity mask".For more information on the affinity mask option, see affinity mask Server Configuration Option. Поддержка соответствия процессоров и ввода-вывода для серверов с числом ЦП от 33 до 64 требует также использования параметров Параметр конфигурации сервера "affinity64 mask" и Параметр конфигурации сервера "affinity64 I/O 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.

Примечание

Поддержка соответствия процессоров для серверов с числом процессоров от 33 до 64 доступна только в 64-разрядных версиях операционных систем.Affinity support for servers with 33 to 64 processors is only available on 64-bit operating systems.

Параметр affinity I/O mask привязывает операцию дискового ввода-вывода SQL ServerSQL Server к определенному подмножеству ЦП.The affinity I/O mask option binds SQL ServerSQL Server disk I/O to a specified subset of CPUs. В средах SQL ServerSQL Server высокоскоростной обработки транзакций (OLTP) данное расширение может улучшать производительность потоков SQL ServerSQL Server , выдающих вводы-выводы.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. Это улучшение не поддерживает привязку оборудования для отдельных дисков или контроллеров дисков.This enhancement does not support hardware affinity for individual disks or disk controllers.

Значение параметра affinity I/O mask указывает, какие ЦП в многопроцессорном компьютере подходят для обработки операций ввода-вывода на диске 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. Маска — это битовая карта, в которой самый правый бит обозначает ЦП самого низкого уровня (0), второй бит справа обозначает ЦП второго снизу уровня (1) и т. д.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. Чтобы настроить более 32 процессоров, нужно задать и параметр affinity I/O mask , и параметр affinity64 I/O mask.To configure more than 32 processors, set both the affinity I/O mask and the affinity64 I/O mask.

Ниже приведены возможные значения параметра affinity I/O mask .The values for affinity I/O mask are as follows:

  • Однобайтовое значение affinity I/O mask обеспечивает управление компьютерами, содержащими до 8 ЦП.A 1-byte affinity I/O mask covers up to 8 CPUs in a multiprocessor computer.

  • Двухбайтовое значение affinity I/O mask обеспечивает управление компьютерами, содержащими до 16 ЦП.A 2-byte affinity I/O mask covers up to 16 CPUs in a multiprocessor computer.

  • Трехбайтовое значение affinity I/O mask обеспечивает управление компьютерами, содержащими до 24 ЦП.A 3-byte affinity I/O mask covers up to 24 CPUs in a multiprocessor computer.

  • Четырехбайтовое значение affinity I/O mask обеспечивает управление компьютерами, содержащими до 32 ЦП.A 4-byte affinity I/O mask covers up to 32 CPUs in a multiprocessor computer.

  • Для работы более чем с 32 ЦП настройте четырехбайтовое значение affinity I/O mask для первых 32 ЦП и включающее до 4 байт значение affinity64 I/O mask для оставшихся ЦП.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.

    1 бит в шаблоне привязки ввода-вывода показывает, что соответствующий ЦП может выполнять операции ввода-вывода с диском SQL ServerSQL Server ; 0 бит указывает, что для соответствующего ЦП не следует планировать никаких операций ввода-вывода с диском 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. Когда все биты установлены на ноль или параметр affinity I/O mask не указан, ввод-вывод диска SQL ServerSQL Server планируется для любого ЦП, способного обрабатывать потоки 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.

    Поскольку настройка параметра SQL ServerSQL Server affinity I/O mask является специализированной операцией, она должна использоваться только при необходимости.Because setting the SQL ServerSQL Server affinity I/O mask option is a specialized operation, it should be used only when necessary. В большинстве случаев привязка по умолчанию в системах Windows 2000 или Windows Server 2003 обеспечивает самую высокую производительность.In most cases, the Windows 2000 or Windows Server 2003 default affinity provides the best performance.

    При задании параметра affinity I/O mask его следует использовать вместе с параметром конфигурации affinity mask .When specifying the affinity I/O mask option, you must use it with the affinity mask configuration option. Не следует включать один и тот же процессор и в переключателе affinity I/O mask , и в параметре affinity mask .Do not enable the same CPU in both the affinity I/O mask switch and the affinity mask option. Биты, относящиеся к каждому процессору, могут находиться в одном из трех состояний:The bits corresponding to each CPU should be in one of the following three states:

  • 0 в параметре affinity I/O mask и в параметре affinity mask ;0 in both the affinity I/O mask option and the affinity mask option.

  • 1 в параметре affinity I/O mask и 0 в параметре affinity mask ;1 in the affinity I/O mask option and 0 in the affinity mask option.

  • 0 в параметре affinity I/O mask и 1 в параметре affinity mask .0 in the affinity I/O mask option and 1 in the affinity mask option.

    Параметр affinity I/O mask является дополнительным параметром.The affinity I/O mask option is an advanced option. С помощью системной хранимой процедуры sp_configure изменить значение параметра affinity I/O mask можно только при условии, если параметр show advanced options имеет значение 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. В SQL ServerSQL Serverдля изменения параметра affinity I/O mask требуется перезапуск экземпляра SQL ServerSQL Server .In SQL ServerSQL Server, reconfiguring the affinity I/O mask option requires a restart of the SQL ServerSQL Server instance.

Внимание!

Не используйте маску привязки процессоров в операционной системе Windows и маску привязки в SQL ServerSQL Serverодновременно.Do not configure CPU affinity in the Windows operating system and also configure the affinity mask in SQL ServerSQL Server. Эти настройки предназначены для достижения одного результата, и если их значения будут несогласованными, результат может быть непредсказуем.These settings are attempting to achieve the same result, and if the configurations are inconsistent, you may have unpredictable results. SQL ServerSQL Server Соответствие процессоров лучше всего настраивать с помощью параметра хранимой процедуры sp_configure в SQL ServerSQL Server. CPU affinity is best configured using the *sp_configure* option in SQL ServerSQL Server.

См. также:See Also

Наблюдение за использованием ресурсов (системный монитор) Monitor Resource Usage (System Monitor)
RECONFIGURE (Transact-SQL) RECONFIGURE (Transact-SQL)
Параметры конфигурации сервера (SQL Server) Server Configuration Options (SQL Server)
sp_configure (Transact-SQL)sp_configure (Transact-SQL)