При оценке новых серверов их энергопотребление — очень важный параметр

В ситуации постоянного роста стоимости электроэнергии так же стремительно возрастает важность оценки эффективности ее использования, особенно при принятии решения о модернизации серверов. В этой статье описан один из способов предварительной оценки энергоэффективности при выборе серверов.


Рис. 1. Пример графика загруженности сервера в течение 24 часов
Рис. 1. Пример графика загруженности сервера в течение 24 часов
В зависимости от нагрузки и времени восстановления серверы можно поделить на две большие категории. Первая состоит из серверов, которые работают почти постоянно при очень высокой нагрузке, а вторая — из серверов, которые могут быть включены 24 ч все дни в неделю, но при этом выполняют только транзакции и другие запросы по мере надобности.

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

Шаг 1. Проверьте процент занятости и профиль нагрузки. Очень важно обсудить профиль нагрузки, поскольку современные компьютерные системы используют энергосберегающие технологии, которые снижают затраты энергии сервером в те периоды, когда компьютер не работает или находится в «спящем» состоянии.

Почти все вариации в нагрузке серверов, работающих для малого бизнеса, зависят от времени суток или от дня недели. Чаще всего такие серверы больше заняты в рабочие дни и практически свободны вечером или в выходные.


Рис. 2. Пример графика загруженности сервера в течение недели (включая выходные)
Рис. 2. Пример графика загруженности сервера в течение недели (включая выходные)
Многие серверы, функционирующие в малых компаниях, имеют график работы, похожий на тот, что показан на рис. 1: 10 ч в день сервер загружен меньше чем на 20%, а остальные 14 ч — практически не работает.

График использования за неделю этого сервера показан на рис. 2: это 50 ч нагрузки менее 20% и 118 ч — практически свободного сервера.

Шаг 2. Соберите данные о профиле нагрузки для имеющегося сервера. Чтобы собрать данные о загруженности сервера Unix/Linux, введите с консоли команду: vmstat 900> /tmp/vmstat.data<ENTER>.

После этого система должна проработать 24 ч, затем распечатайте файл «/tmp/vmstat.data». В выходном файле будет четыре строки. Найдите колонку «cpu/id» Она показывает процент времени, когда процессор компьютера находится в «спящем» состоянии. Если вычесть это число из 100, то получится процент занятости ПК. Эти цифры позволят вам понять структуру ежедневной нагрузки.

Для Windows-серверов выполните программу «perfmon». Нажмите на кнопку «+», чтобы добавить trace. Затем выберите «% Processor Time» (установлено по умолчанию на большинстве компьютеров). Кликните на «Аdd», а затем на «Сlose».


Далее кликните на правую часть внизу окна («Counter/% Proc...»). Выберите «Properties» и напечатайте «900» в поле с надписью «Update automatically every (вставьте нужное число ) seconds». Кликните «Apply» и закончите, нажав «Сlose».

Через 24 ч вы получите график по 100 контрольным точкам (по четыре за один час). Глядя на итоговый график, вы сможете оценить время, которое сервер проработал на различных уровнях нагрузки.

Шаг 3. Пересмотрите оценку загруженности. Очень важно правильно оценить процент занятости, поскольку новый сервер почти наверняка будет мощнее, чем ваш нынешний. Если у текущего сервера одноядерный процессор с частотой 1 ГГц, а у нового сервера двухъядерный с частотой 2 ГГц, то полученные на первом шаге проценты загруженности процессора должны быть поделены на четыре.

Шаг 4. Объедините данные за разные часы в несколько групп. Возьмите пересмотренные цифры из шага 3 и сделайте небольшую таблицу с несколькими областями уровней загруженности.

Шаг 5. Вычислите и оцените энергопотребление сервера. Если вы умножите уровень потребления энергии (в ваттах) на каждом уровне загруженности на количество часов, которое сервер работает на этом уровне, то получите оценку энергопотребления за неделю.


Два источника для оценки энергопотребления сервера — это тесты Neal Nelson Power Efficiency Test и SPECpower Benchmark. Оба они дают информацию о потреблении энергии сервером на различных уровнях нагрузки. Данные из обоих источников могут быть использованы для этих вычислений.

Примеры на графиках основаны на данных из Neal Nelson Power Efficiency Test. У двух этих серверов аналогичные конфигурации, возможности и стоимость.

Данные Neal Nelson Power Efficiency Test можно найти в интернете по адресу www.world-fastest.com/wf1000.html. Выберите нужную страницу в разделе Server Power Efficiency test Results, обратитесь к нужной строке данных и перейдите к колонке под заголовком «Power consumption in Watts at Transaction Arrival rates». Есть шесть разных значений в ваттах. Они соответствуют состоянию «Idle» и еще пяти различным уровням транзакций.

С целью этих приближений рассмотрим пять уровней прихода транзакций — 20, 40, 60, 80 и 100 процентов занятости.

Результаты теста SPECPower приведены по адресу www.spec.org/power_ssj2008. На странице SPEC надо просмотреть список конфигураций компьютеров и выбрать наиболее подходящую для вашего конкретного случая. Затем надо кликнуть на линки «text» или «HTML», чтобы посмотреть отчет «Full disclosure».

В начале отчета расположена таблица, в которой приведены данные о потреблении энергии при различных уровнях загрузки сервера. Выберите нужные величины в колонке «Power — Average Power (W)», которые соответствуют оценкам процентной загрузки. Описанные вычисления дадут вам оценку энергоэффективности для двух или большего числа серверов.