![](https://habrastorage.org/getpro/habr/upload_files/678/2c5/587/6782c5587573049b5d33f1fbe60b5400.png)
Изучение производительности сервера может быть очень полезно, особенно если вы работаете с ресурсоемкими приложениями. Одним из способов повышения производительности является настройка параметров BIOS. В этой статье мы попытаемся ответить на вопрос, действительно ли DAPC выгоднее BIOS default performance.
Наша компания — хостер, и это во многом определяет специфику рабочих задач отдела DevOps и Support. Однако относительно недавно обычную рутину нашей работы прервала внезапная задача: нужно было определить, позволяет ли использование Performance per Watt (DAPC) на практике снизить энергопотребление процессоров и, как следствие, нагрузку на систему охлаждения в ЦОДе.
DAPC (Dynamic Application Power Management) — функция BIOS, позволяющая автоматически регулировать потребляемую мощность в зависимости от нагрузки. То есть, когда вы не используете сервер, он будет потреблять меньше энергии, что может привести к значительной экономии электроэнергии. Кроме того, DAPC может повысить производительность сервера в режиме низкой нагрузки, поскольку процессор будет работать на более высокой частоте.
BIOS default performance — настройка BIOS, которая устанавливает процессор на максимальную частоту, независимо от нагрузки. Это может привести к повышению производительности в режиме высокой нагрузки, но также увеличить потребление энергии и температуру компьютера.
Различия между профилями питания подробно описаны в технической документации Dell.
Теоретически выбор между DAPC и BIOS default performance зависит от ваших потребностей. Если вы хотите сэкономить энергию и повысить производительность в режиме низкой нагрузки, выберите DAPC. Если вам нужна максимальная производительность в режиме высокой нагрузки, вам подойдет BIOS default performance.
Что ж, проверим, как это работает на практике.
Для тестирования нами были использованы тесты stress-ng и AIDA64.
Тестовая среда
Платформа |
Dell PowerEdge R720 12xLFF |
Процессор |
2xXeon 2xE5-2680v2 2.8GHz (10 cores) |
Оперативная память |
8×16 Gb DDR3 REG |
Жесткий диск |
1x960Gb SSD |
Контроллер |
1xDell PERC H710 Mini |
Материнская плата |
DELL PE R720 MB |
CPU
Для начала мы провели тестирование процессора:
stress-ng --cpu 40 --cpu-method matrixprod --metrics --timeout 60
В тесте задействованы 40 потоков процессора, продолжительность теста — 60 секунд.
|
stressor |
real time (secs) |
sys time (secs) |
BIOS default performance |
cpu |
60 |
0 |
BIOS (DAPC) |
cpu |
60 |
0 |
![Points scored](https://habrastorage.org/getpro/habr/upload_files/c15/54c/0d9/c1554c0d9718a94b9a13568487c788fa.png)
![Points scored](https://habrastorage.org/getpro/habr/upload_files/6b4/577/dfa/6b4577dfae06df8aeaa55844ef0dcb0f.png)
![Points scored](https://habrastorage.org/getpro/habr/upload_files/dab/ab2/a56/dabab2a56aebca96e933d365c6f0f26b.png)
BIOS default performance превзошел DAPC по всем измеряемым параметрам, за исключением общего времени выполнения тестов. Ключевым показателем данного теста является Bogo ops/s (real time), поскольку этот параметр отражает количество выполненных итераций теста в секунду и позволяет судить о производительности процессора во время тестирования.
Комплексное тестирование
В рамках данного теста проводится замер показателей нескольких ключевых подсистем:
stress-ng --cpu 40 --io 4 --vm 1 --vm-bytes 128G --timeout 60s --metrics-brief
|
stressor |
bogo ops (secs) |
real time (secs) |
usr time (secs) |
sys time (secs) |
bogo ops/s (real time) |
bogo ops/s (usr+sys time |
BIOS default performance |
cpu |
1571925 |
60 |
2192.06 |
0 |
26197.69 |
717.1 |
io |
1475056 |
60 |
16.21 |
185.72 |
24584.24 |
7304.79 |
|
vm |
0 |
10.13 |
0 |
0 |
0 |
0 |
|
BIOS (DAPC) |
cpu |
1563342 |
60 |
2196.55 |
0 |
26054.87 |
711.73 |
io |
1484777 |
60 |
16.14 |
180.61 |
24746.26 |
7546.52 |
|
vm |
|
10.14 |
0 |
0 |
0 |
0 |
-
Стрессор CPU создает нагрузку на процессор, что позволяет оценить, насколько хорошо система справляется с вычислительными задачами. Показатели, связанные со стрессором CPU, могут включать в себя количество операций в секунду, время выполнения и степень использования процессора.
-
Стрессор IO создает нагрузку на дисковую подсистему, что позволяет оценить, насколько хорошо система справляется с операциями ввода-вывода. Показатели, связанные со стрессором IO, могут включать в себя скорость передачи данных, время выполнения операций ввода-вывода и другие метрики, связанные с дисковой подсистемой.
-
Стрессор VM создает нагрузку на виртуальную память, что позволяет оценить, насколько хорошо система справляется с управлением памятью и обработкой страниц памяти. Показатели, связанные со стрессором VM, могут включать в себя количество операций в секунду, время выполнения и степень использования памяти.
Легко заметить, что приведенные результаты тестирования практически не зависят от метода управления питанием.
Сравнение энергопотребления
Включение политики Power CAP позволяет повысить эффективность рабочих процессов в компьютерных системах за счет установки максимального значения энергопотребления системы, что позволяет предотвратить превышение максимально допустимого уровня энергопотребления и снижает риск перегрева компонентов. Это особенно важно для систем, работающих в условиях высокой нагрузки, таких как серверы или вычислительные кластеры.
Для наглядности мы провели тесты без установленной политики энергопотребления и с ограничением в 200 Вт.
stress-ng --cpu 40 --io 4 --vm 1 --vm-bytes 128G --timeout 30m
Без установленной политики были получены следующие результаты:
![](https://habrastorage.org/getpro/habr/upload_files/7b5/f9e/c51/7b5f9ec511690408bd315f59f2c6097a.png)
![](https://habrastorage.org/getpro/habr/upload_files/8ae/071/697/8ae071697d87aba7dd42fe764b2a4903.png)
![Points scored](https://habrastorage.org/getpro/habr/upload_files/eea/c62/41d/eeac6241dab3e3047158a0a333df8ca9.png)
![Points scored](https://habrastorage.org/getpro/habr/upload_files/ce8/20e/5a6/ce820e5a614f21314863df654e780e32.png)
Тест показал, что при незначительном снижении энергопотребления (308 против 322 Вт) производительность DAPC значительно (около 10%) меньше по сравнению с BIOS default performance.
После чего мы применили ограничение в 200 Вт:
![](https://habrastorage.org/getpro/habr/upload_files/743/dca/829/743dca82972d211f6d549355a38fd2cb.png)
![](https://habrastorage.org/getpro/habr/upload_files/281/edb/5c2/281edb5c2189c7f01236f36071259f4b.png)
![Points scored](https://habrastorage.org/getpro/habr/upload_files/8de/4fb/1fc/8de4fb1fc3763eba0fc3aa07fcc13299.png)
Температуры процессора и его компонентов — важный показатель, поскольку высокие температуры могут привести к перегреву системы и повреждению компонентов, а высокое энергопотребление — к росту расходов на выполнение рабочих задач.
Показатель пакета процессора (CPU Package) отражает общее энергопотребление процессора. Если значение этого показателя слишком высоко, это может свидетельствовать о том, что процессор работает в условиях повышенной нагрузки или что система нуждается в дополнительной вентиляции. Показатели ядра процессора (CPU IA Core) отображают температуру вычислительных ядер. Эти показатели могут помочь выявить проблемы в работе отдельных ядер процессора, такие, как загруженность, неравномерное использование и т. д. Использование политики Power CAP позволяет значительно снизить нагрузку на ядра процессора (примерно на 40%).
Напряжение ядра процессора (CPU Core Voltages) с заданной политикой Power CAP и без нее отличается примерно на 15% (0.912 и 1.086 соответственно).
Тестирование памяти
stress-ng --sequential 0 --class io --timeout 60s --metrics-brief
|
stressor |
bogo ops (secs) |
real time (secs) |
usr time (secs) |
sys time (secs) |
bogo ops/s (real time) |
bogo ops/s (usr+sys time) |
BIOS default performance |
aio |
49659629 |
60 |
162.1 |
450.83 |
827650.72 |
81020.07 |
aio |
17264.35 async I/O signals per sec (average per stressor) |
|
|
|
|
|
|
aiol |
430590 |
60.03 |
41.57 |
54.06 |
7172.47 |
4502.67 |
|
hdd |
906920 |
60.77 |
32.88 |
54.83 |
14923.79 |
10339.98 |
|
rawdev |
6077534 |
60 |
4.11 |
53.1 |
101291.84 |
106232.02 |
|
readahead |
1640951 |
60.03 |
1.24 |
54.2 |
27333.66 |
29598.68 |
|
revio |
114781963 |
60.01 |
93.32 |
2294.07 |
1912803.22 |
48078.43 |
|
seek |
0 |
60.03 |
492.6 |
1899.07 |
0 |
0 |
|
sync-file |
533873 |
60 |
198.76 |
473.73 |
8897.78 |
793.88 |
|
BIOS (DAPC) |
aio |
41134869 |
60 |
327.68 |
956.54 |
685563.61 |
32031.01 |
aio |
13450.88 async I/O signals per sec (average per stressor) |
|
|
|
|
|
|
aiol |
381309 |
60.08 |
97.43 |
139.59 |
6347.06 |
1608.76 |
|
hdd |
866740 |
60.61 |
96.75 |
131.69 |
14300.24 |
3794.17 |
|
rawdev |
6170726 |
60 |
10.73 |
149.95 |
102844.59 |
38403.82 |
|
readahead |
1730482 |
60.03 |
3.95 |
157.31 |
28827.11 |
10731.01 |
|
revio |
112259151 |
60.01 |
91.65 |
2295.59 |
1870778.57 |
47024.66 |
|
seek |
0 |
60.04 |
466.64 |
1924.64 |
0 |
0 |
|
sync-file |
308244 |
60 |
291.02 |
718.05 |
5137.27 |
305.47 |
Стрессор aio (asynchronous I/O) в stress-ng создает асинхронные операции ввода-вывода для проверки работоспособности системы в условиях высокой нагрузки на ввод-вывод. Среди таких операций — чтение и запись файлов, отправка и получение сетевых пакетов и другие действия, требующие обращения к вводу-выводу. В проведенном тесте результат BIOS default performance значительно превышает BIOS (DAPC) по каждому из показателей тестирования.
Стрессоры aiol, hdd, rawdev, readahead, revio, seek и sync-file в stress-ng предназначены для создания нагрузки на различные компоненты системы и проверки их работоспособности в условиях высокой нагрузки.
-
Стрессор aiol создает асинхронные операции ввода-вывода для проверки работоспособности системы в условиях высокой нагрузки на ввод-вывод.
-
Стрессор hdd создает нагрузку на жесткий диск, например путем создания случайного доступа к файлам или чтения и записи больших объемов данных на диск.
-
Стрессор rawdev создает нагрузку на устройства ввода-вывода, например на блочные устройства или устройства виртуальной памяти.
-
Стрессор readahead создает нагрузку на подсистему чтения файлов, например путем чтения больших объемов данных из файловой системы.
-
Стрессор revio создает нагрузку на ввод-вывод, используя случайный доступ к файлам и чтение/запись файлов в обратном порядке.
-
Стрессор seek создает нагрузку на подсистему чтения/записи файлов, используя случайный доступ к файлам и перемещение указателя внутри файла.
-
Стрессор sync-file создает нагрузку на файловую систему, путем создания большого количества файлов и их чтения/записи.
Заключение
Проведенное тестирование не позволяет подтвердить тезис производителей платформ DELL о значительной экономии энергии при использовании режима BIOS (DAPC): производительность системы при выборе этого режима снижается, а энергопотребление уменьшается незначительно.
Однако на некоторых серверах Dell использование режима BIOS DAPC может привести к нестабильной работе и сбоям системы. Это связано с тем, что режим BIOS DAPC не всегда может правильно оценить нагрузку на процессор и корректно настроить его частоту и напряжение. В результате процессор может работать с низкой частотой, что приводит к снижению производительности системы.
Вместо BIOS DAPC можно использовать другие технологии управления энергопотреблением, такие как Intel SpeedStep или AMD PowerNow, которые могут обеспечить более стабильную работу системы и оптимизировать энергопотребление процессора. Отметим, что лучше обновить BIOS сервера до последней версии. Это позволит избежать ошибок и проблем совместимости.
В целом, выбор технологии управления энергопотреблением на сервере зависит от конкретной модели и конфигурации сервера, а также от требований к производительности и энергоэффективности. Решение о выборе технологии стоит принимать только после изучения рекомендаций производителя и проведения тестирования на конкретной системе.
ссылка на оригинал статьи https://habr.com/ru/articles/726214/
Добавить комментарий