Советы по оптимизации Hyper-V (часть 5)

Опубликовано: 18 Апреля, 2023

  • Советы по оптимизации Hyper-V (часть 2)

В предыдущих статьях этой серии мы рассмотрели ряд различных аспектов оптимизации Hyper-V, например, как должны быть настроены параметры кэширования диска как на хостах Hyper-V, так и на виртуальных машинах, работающих на этих хостах; как производительность Hyper-V может зависеть от базовой подсистемы хранения кластерных хостов Hyper-V и как оптимизировать производительность этих систем и устранять неполадки с помощью разумного выбора оборудования для хранения данных; как глубина очереди хранения может потенциально повлиять на производительность виртуализированных рабочих нагрузок, выполняемых на узлах Hyper-V; и как можно оптимизировать производительность Hyper-V при размещении кластерных рабочих нагрузок SQL Server. В этой последней статье мы также упомянули, что если вы используете Shared VHDX для отказоустойчивого кластера SQL Server, вы можете убедиться, что межсоединения вашего отказоустойчивого кластера оптимизированы с помощью:

  • Использование RDMA-совместимых сетевых адаптеров емкостью 10 ГБ.
  • Использование масштабирования на стороне приема (RSS), что означает, что ваши межсоединения не должны быть частью виртуального коммутатора.
  • Настройка очередей RSS на максимально поддерживаемые значения.
  • Настройте план электропитания на вашем хосте Hyper-V на высокую производительность.
  • Отключение NetBIOS, если он не требуется.

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

Параметры гостевого питания в основном не имеют значения

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

Теперь есть одно исключение, а именно виртуальное (или синтетическое) состояние бездействия гостевой системы, которое было введено в Windows Server 2008 R2 как скрытая функция для управления питанием. Состояние простоя виртуального гостя используется функцией интеллектуального распределения тактов таймера (ITTD), которая помогает увеличить время, в течение которого ядра процессора остаются в состоянии простоя. Это достигается за счет того, что все ядра в системе не прерываются всякий раз, когда доставляется периодическое прерывание таймера, а в виртуализированных системах это может помочь сократить трафик прерываний и увеличить периоды простоя. Общее влияние использования состояния простоя виртуального гостя вместе с другими функциями, такими как парковка ядра и объединение таймеров, привело к повышению энергоэффективности Windows Server 2008 R2 Hyper-V по сравнению с Windows Server 2008 Hyper-V, и эти функции и возможности продолжают реализовано в Hyper-V в Windows Server 2012 и 2012 R2.

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

Варианты питания хоста такие же, как и для систем без Hyper-V.

Руководство Microsoft по настройке параметров питания для хостов Hyper-V в основном такое же, как и для Windows Server без установленной роли сервера Hyper-V. Лучший источник надежных руководств по этой теме можно найти в документе «Windows Server 2012 R2 — Руководство по настройке производительности сервера», который доступен здесь в Центре разработки оборудования Microsoft. Инсайдеры в Microsoft сообщили мне, что диспетчер питания ядра в основной операционной системе в системе Hyper-V работает в сочетании с гипервизором и что есть несколько незначительных различий в том, как управление питанием работает с процессором, когда гипервизор работает по сравнению с тем, когда он не работает, но эти различия незначительны и публично не документированы.

Виртуальные машины SQL Server являются возможным исключением

Некоторые инсайдеры Microsoft также сообщили мне, что иногда клиентам даются некоторые рекомендации о том, что если у вас есть виртуальные машины с установленным SQL Server, вы должны установить параметры питания в гостевой системе, чтобы они соответствовали параметрам хоста. Таким образом, если высокая производительность является рекомендуемой схемой питания для хостов Hyper-V, на которых выполняются виртуализированные рабочие нагрузки SQL Server, то виртуальные машины на этом узле также должны иметь высокую производительность для своей схемы питания. Однако я слышал противоречивые заявления от инсайдеров относительно того, влияет ли это на производительность SQL Server. По своему опыту я знаю, что SQL Server как продукт очень чувствителен к параметрам питания, когда продукт развернут на выделенном физическом сервере, поэтому суть этого сценария заключается в том, чтобы проверить, есть ли какая-либо разница, когда питание план в гостевой системе изменен со сбалансированного на высокопроизводительный.

Планы питания Hyper-V и BIOS

В заключение важно знать, что современные серверы могут иметь параметры плана питания, которые можно настроить в настройках BIOS сервера. Это определенно относится к серверам Dell и HP, с которыми мы сталкивались, и Кристиан Эдвардс из Microsoft подробно рассматривает это в этой записи блога в блоге виртуализации PFE. Читатели, не знакомые с термином «c-state», могут узнать о нем больше из этой статьи на веб-сайте Intel.

Есть еще вопросы о Hyper-V?

Если у вас есть какие-либо вопросы о платформе виртуализации Microsoft Hyper-V, лучше всего задать их на форуме Hyper-V в Microsoft TechNet. Если вы не получите оттуда необходимую вам помощь, вы можете попробовать отправить свой вопрос нам по адресу [email protected], чтобы мы могли опубликовать его в разделе «Спросите наших читателей » нашего еженедельного информационного бюллетеня WServerNews, и мы посмотрим, будет ли какой-либо из почти 100 000 ИТ-специалистов, подписавшихся на нашу рассылку, могут предложить вам какие-либо предложения.

  • Советы по оптимизации Hyper-V (часть 2)
  • Советы по оптимизации Hyper-V (часть 4)