Поделиться через


Как настроить сервер SQL Server на использование программного NUMA

Добавления: 5 декабря 2005 г.

Для настройки сервера SQL Server на использование программного доступа к неоднородной памяти (программного NUMA) необходимо отредактировать реестр, добавив в него маску схожести настройки узла. Маска программного NUMA может быть задана как запись реестра, имеющая двоичный тип данных или тип данных DWORD (шестнадцатеричный или десятичный). Для настройки программного NUMA необходимо перезапустить ядро СУБД Database Engine. Перед настройкой программного NUMA ознакомьтесь с разделами Основные сведения о неоднородном доступе к памяти и Как SQL Server 2005 поддерживает архитектуру NUMA.

Неправильное изменение реестра может вызвать серьезные проблемы. Перед внесением изменений в реестр рекомендуется создать резервную копию всех важных данных.

В этом примере компьютер с восемью ЦП не имеет аппаратного NUMA. Настроены три узла программного NUMA. Экземпляр А ядра СУБД Database Engine настроен на использование процессоров от ЦП1 до ЦП4. Второй экземпляр ядра СУБД Database Engine установлен и настроен на использование от ЦП5 до ЦП8. Визуально пример может быть представлен следующим образом:

CPUs          1  2  3  4  5  6  7  8

Soft-NUMA   <-N0--><-N1-><----N2---->

SQL Server  <instance A ><instance B>

Экземпляр А, испытывающий значительные нагрузки ввода-вывода, имеет теперь два потока ввода-вывода и два потока модуля отложенной записи, в то время как экземпляр В, выполняющий операции с интенсивным использованием процессора, имеет только один поток ввода-вывода и один поток отложенной записи. Экземплярам может быть выделено различное количество памяти, но в отличие от аппаратного NUMA, они оба получают память из одного блока памяти операционной системы, и здесь нет соответствия памяти и процессора.

Установка маски схожести ЦП

  1. Следующая инструкция выполняется в экземпляре А для его настройки на использование ЦП 1, 2, 3 и 4 путем задания маски схожести ЦП.

    sp_configure 'show advanced options', 1;
    RECONFIGURE;
    GO
    sp_configure 'affinity mask', 15;
    RECONFIGURE;
    GO
    
  2. Следующая инструкция выполняется в экземпляре В для его настройки на использование ЦП 5, 6, 7 и 8 путем задания маски схожести ЦП.

    sp_configure 'show advanced options', 1;
    RECONFIGURE;
    GO
    sp_configure 'affinity mask', 240;
    RECONFIGURE;
    GO
    
ms345357.note(ru-ru,SQL.90).gifПримечание.
Значение маски схожести в примере применимо к компьютеру с 32-разрядной операционной системой.

Установка соответствия программного NUMA нескольким ЦП

  1. При помощи программы редактора реестра (regedit.exe) добавьте два следующих раздела реестра, чтобы установить соответствие между узлом 0 программного NUMA и процессорами ЦП1 и ЦП2, узлом 1 программного NUMA и процессорами ЦП3 и ЦП4, а также узлом 2 и процессорами ЦП5, ЦП6, ЦП7 и ЦП8.
Ключ Тип Имя значения Данные

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\90\NodeConfiguration\Node0

DWORD

CPUMask

0x03

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\90\NodeConfiguration\Node1

DWORD

CPUMask

0x0c

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\90\NodeConfiguration\Node2

DWORD

CPUMask

0xf0

См. также

Задачи

Как сопоставить порты TCP/IP порт с узлами NUMA

Основные понятия

Параметр affinity mask

Справка и поддержка

Получение помощи по SQL Server 2005