Я проводил несколько простых ручных бенчмарков на нашем (живом) сервере баз данных в непиковые часы и заметил, что запросы возвращали несколько ошибочные результаты тестов .
Некоторое время назад я включил «Сбалансированный» план энергосбережения на всех наших серверах, потому что я полагал, что они далеко не так высоки, и таким образом мы могли сэкономить немного энергии.
Я предполагал, что это не окажет существенного, измеримого влияния на производительность. Тем не менее, если экономия мощности процессора функции являются воздействуя типичные характеристики - в частности , на общем сервере базы данных - то я не уверен , что это стоит!
Я был немного удивлен, что наш веб-уровень, даже при нагрузке 35-40%, работает на понижающей частоте с 2,8 ГГц при 1,25 В до 2,0 ГГц при 1,15 В.
Я полностью ожидаю, что понижающая тактовая частота сохранит энергию, но этот уровень нагрузки кажется мне достаточно высоким, чтобы он разгонялся до полной тактовой частоты.
Наш сервер баз данных с 8 процессорами имеет тонну трафика, но чрезвычайно низкую загрузку ЦП (просто из-за характера наших запросов SQL - их много, но очень простых запросов). Это обычно сидит на 10% или меньше. Так что я ожидаю, что это разгон даже больше, чем на скриншоте выше. В любом случае, когда я переключил управление энергопотреблением на «высокую производительность», я увидел, что мой простой тест SQL-запроса улучшился примерно на 20% и стал очень последовательным от запуска к запуску .
Я думаю, я думал, что управление питанием на слабо загруженных серверах было беспроигрышным - без потери производительности и значительной экономии энергии, поскольку ЦП обычно является потребителем энергии № 1 или № 2 на большинстве серверов. Это не похоже на случай; Вы потеряете некоторую производительность при включенном управлении питанием процессора, если ваш сервер не всегда находится под такой большой нагрузкой, что управление питанием фактически отключилось. Этот результат меня удивил.
Есть ли у кого-нибудь другой опыт или рекомендации по управлению питанием процессора для серверов? Это то, что вы включаете или выключаете на своих серверах? Вы измерили много энергии, которую вы экономите? Вы тестировали его с включением и выключением?
источник
Ответы:
Я не уверен насчет серверов, но в настоящее время мысли о встроенных устройствах не сводятся к шагам между низким энергопотреблением и бесперебойным питанием, поскольку дополнительное время потребляет вашу экономию энергии, поэтому в основном они работают на низкой мощности, пока не получат реальная нагрузка на процессор, и в этот момент они переключаются на максимально возможную скорость, чтобы они могли завершить работу и вернуться в режим ожидания на малой мощности.
источник
Я всегда отключал любой тип управления питанием на серверах. Мне любопытно, что испытали другие, но я всегда предполагал, что если сервер недостаточно синхронизируется, всегда будет некоторая задержка, чтобы «увеличить» процессор до 100%, а в центре обработки данных любая задержка, как эта недопустимо
Представленные вами данные подтверждают это предположение. Итак, я не проводил никаких конкретных испытаний, но, похоже, вам не следует использовать какие-либо энергосберегающие технологии в Windows или BIOS. Я даже отключил «отключение сети» и настройки PCI-карты, чтобы быть очень консервативным.
источник
Сколько энергии это на самом деле спасет вас :
если вы решите, что эта функция может поставить под угрозу стабильность ваших серверов (у меня есть опыт работы с этим), то вы могли бы искать экономию энергии в других местах.
Я бы попытался выяснить, сколько энергии это может сэкономить на количество ваших серверов (хотя, возможно, вы уже сделали это). Поскольку график, который вы разместили в своем ответе, представляет собой проценты, для вашей компании экономия может быть очень незначительной. Если у вас не так много серверов, это может быть не так уж и много, и включение в вашем офисе лампочек с активированным движением или чего-то подобного может сэкономить больше энергии (даже если это не так хорошо продается).
Я помню, как читал несколько лет назад о том, что одна из крупнейших американских автомобильных компаний (не помню, какая) имеет давление, чтобы изменить выбросы выхлопных газов на своих автомобилях. Вместо этого компания показала, что, если она закроет некоторые из своих заводов, это будет намного дешевле для них, а также приведет к гораздо большей экономии выбросов.
Не забывайте диски:
Кроме того, вы можете проверить, что эти функции энергосбережения не раскручивают диски, если они не используются. Может быть, на некоторое время все результаты SQL-запроса будут в ОЗУ, диск будет использоваться и перейдет в спящий режим (хотя и не уверен, что он так работает)? Если это может произойти, это приведет к значительному снижению производительности, пока все снова вращается.
источник
Предисловие: я делаю некоторые обобщения о Intel Xeons и их энергосберегающих характеристиках с помощью SpeedStep. Читая о 45-нм процессорах Intel Xeon « Yorkfield », Enhanced Intel SpeedStep Technology (EIST) и Enhanced Halt State (C1E) кажутся реальным виновником ситуации. Я бы согласился с вашей оценкой, полагая, что включение таких функций управления питанием поможет сохранить энергию, но когда процессорам потребуется энергия под нагрузкой, система вернется к настройкам тактовой частоты с нормальным напряжением. Похоже, что EIST и C1E имеют некоторые побочные эффекты, которые не подразумеваются интуитивно при использовании одного или другого параметра в BIOS. После просмотра многочисленных сайтов о разгоне, кажется, что эти две настройки в BIOS вызывают немало разочарований.
С http://www.overclock.net/intel-cpus/376099-speedstep-guide-why-does-my-processor.html :
Хотя настройка параметров производительности для «высокой производительности», вероятно, является наилучшей настройкой для сервера базы данных, я вполне уверен, что либо EIST, и / или C1E приводили к недостаточной производительности ЦП, даже если при загрузке они должны были вернуться к нормальным настройкам. существенно увеличилось. Большое предостережение для меня, как представляется, "что такое существенная нагрузка?" Согласно сайту overclockers.net, они утверждают, что EIST использует эти настройки «схем электропитания» для управления настройками вашего ЦП. Но нет указания на процент нагрузки или на то, как долго знать, когда вернуть процессоры обратно к нормальному напряжению.
Опять же, я ни в коем случае не эксперт в предметной области для процессоров Intel, но я хотел бы поспорить, что настройка этих двух параметров может дать вам экономию энергии, которую вы хотите, и производительность, которую вы должны получить, но придерживаясь настройки «максимальная производительность» так же эффективно, без необходимости перезагрузки.
источник
Быстрый ответ: конечно, энергосбережение повлияет на производительность.
Более длинный ответ не веселый. По сути, попробуйте настройку, протестируйте производительность и решите, с чем вы можете жить.
Приложения и системы настолько сложны, что здесь нет точного ответа, кроме «да, это повлияет на время реакции и другие скорости системы». Если это намного медленнее, чем жесткий диск или сеть - ну, вы поняли. Тест в реальности.
источник
Я всегда стараюсь виртуализировать как можно больше серверов, но там, где мне нужно «пустить в ход» сервер, это обычно так, как мне нужно или мне нужна абсолютно стабильная производительность. Поэтому для этих критически важных для бизнеса машин я НИКОГДА не включаю ничего, что связано с энергосбережением, именно по тем причинам, с которыми вы столкнулись.
*** бах-идет-мои-зеленый-учетные данные *
источник
Несколько вещей:
Проверьте в BIOS, чтобы убедиться, что управление питанием находится под контролем ОС. Вполне возможно, что он настроен на управление встроенным программным обеспечением и, следовательно, использует тупое, неоптимальное управление питанием процессора.
Проверьте, есть ли какие-либо исправления, связанные с управлением питанием, которые могут отсутствовать. В тот день, когда вышла Vista / Server 2008, было немало заметных.
Проверьте подробную конфигурацию для Сбалансированного. Возможно, что другая функция энергосбережения вызывает снижение производительности. Теоретически, снижение производительности от EIST должно быть незначительным, хотя, опять же, база данных SQL занимает уникальное место, и вполне вероятно, что она подвергается непропорционально сильному влиянию управления питанием процессора.
источник
Некоторая информация от Microsoft (к сожалению, формат Word Doc)
Повышение энергоэффективности и управление энергопотреблением с Windows Server 2008 R2
Эти конкретные функции энергосбережения на уровне аппаратного процессора одинаковы для любой ОС, разумеется, вопрос лишь в том, включите ли вы их.
График энергосбережения без управления питанием ЦП в сравнении с управлением питанием ЦП:
Нам ясно, что (и этот график показывает это) при высоких уровнях использования управление питанием процессора автоматически отключается. Однако мне неясно, влияет ли при низких уровнях использования общая производительность сервера, например, время выполнения запросов SQL Server для простых запросов.
источник
Вы никогда не должны прибегать к использованию настроек Windows или Bios Speedstep, которые поставляются на процессорах Intel, и есть также эквивалент AMD. Это может вызвать проблемы, и я видел такие проблемы, когда с помощью Speedstep тактовая частота ЦП продолжала бы беспорядочно отражаться вверх и вниз, даже если использование ресурсов ЦП было постоянным.
Если вы хотите быть более экологичным и экономить электроэнергию, используйте процессоры с низким энергопотреблением, обозначенные символом L перед названием модели, такие как серии L 54XX и L 55XX от Intel.
РЕДАКТИРОВАТЬ: Я извиняюсь, если у меня создалось впечатление, что эта функция всегда выйдет из строя, я просто сгорел от этого, и в критически важной системе я не могу такого рода вещи, поэтому я просто стараюсь подальше от этого.
источник
Когда вы говорите о производительности на сервере, есть несколько разных способов взглянуть на это. Существует очевидное время отклика (аналогично задержке в сети) и пропускная способность (аналогично пропускной способности сети).
Некоторые версии Windows Server поставляются с настройками сбалансированного питания, включенными по умолчанию. Как отметил Джефф. Windows 2008 R2 является одним из них. В наши дни очень немногие процессоры являются одноядерными, поэтому это объяснение применимо практически ко всем серверам Windows, с которыми вы будете работать, за исключением одноядерных виртуальных машин. (подробнее об этом позже).
Когда сбалансированная схема питания активна, процессор пытается уменьшить количество потребляемой энергии. Это происходит путем отключения половины ядер ЦП в процессе, известном как «парковка». Только половина процессора будет доступна одновременно, поэтому он потребляет меньше энергии во время низкого трафика. Это не проблема сама по себе.
Проблема в том, что, когда ЦП отключены, вы удвоили количество доступных циклов ЦП, доступных для системы, и неожиданно разбалансировали нагрузку на систему, взяв ее (например) с 70% до 35%. Система смотрит на это, и после обработки пакета трафика она думает: «Эй, я должен немного набрать этот номер для экономии энергии». И так оно и есть.
Вот плохая часть. Чтобы предотвратить неравномерное распределение тепла и энергии в ядрах процессора, он имеет тенденцию парковать процессоры, которые не были припаркованы в последнее время. И для того, чтобы это функционировало должным образом, ЦПУ необходимо сбросить все данные из регистров ЦП (кэш-память L1, L2 и L3) в другое место (скорее всего, в основную память).
В качестве гипотетического примера, скажем, у вас есть 8-ядерный процессор с C1-C8.
Когда это происходит, все они становятся активными в течение некоторого периода времени, и затем система будет парковать их следующим образом:
Но при этом существует большая нагрузка, связанная с очисткой всех данных из кэша L1-L3, чтобы это произошло, чтобы не возникало странных ошибок с программами, которые были очищены из конвейера ЦП.
Вероятно, есть официальное название, но мне нравится объяснять это как перегрузка процессора. В основном, процессоры тратят больше времени на занятую работу, перемещая данные внутри, чем на обработку рабочих запросов.
Если у вас есть какое-либо приложение, которому требуются низкие задержки для своих запросов, вам необходимо отключить настройки сбалансированной мощности. Если вы не уверены, что это проблема, сделайте следующее:
Если вы видите, что кто-то из них припаркован, вы заметите, что половина из них припаркована в любой момент времени, они все сгорят, а затем другая половина будет припаркована. Он чередуется взад и вперед. Таким образом, системные процессоры бьются.
Виртуальные машины: эта проблема еще хуже, когда вы работаете на виртуальной машине, потому что есть дополнительные издержки гипервизора. Вообще говоря, для того, чтобы виртуальная машина работала, аппаратное обеспечение должно иметь временной интервал, доступный для каждого из ядер в каждом временном интервале.
Если у вас 16-ядерное аппаратное обеспечение, вы можете запускать виртуальные машины, используя более 16 ядер, но для каждого временного интервала для этого временного интервала будут доступны только до 16 виртуальных процессоров, и гипервизор должен соответствовать всем ядрам для виртуальной машины. в этом временном интервале. Он не может быть распределен по нескольким временным интервалам. (Временной интервал - это, по сути, набор циклов процессора X. Это может быть 1000 или 100 000 циклов)
Пример: 16-ти ядерное оборудование с 8 ВМ. 6 имеют 4 виртуальных процессора (4C) и 2 имеют 8 виртуальных процессоров (8C).
Временной интервал 1: 4x4C Временной интервал 2: 2x8C Временной интервал 3: 2x4C + 1x8C Временной интервал 4: 1x8C + 2x4C
То, что не может сделать гипервизор, - это разделить половину выделения для временного интервала на первые 4 ЦП виртуальной машины с 8 виртуальными ЦП, а затем на следующем временном интервале отдать остальное остальным 4 виртуальным ЦП этой виртуальной машины. Это все или ничего в пределах временного интервала.
Если вы используете Microsoft Hyper-V, настройки управления питанием могут быть включены в хост-ОС, то есть распространятся на клиентские системы, что также повлияет на них.
Как только вы увидите, как это работает, легко увидеть, как использование настроек сбалансированного управления питанием приводит к проблемам с производительностью и вялым серверам. Одна из основных проблем заключается в том, что входящий запрос должен дождаться завершения процесса парковки / отмены парковки ЦП, прежде чем сервер сможет ответить на входящий запрос, будь то запрос к базе данных, запрос веб-сервера или что-то еще ,
Иногда система будет парковать или отключать ЦП в середине запроса. В этих случаях запрос запускается в конвейер ЦП, выгружается из него, а затем другое ядро ЦП будет обрабатывать процесс оттуда. Если это достаточно большой запрос, это может происходить несколько раз в течение всего запроса, заменяя запрос базы данных в 5 секунд на запрос базы данных в 15 секунд.
Самое важное, что вы увидите в использовании Balanced Power, - это то, что системы будут чувствовать себя медленнее, реагируя практически на каждый ваш запрос.
источник