Масштабирование многоядерных ядер IIS 8.0 на оборудовании NUMA

Роберт Макмюррей

Совместимость

Версия Примечания
IIS 8.0 В IIS 8.0 было введено многоядерное масштабирование на NUMA.
IIS 7.5 Многоядерное масштабирование на NUMA не поддерживалось в IIS 7.5.
IIS 7.0 Многоядерное масштабирование в NUMA не поддерживалось в IIS 7.0.

Проблема.

Как правило, увеличение числа ядер должно привести к увеличению производительности. Однако в этом случае увеличение числа ядер может привести к снижению производительности, так как стоимость синхронизации памяти перевешивает преимущества оборудования NUMA с дополнительными ядрами. IIS 8.0 решает эту проблему путем интеллектуального распределения и установки аффинитета процессов на оборудовании с неоднородным доступом к памяти (NUMA).

Решение

Служба IIS в Windows Server 2012 поддерживает NUMA и обеспечивает оптимальную конфигурацию для ИТ-администраторов. В следующем разделе описаны различные параметры конфигурации для достижения оптимальной производительности с помощью IIS 8.0 на оборудовании NUMA.

IIS поддерживает следующие два способа секционирования рабочей нагрузки:

  1. Выполнение нескольких рабочих процессов в одном пуле приложений (т. е. в веб-саду): если вы используете этот режим, по умолчанию пул приложений настроен для выполнения одного рабочего процесса. Для максимальной производительности следует рассмотреть возможность выполнения того же количества рабочих процессов, что и узлы NUMA, чтобы между рабочими процессами и узлами NUMA существовало сходство 1:1. Это можно сделать, установив параметр AppPoolsetting "Максимальное число рабочих процессов" значение 0. В этой настройке IIS определяет, сколько узлов NUMA доступно на оборудовании, и запускает одинаковое количество рабочих процессов.
  2. Запуск нескольких пулов приложений в одной рабочей нагрузке или сайте. В этой конфигурации рабочая нагрузка или сайт разделены на несколько пулов приложений. Например, сайт может содержать несколько приложений, настроенных для запуска в отдельных пулах приложений. Эффективно, эта конфигурация приводит к выполнению нескольких рабочих процессов IIS для рабочей нагрузки и сайта, и IIS интеллектуально распределяет и привязывает процессы для максимальной производительности.

Кроме того, существует два разных способа для IIS 8.0, чтобы определить наиболее оптимальный узел NUMA при запуске рабочего процесса IIS.

  1. Самая доступная память (по умолчанию): идея этого подхода заключается в том, что узел NUMA с самой доступной памятью — это тот, который лучше всего подходит для выполнения дополнительных рабочих процессов IIS, который начинается. IIS знает о потреблении памяти каждым узлом NUMA и использует эту информацию для распределения нагрузки рабочих процессов IIS.
  2. Windows: IIS также имеет возможность разрешить ОС Windows принять это решение. ОС Windows использует метод циклического распределения.

Наконец, имеется два разных способа привязки потоков рабочего процесса IIS к узлу NUMA.

  1. Мягкое родство (по умолчанию): при использовании мягкого родства, если у других узлов NUMA есть циклы, потоки рабочего процесса IIS могут быть запланированы на несвязанный узел NUMA. Этот подход помогает максимально увеличить все доступные возможности в системе в целом.
  2. Жесткое сходство. При жестком сходстве, независимо от нагрузки на других узлах NUMA в системе, все потоки рабочего процесса IIS привязываются к выбранному узлу NUMA, который был выбран с использованием вышеописанного подхода.

Пошаговые инструкции

Необходимые условия

  • Службы IIS устанавливаются в Windows Server 2012.
  • Модель процесса IIS является частью конфигурации пула приложений IIS. Из диспетчера серверов не требуется установить определенную функцию IIS.

Обходные пути для известных ошибок

В настоящее время для этой функции отсутствуют известные ошибки.

Действия по настройке

  1. Откройте диспетчер служб IIS.
  2. Выберите пулы приложений в левом окне навигации:
    Снимок экрана: выбранные пулы приложений.
  3. Выберите пул приложений:
    Снимок экрана: панель
  4. В области "Действия" выберите "Дополнительные параметры":
    Снимок экрана, на котором показана область действий с выделенными дополнительными параметрами.
  5. В группе "Модель обработки" найдите параметр "Максимальный рабочий процесс ".
    Снимок экрана: группа модели обработки. Выделено максимальное число рабочих процессов и его значение 1.
  6. Задайте для этого значения значение 0.

Оптимальная логика выбора NUMA, а также тип сходства также находятся в разделе "Дополнительные параметры". Однако они отображаются только в том случае, если службы IIS работают на оборудовании NUMA.

Сценарии

Запустите тесты производительности на оборудовании NUMA до и после обновления до Windows Server 2012. Сравните результаты производительности, чтобы увидеть улучшения.

Сводка

Вы успешно изучили масштабирование IIS на многопроцессорных системах с аппаратной возможностью NUMA в Windows Server 2012.