affinity Input-Output mask (параметр конфигурации сервера)

Применимо к:SQL Server

Для одновременного выполнения множества задач Microsoft Windows иногда распределяет потоки процессов между разными процессорами. Хотя с точки зрения операционной системы эти действия эффективны, они могут снизить производительность Microsoft SQL Server при больших системных нагрузках, так как данные кэша каждого процессора будут постоянно обновляться. В этих условиях назначение определенного потока задач процессору может улучшить производительность, поскольку количество перезагрузок процессора будет снижено; такая связь между определенным потоком задач и процессором называется соответствием процессоров.

SQL Server поддерживает схожесть процессоров с помощью двух параметров: affinity mask (также известен как CPU affinity mask) и affinity I/O mask. Дополнительные сведения о параметре affinity mask см. в разделе Параметр конфигурации сервера "affinity mask". Поддержка соответствия процессоров и ввода-вывода для серверов с числом ЦП от 33 до 64 требует также использования параметров Параметр конфигурации сервера "affinity64 mask" и Параметр конфигурации сервера "affinity64 I/O mask" соответственно.

Примечание

Поддержка соответствия процессоров для серверов с числом процессоров от 33 до 64 доступна только в 64-разрядных версиях операционных систем.

Параметр affinity I/O mask привязывает операцию дискового ввода-вывода SQL Server к определенному подмножеству ЦП. В средах SQL Server высокоскоростной обработки транзакций (OLTP) данное расширение может улучшать производительность потоков SQL Server , выдающих вводы-выводы. Это улучшение не поддерживает привязку оборудования для отдельных дисков или контроллеров дисков.

Значение параметра affinity I/O mask указывает, какие ЦП в многопроцессорном компьютере подходят для обработки операций ввода-вывода на диске SQL Server . Маска — это битовая карта, в которой самый правый бит обозначает ЦП самого низкого уровня (0), второй бит справа обозначает ЦП второго снизу уровня (1) и т. д. Чтобы настроить более 32 процессоров, нужно задать и параметр affinity I/O mask , и параметр affinity64 I/O mask.

Ниже приведены возможные значения параметра affinity I/O mask .

  • Однобайтовое значение affinity I/O mask обеспечивает управление компьютерами, содержащими до 8 ЦП.

  • Двухбайтовое значение affinity I/O mask обеспечивает управление компьютерами, содержащими до 16 ЦП.

  • Трехбайтовое значение affinity I/O mask обеспечивает управление компьютерами, содержащими до 24 ЦП.

  • Четырехбайтовое значение affinity I/O mask обеспечивает управление компьютерами, содержащими до 32 ЦП.

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

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

Поскольку настройка параметра SQL Server affinity I/O mask является специализированной операцией, она должна использоваться только при необходимости. В большинстве случаев привязка по умолчанию в системах Windows 2000 или Windows Server 2003 обеспечивает самую высокую производительность.

При задании параметра affinity I/O mask его следует использовать вместе с параметром конфигурации affinity mask . Не следует включать один и тот же процессор и в переключателе affinity I/O mask , и в параметре affinity mask . Биты, относящиеся к каждому процессору, могут находиться в одном из трех состояний:

  • 0 в параметре affinity I/O mask и в параметре affinity mask ;

  • 1 в параметре affinity I/O mask и 0 в параметре affinity mask ;

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

Параметр affinity I/O mask является дополнительным параметром. С помощью системной хранимой процедуры sp_configure изменить значение параметра affinity I/O mask можно только при условии, если параметр show advanced options имеет значение 1. В SQL Serverдля изменения параметра affinity I/O mask требуется перезапуск экземпляра SQL Server .

Внимание!

Не используйте маску привязки процессоров в операционной системе Windows и маску привязки в SQL Serverодновременно. Эти настройки предназначены для достижения одного результата, и если их значения будут несогласованными, результат может быть непредсказуем. SQL Server Соответствие процессоров лучше всего настраивать с помощью параметра хранимой процедуры sp_configure в SQL Server.

См. также:

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