Настройка управления питанием процессора (система УПП) для плана windows Server Balanced Power Plan
Начиная с Windows Server 2008 Windows Server предоставляет три плана питания: Balanced, High Performance и Power Saver. Балансированный план питания — это выбор по умолчанию, который направлен на то, чтобы обеспечить оптимальную энергоэффективность для набора типичных рабочих нагрузок сервера. В этом разделе описываются рабочие нагрузки, которые использовались для определения параметров по умолчанию для схемы Balanced за последние несколько выпусков Windows.
Если вы запускаете серверную систему, которая имеет значительно разные характеристики рабочей нагрузки или требования к производительности и производительности, чем эти рабочие нагрузки, может потребоваться настроить параметры питания по умолчанию (т. е. создать пользовательский план питания). Одним из источников полезных сведений о настройке является рекомендации по настройке оборудования сервера. Кроме того, вы можете решить, что план высокой производительности питания является правильным выбором для вашей среды, признавая, что вы, вероятно, будете принимать значительный удар энергии в обмен на некоторый уровень повышенной реагирования.
Внимание
Вы должны использовать политики питания, включенные в Windows Server, если у вас нет конкретной необходимости создать пользовательскую и иметь очень хорошее представление о том, что результаты будут отличаться в зависимости от характеристик рабочей нагрузки.
Методология настройки питания процессора Windows
Тестированные рабочие нагрузки
Рабочие нагрузки выбираются для обеспечения оптимального набора "типичных" рабочих нагрузок Windows Server. Очевидно, что этот набор не предназначен для того, чтобы быть репрезентативным целым рядом сред сервера реального мира.
Настройка каждой политики питания — это данные, управляемые следующими пятью рабочими нагрузками, запущенными с Windows Server 2008
Рабочая нагрузка веб-сервера IIS
Внутренний тест Майкрософт под названием Web Fundamentals используется для оптимизации энергоэффективности платформ, работающих на веб-сервере IIS. Программа установки содержит веб-сервер и несколько клиентов, которые имитируют трафик веб-доступа. Распределение динамических, статических горячих (в памяти) и статических холодных (необходимых для доступа к диску) веб-страниц основано на статистических исследованиях рабочих серверов. Чтобы отправить ядра ЦП сервера в полное использование (один конец протестированного спектра), программа установки требует достаточно быстрого сетевого и дискового ресурсов.
Рабочая нагрузка базы данных SQL Server
Тест TPC-E — это популярный тест для анализа производительности базы данных. Он используется для создания рабочей нагрузки OLTP для оптимизации система УПП настройки. Эта рабочая нагрузка имеет значительный объем операций ввода-вывода диска и поэтому имеет высокую производительность для системы хранения и размера памяти.
Рабочая нагрузка файлового сервера
Разработанный корпорацией Майкрософт тест с именем FSCT используется для создания рабочей нагрузки S МБ файлового сервера. Он создает большой набор файлов на сервере и использует многие клиентские системы (фактические или виртуализированные) для создания открытых, закрытых, чтение и операций записи. Сочетание операций основано на статистических исследованиях рабочих серверов. Он подчеркивает ресурсы ЦП, диска и сети.
SPECpower — рабочая нагрузка JAVA
SPECpower_ssj2008 является первым отраслевым стандартом spec benchmark, который совместно оценивает характеристики питания и производительности. Это рабочая нагрузка Java на стороне сервера с различными уровнями загрузки ЦП. Он не требует большого количества дисков или сетевых ресурсов, но имеет определенные требования к пропускной способности памяти. Почти все действия ЦП выполняются в пользовательском режиме; Активность в режиме ядра не оказывает большого влияния на производительность и производительность эталонов, за исключением решений по управлению питанием.
Рабочая нагрузка Application Server
Тест SAP-SD используется для создания рабочей нагрузки сервера приложений. Используется двухуровневая настройка с базой данных и сервером приложений на одном узле сервера. Эта рабочая нагрузка также использует время отклика в качестве метрики производительности, которая отличается от других тестированных рабочих нагрузок. Таким образом, он используется для проверки влияния система УПП параметров на скорость реагирования. Тем не менее, он не предназначен для представительства всех рабочих нагрузок, чувствительных к задержкам.
Все тесты, кроме SPECpower, изначально предназначены для анализа производительности и поэтому были созданы для выполнения на пиковых уровнях нагрузки. Однако средний и легкий уровень нагрузки более распространен для реальных рабочих серверов и более интересен для оптимизации плана Balanced . Мы намеренно запускаем тесты на разных уровнях нагрузки от 100% до 10 % (в 10% шагов) с помощью различных методов регулирования (например, путем уменьшения числа активных пользователей или клиентов).
Приведенные выше рабочие нагрузки используют пропускную способность в качестве метрики производительности для настройки. Во время устойчивого состояния пропускная способность не изменяется с различными использованиями, пока система не перегружена (~100 % использования). В результате сбалансированный план питания благоприязает к энергопотреблению довольно много с минимизацией частоты процессора и максимизации использования. Начиная с Windows Server 2016, требование быстрого реагирования значительно увеличилось. Несмотря на то, что корпорация Майкрософт предложила пользователям перейти на план высокой производительности питания, когда им требуется быстрое время отклика, некоторые пользователи не хотят терять преимущество питания во время легких до средних уровней нагрузки. Поэтому настройка Windows Server система УПП также включает конфиденциальные рабочие нагрузки времени отклика для настройки.
GeekBench 3
GeekBench 3 — это кроссплатформенный тест процессора, разделяющий оценки производительности с одним ядром и несколькими ядрами. Он имитирует набор рабочих нагрузок, включая целые рабочие нагрузки (шифрование, сжатие, обработку изображений и т. д.), рабочие нагрузки с плавающей запятой (моделирование, фрактальное, резкое изображение, размытие изображений и т. д.) и рабочие нагрузки памяти (потоковая передача).
Время отклика является основной мерой в расчете оценки. В тестовой системе Windows Server 2008 по умолчанию балансированный план питания имеет около 18 % регрессии в одноядерных тестах и около 40 % регрессии в многоядерных тестах по сравнению с планом питания высокой производительности . Windows Server 2016 удаляет эти регрессии.
DiskSpd
Diskspd — это средство командной строки для проверки производительности хранилища, разработанное корпорацией Майкрософт. Она широко используется для создания различных запросов к системам хранения для анализа производительности хранилища.
Мы настроили [отказоустойчивый кластер] и использовали Diskspd для создания случайных и последовательных операций ввода-вывода, а также чтения и записи IOS в локальные и удаленные системы хранения с различными размерами операций ввода-вывода. Наши тесты показывают, что время отклика ввода-вывода учитывает частоту процессора в различных планах питания. Стандартный план питания Windows Server 2008 Balanced может удвоить время отклика из плана питания высокой производительности в определенных рабочих нагрузках. План питания Windows Server 2016 Balance удаляет большую часть регрессии.
Внимание
Начиная с процессоров Intel [Broadwell], работающих под управлением Windows Server 2016, большинство решений по управлению питанием процессора принимаются на процессоре, а не на уровне ОС, чтобы обеспечить более быструю адаптацию к изменениям рабочей нагрузки. Устаревшие параметры система УПП, используемые ОС, имеют минимальное влияние на фактические решения частоты, за исключением того, что процессор должен использовать мощность или производительность, или ограничение минимальной и максимальной частоты. Таким образом, система УПП результаты настройки, упоминание здесь, наблюдаются только в системах pre-Broadwell.
Конфигурации оборудования
Для каждого выпуска Windows самые текущие рабочие серверы используются в процессе анализа и оптимизации плана питания. В некоторых случаях тесты выполнялись в предварительных системах, расписание выпуска которых соответствовало следующему выпуску Windows.
Учитывая, что большинство серверов продаются с 1 до 4 сокетов процессора, и так как масштабируемые серверы менее вероятно, будут иметь энергоэффективность в качестве основной проблемы, тесты оптимизации плана питания в основном выполняются в 2-сокетах и 4-сокетовых системах. Объем ОЗУ, диска и сетевых ресурсов для каждого теста выбирается, чтобы позволить каждой системе выполняться до полной емкости, учитывая ограничения затрат, которые обычно будут применяться для сред сервера реального мира, таких как сохранение конфигураций разумно.
Внимание
Несмотря на то, что система может работать на пиковой нагрузке, обычно оптимизируем для более низких уровней нагрузки, так как серверы, которые последовательно выполняются на их пиковых уровнях нагрузки, рекомендуется использовать план питания высокой производительности , если только не является высоким приоритетом.
Метрики
Все тестовые тесты используют пропускную способность в качестве метрики производительности. Время отклика рассматривается как требование об уровне обслуживания для этих рабочих нагрузок (за исключением SAP, где это основная метрика). Например, выполнение теста считается допустимым, если среднее или максимальное время отклика меньше определенного значения.
Поэтому анализ настройки система УПП также использует пропускную способность в качестве метрики производительности. На самом высоком уровне нагрузки (100 % использования ЦП) наша цель заключается в том, что пропускная способность не должна уменьшаться более чем на несколько процентов из-за оптимизации управления питанием. Но основное внимание заключается в том, чтобы максимально повысить эффективность питания (как определено ниже) на средних и низких уровнях нагрузки.
Запуск ядер ЦП на более низкой частоте снижает потребление энергии. Однако более низкие частоты обычно снижают пропускную способность и увеличивают время отклика. Для сбалансированного плана питания существует преднамеренный компромисс с скоростью реагирования и эффективностью питания. Тесты рабочей нагрузки SAP, а также соглашения об уровне обслуживания времени отклика для других рабочих нагрузок, убедитесь, что время отклика не превышает определенное пороговое значение (5% в качестве примера) для этих конкретных рабочих нагрузок.
Примечание.
Если рабочая нагрузка очень чувствительна к времени отклика, система должна переключиться на план питания высокой производительности или изменить план балансировки питания, чтобы очень агрессивно увеличить частоту при запуске.
Параметры плана питания windows Server Balanced Power Plan по умолчанию
Начиная с процессоров Intel Broadwell под управлением Windows Server 2016, управление питанием Windows Server использует аппаратные P-состояния Intel (HWP) как по умолчанию в системах Intel. HWP — это новая возможность совместного управления производительностью оборудования и программного обеспечения. Если HWP включен, ЦП отслеживает активность и масштабируемость и выбирает частоту в масштабе оборудования. ОС больше не требуется для мониторинга действий и выбора частоты с регулярными интервалами. Переход на HWP имеет несколько преимуществ, таких как быстрый ответ, лучшее знание аппаратной эффективности процессоров и других компонентов в TDP.
Для системы HWP Windows по-прежнему имеет возможность задать минимальные и максимальные состояния процессора для предоставления ограничений. Он также может использовать параметр энергопотребления (EPP) для настройки баланса между питанием и производительностью. Более низкое значение способствует производительности, а более высокое значение благоприятует власти. Значение по умолчанию 50 для балансировки мощности и производительности.
Параметр | Windows Server 2012R2 и раньше | Windows Server 2016 и после |
---|---|---|
Включено HWP | Н/П | Intel Broadwell+ |
Предпочтения в области производительности энергии | Н/П | 50 |
Для систем Intel до Broadwell или любых систем, которые не поддерживают HWP (например, серверов AMD), Windows по-прежнему находится в полном контроле и определяет частоту процессора на основе параметров система УПП. Параметры по умолчанию система УПП в Windows Server 2012R2 предпочитают слишком много энергии, что может значительно повлиять на производительность рабочей нагрузки, особенно для быстрой рабочей нагрузки. Четыре параметра система УПП были изменены в Windows Server 2016 RS2, чтобы частота увеличивалась быстрее вокруг среднего уровня нагрузки.
Параметр | Windows Server 2016 (RS1) и раньше | Windows Server 2016 (RS2) и после |
---|---|---|
Пороговое значение повышения производительности процессора | 90 | 60 |
Пороговое значение снижения производительности процессора | 80 | 40 |
Увеличение производительности процессора | 3 | 1 |
Политика повышения производительности процессора | Одна | Идеально подходит |
Алгоритмы управления питанием на основе ЦП могут повредить задержку рабочих нагрузок с большим объемом операций ввода-вывода или сети. Логический процессор может быть неактивным во время ожидания завершения ввода-вывода или сетевых пакетов, что делает общее использование ЦП низким. Чтобы устранить эту проблему, Windows Server 2019 автоматически обнаруживает период отклика операций ввода-вывода и повышает уровень частоты до более высокого уровня. Поведение можно настроить следующими параметрами независимо от того, использует ли система HWP или нет.
Параметр | До Windows Server 2019 | Windows Server 2019 и после |
---|---|---|
Пороговое значение включения переопределения скорости реагирования процессора | Н/П | 10 |
Переопределение скорости реагирования процессора отключает пороговое значение | Н/П | 5 |
Переопределение скорости реагирования процессора | Н/П | 1 |
Переопределение скорости реагирования процессора | Н/П | 3 |
Потолок предпочтения производительности процессора переопределяется | Н/П | 100 |
Скорость реагирования процессора переопределяет уровень производительности | Н/П | 100 |
Настраиваемые предложения по настройке
Если основные характеристики рабочей нагрузки значительно отличаются от пяти рабочих нагрузок, используемых для настройки плана питания по умолчанию, система УПП настройки, можно поэкспериментировать, изменив один или несколько параметров система УПП, чтобы найти оптимальный вариант для вашей среды.
Из-за количества и сложности параметров это может быть сложной задачей, но если вы ищете лучший компромисс между потреблением энергии и эффективностью рабочей нагрузки для вашей конкретной среды, это может быть стоит усилий.
Полный набор параметров система УПП можно найти в настройке управления питанием процессора. Некоторые из простых параметров питания для начала могут быть следующими:
Для системы с поддержкой HWP:
- Предпочтение к производительности энергии — больше значений, поддержку энергии больше, чем производительность
Для системы, отличной от HWP:
Увеличение порогового значения производительности процессора и увеличение времени увеличения производительности процессора— более крупные значения замедляют отклик perf на увеличение активности.
Пороговое значение уменьшения производительности процессора — большие значения ускоряют отклик питания на периоды простоя
Время уменьшения производительности процессора — большее число значений постепенно уменьшается за период простоя
Политика повышения производительности процессора — политика "Один" замедляет реагирование на увеличение и устойчивое действие. Политика "Ракета" реагирует быстро на увеличение активности
Политика уменьшения производительности процессора — политика "Один" постепенно уменьшается за более длительные периоды простоя. Политика "Ракета" снижает мощность очень быстро при вводе периода простоя
Внимание
Прежде чем запускать эксперименты, необходимо сначала понять рабочие нагрузки, которые помогут вам выбрать правильные параметры система УПП и сократить усилия по настройке.
Общие сведения о высокоуровневых требованиях к производительности и мощности
Если рабочая нагрузка "в режиме реального времени" (например, подвержена сбою или другим видимым последствиям для конечных пользователей) или имеет очень жесткое требование к реагированию (например, фондовый брокер), а если потребление энергии не является основным критерием для вашей среды, вы, вероятно, должны просто перейти к плану высокой производительности питания. В противном случае необходимо понять требования к времени отклика для рабочих нагрузок, а затем настроить параметры система УПП для оптимальной эффективности питания, которая по-прежнему соответствует этим требованиям.
Общие сведения о базовых характеристиках рабочей нагрузки
Вы должны знать рабочие нагрузки и разрабатывать наборы параметров эксперимента для настройки. Например, если частоты ядер ЦП должны быть быстро развернуты (возможно, у вас есть строгие рабочие нагрузки со значительными периодами простоя, но вам требуется очень быстрая скорость реагирования при возникновении новой транзакции), то политика повышения производительности процессора может быть задана как "ракета" (которая, как подразумевает имя, снимает частоту ядра ЦП в максимальное значение, а не шаг его вверх в течение определенного периода времени).
Если рабочая нагрузка очень строго, то интервал система УПП проверка может быть сокращен, чтобы начать увеличение частоты ЦП быстрее после поступления всплеска. Если рабочая нагрузка не имеет высокой параллелизма потоков, то базовая парковка может быть включена, чтобы принудить рабочую нагрузку выполняться на меньшем количестве ядер, что также может повысить коэффициенты попаданий кэша процессора.
Если вы просто хотите увеличить частоту ЦП на средних уровнях использования (т. е. не легких уровней рабочей нагрузки), то пороговые значения производительности процессора можно изменить, чтобы не реагировать до тех пор, пока не будут наблюдаться определенные уровни активности.
Общие сведения о периодическом поведении
Существуют разные требования к производительности для дневного и ночного времени или в выходные дни, или могут быть разные рабочие нагрузки, выполняемые в разное время. В этом случае один набор параметров система УПП может быть неоптимальным для всех периодов времени. Так как можно разработать несколько пользовательских планов питания, можно даже настроить разные периоды времени и переключаться между планами питания с помощью сценариев или других средств динамической конфигурации системы.
Опять же, это добавляет к сложности процесса оптимизации, поэтому вопрос о том, сколько значений будет получено из этого типа настройки, что, скорее всего, потребуется повторить при наличии значительных обновлений оборудования или изменений рабочей нагрузки.
Именно поэтому Windows предоставляет план балансировки питания в первую очередь, так как во многих случаях это, вероятно, не стоит усилий ручной настройки для определенной рабочей нагрузки на определенном сервере.