Ограничения вычислительной емкости для разных выпусков SQL Server

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

В этой статье рассматриваются ограничения емкости вычислений для выпусков SQL Server и их различия в физических и виртуализированных средах с одновременными многопоточных процессорами (SMT). На ЦП Intel SMT называется Hyper-Threading.

Обзор

Схема, показывающая сопоставления с ограничениями емкости вычислений.

Эта таблица поясняет обозначения из предыдущей схемы.

значение Описание
0..1 Ноль или один
1 Ровно один
1..* Один центр обработки данных
0..* Ноль или более
1..2 Один или два

Дополнительный анализ

  • У виртуальной машины (ВМ) есть как минимум один виртуальный процессор.
  • Один или несколько виртуальных процессоров выделяются ровно одной виртуальной машине.
  • Ноль или один виртуальный процессор сопоставляются с нулем или другим числом логических процессоров. При сопоставлении виртуальных процессоров с логическими процессорами:
    • Один к нулю: представляет несвязанный логический процессор, не используемый гостевыми операционными системами.
    • Один ко многим: представляет переполнение.
    • Ноль ко многим: представляет отсутствие виртуальной машины в хост-системе. Поэтому в виртуальных машинах не используются никакие логические процессоры.
  • Процессор сопоставляется с нулем или другим числом ядер. При сопоставлении сокетов к ядрам:
    • Один к нулю: представляет пустой сокет. Микросхема не установлена.
    • Один к одному: представляет одноядерный чип, установленный в сокете. Такое сопоставление сейчас встречается редко.
    • Один ко многим: представляет многоядерный чип, установленный в сокете. Обычно используются значения 2, 4 и 8.
  • Ядро сопоставляется с одним или двумя логическими процессорами. При сопоставлении ядер с логическими процессорами:
    • Один к одному: SMT отключен.
    • Один к двум: SMT включен.

Далее даны определения терминов, используемых в этой статье.

  • Поток или логический процессор — это один логический вычислительный модуль с точки зрения SQL Server, операционной системы, приложения или драйвера.

  • Ядром называется единица процессора. Оно может состоять из одного логического процессора или нескольких.

  • Физический процессор может содержать одно или несколько ядер. Физический процессор также называется процессорным пакетом или сокетом.

Критическое изменение в накопительном обновлении 11 для SQL Server 2022

SQL Server ограничивает число логических процессоров на узел NUMA 64. На серверах с более чем 64 логическими процессорами на узел NUMA можно использовать конфигурацию BIOS или встроенного ПО для изменения количества узлов NUMA на физический сокет, представленный операционной системе, чтобы ограничить не более 64 логических процессоров.

Вы также можете отключить SMT. На ЦП Intel SMT называется Hyper-Threading.

Замечания

Системы с несколькими физическими процессорами или системами с физическими процессорами с несколькими ядрами и (или) SMT позволяют операционной системе одновременно выполнять несколько задач. Каждый поток выполнения представляется как логический процессор. Например, если на компьютере есть два четырехядерных процессора с поддержкой SMT и два потока на ядро, у вас есть 16 логических процессоров: 2 процессора x 4 ядра на процессор x 2 потока на ядро. Стоит отметить, что:

  • Вычислительные мощности логического процессора из одного потока ядра SMT меньше вычислительной емкости логического процессора из этого же ядра с отключенным SMT.

  • Вычислительные мощности двух логических процессоров в ядре SMT больше вычислительной емкости одного ядра с отключенным SMT.

Каждый выпуск SQL Server имеет два ограничения емкости вычислений:

  • Максимальное число сокетов (физических процессоров или процессорных пакетов)

  • Максимальное число ядер, обнаруженных операционной системой

Эти ограничения применяются к одному экземпляру SQL Server. Они представляют максимальную емкость вычислений, которую использует один экземпляр. Они не ограничивают сервер, на котором может быть развернут экземпляр. На самом деле развертывание нескольких экземпляров SQL Server на одном физическом сервере является эффективным способом использования вычислительной емкости физического сервера с большим количеством сокетов и (или) ядер, чем разрешено ограничения емкости.

В следующей таблице указаны ограничения емкости вычислений для одного экземпляра каждого выпуска SQL Server:

Выпуск SQL Server Максимальная емкость вычислений для одного экземпляра (SQL Server ядро СУБД) Максимальная емкость вычислительных ресурсов для одного экземпляра (AS, RS)
выпуск Enterprise: лицензирование на основе ядра 1 Максимальное значение, поддерживаемое операционной системой Максимальное значение, поддерживаемое операционной системой
разработчик. Максимальное значение, поддерживаемое операционной системой Максимальное значение, поддерживаемое операционной системой
Стандартные Ограничение: меньшее из 4 процессоров и 24 ядер Ограничение: меньшее из 4 процессоров и 24 ядер
Express Ограничение: меньшее из 1 процессора и 4 ядер Ограничение: меньшее из 1 процессора и 4 ядер

1 выпуск Enterprise с лицензированием сервера и клиентского доступа (CAL) ограничено 20 ядрами на экземпляр SQL Server. (Это лицензирование недоступно для новых соглашений.) Нет ограничений в модели лицензирования сервера на основе ядра.

В виртуальном окружении вычислительная емкость ограничена количеством логических процессоров, а не ядер. Причина заключается в том, что архитектура процессора не отображается гостевым приложениям.

Например, сервер с четырьмя сокетами, заполненными четырехядерными процессорами, и возможность включения двух потоков SMT на ядро содержит 32 логических процессора с поддержкой SMT. Но он содержит только 16 логических процессоров с отключенным SMT. Эти логические процессоры можно сопоставить с виртуальными машинами на сервере. Вычислительная нагрузка виртуальных машин на данный логический процессор сопоставляется одному потоку выполнения в физическом процессоре на сервере.

Вы можете отключить SMT, если производительность каждого виртуального процессора важна. Вы можете включить или отключить SMT с помощью параметра BIOS для процессора во время настройки BIOS, но обычно это операция с серверным область, которая влияет на все рабочие нагрузки, выполняемые на сервере. Вы можете рассмотреть возможность разделения рабочих нагрузок, выполняемых в виртуализированных средах, от рабочих нагрузок, которые будут использовать повышение производительности SMT в физической операционной среде.

Получение справки

Примите участие в разработке документации по SQL

Знаете ли вы, что содержимое SQL можно изменить самостоятельно? Это не только улучшит нашу документацию, но и даст вам статус участника в создании этой страницы.

Дополнительные сведения см. в разделе Участие в работе над документацией по SQL Server.