Назад | Перейти на главную страницу

Есть ли причина оставлять параметр питания по умолчанию «Сбалансированный» вместо «Высокая производительность»?

Мы арендуем наши серверы у местного хостинг-партнера, они управляют настройкой и настройками, а мы просто используем их. Но у нас тоже есть права администратора, но руководство на их стороне. Так что, если я переключу важные вещи, я заранее сообщу им об этом. Недавно я выяснил, что по крайней мере на некоторых серверах параметры питания настроены на сбалансированный план. Поскольку этот вариант рекомендуется в Windows Server 2012, я не понимаю, почему этот план может быть худшим? Поскольку всем нам нужна производительность, а не энергопотребление на сервере, я думаю, почему это значение по-прежнему рекомендуется?

Также я не вижу точно, что меняется, когда я переключаю его на высокую производительность, есть ли у кого-нибудь результат теста сервера, который работает в одинаковых условиях на сбалансированной и один раз на высокой производительности?

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

Если я перейду к деталям схемы электропитания на моем локальном компьютере, я вижу параметр для ЦП в разделе Управление питанием процессора, на сервере есть только политика охлаждения системы в разделе Управление питанием процессора. Кажется, что CPU ни в коем случае не троттлут ?! Эти настройки одинаковы для всех планов.

Короткий ответ С современным процессором с быстрым C6 (стробирование ядра / модуля) разница в энергопотреблении между двумя профилями мощности незначительна. С другой стороны, из-за того, как разные процессоры ведут себя в режиме энергосбережения, вы можете значительно потерять производительность при использовании «сбалансированного» профиля. Поэтому я советую вам использовать профиль «высокопроизводительный», если у вас нет веских причин использовать другой профиль.

Длинный ответ Различные профили мощности обычно настраивают следующие три ключевые области:

  • Состояние процессора P (частота / напряжение): в этих состояниях ЦП активен, хотя и с разными профилями производительности. Состояние P0 обычно представляет собой состояние процессора с максимальной производительностью (и более высоким напряжением), с P1-2-3-4 и т. Д. обозначает нижнюю точку на кривых частота / напряжение. Это означает, что состояние P0 потребляет больше энергии, чем, скажем, P4. Консервативный регулятор мощности может заставить ЦП дольше оставаться в состояниях ЦП с низким потреблением (и низкой производительностью) или даже ограничить его максимальную частоту. Переключение из состояния P в другое происходит довольно быстро (в основном это функция того, насколько быстро процесс может изменить свое напряжение / частоту);
  • Состояния CPU C (состояние ожидания / ожидания): в этих состояниях процессор или его части отключены. Итак, в то время как C0 обозначает полностью активный процессор (ничего не спит), состояние C1 обозначает остановленные часы, а C1E - остановленные часы. и более низкое напряжение и т. д. Наконец, из состояния C6 впоследствии (Haswell может опуститься до C10) ядро ​​ЦП фактически имеет 0 В, поэтому потребление энергии очень низкое (требуется питание только внешних компонентов, таких как кэш L2 / 3 и шина). Переключение между C0 и другими состояниями традиционно было довольно медленным, поэтому состояния питания C1E + были переведены в относительно длительное время простоя. Nehalem (первое поколение i3 / i5 / i7) радикально изменил это, поэтому прочтите ниже, чтобы понять, как это работает сейчас;
  • Частота внешних ссылок / полосы / и т. Д .: память, каналы QPI и PCI-E могут быть закрытыми по мощности и по полосам, хотя и по-разному.

Как приведенная выше информация влияет на регулятор мощности / профиль? По сути, регулятор, оптимизирующий производительность, будет увеличивать частоту до максимума, сжигая больше энергии. Но в режиме ожидания даже регулятор производительности позволит ядру выполнить команду HALT, которая переведет ЦП в состояние C1. После еще некоторого простоя ядро ​​перейдет в состояния C2, и здесь произойдет волшебство: ЦП от Nehalem (или Bulldozer для AMD) после этого внутренне переназначает состояние C2 в состояние C6 - падение напряжения до 0. Итак, даже если регулятор мощности ушел. ЦП на максимальной частоте (скажем, 3 ГГц), состояние C6 эффективно отменяет его, в результате чего частота и напряжение на 0. Некоторые процессоры / PCU еще более агрессивны, переназначая C1E (который автоматически вводится через некоторое время C1 и до переключения ядра на C2) на C6. Итак, в двух словах: высокопроизводительный регулятор мощности позволяет процессору работать на максимальной скорости, но современные процессоры автоматически отключаются, когда это возможно. Это означает, что регулятор производительности обеспечит высокую скорость и разумное энергопотребление.

С другой стороны, «сбалансированный» регулятор мощности попытается отрегулировать нижнюю границу частоты процессора (чтобы продемонстрировать экономию P-состояний). В то время как со старым процессором это очень разумно, с современным процессором у вас лишь незначительно меньшая мощность. В то же время вы рискуете значительно потерять производительность из-за того, что регулятор по умолчанию запрашивает более низкую частоту. Более того, внешние каналы обычно медленно просыпаются после перехода в спящий режим, так что это еще один риск снижения скорости, связанный с сбалансированными и консервативными вариантами питания.

Именно по этой причине сбалансированный профиль питания Windows 2008R2 + лишь очень мягко пытается сэкономить электроэнергию - во многих случаях его поведение сравнимо с «высокопроизводительным».

Несколько интересных статей:

  1. http://www.anandtech.com/show/2919
  2. http://www.hardwaresecrets.com/article/Everything-You-Need-to-Know-About-the-CPU-C-States-Power-Saving-Modes/611/1

На серверах Windows 2016 при переходе из режима «Сбалансированный» в «Высокопроизводительный» я вижу увеличение производительности веб-сервера / ASP.Net на 50% (как показано в New Relic). Это большое.

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