У нас в HOSTKEY был освобожденный клиентом сервер с платой SuperMicro и процессором AMD EPYC 7551, коробка регистровой памяти DDR4 разной скорости и пара часов свободного времени. Ничто не мешало посмотреть, как зависит производительность машины от количества установленных планок.
Тестовый стенд
Двухпроцессорная материнская плата SuperMicro H11DSi имеет 16 слотов памяти и стоит 63400 рублей в «Регарде» или от €700 в Нидерландах (по июньским прайсам 2022 года). Есть несколько ее модификаций: Rev 1 поддерживает память до 2666 МГц, а Rev 2 — до 3200 МГц (это важно). В плату можно установить стик М2 NVMe безо всяких переходников или 6 таких стиков с переходниками.
Разумный максимум памяти для SuperMicro H11DSi составляет 16х64=1024 ГБ, а модули 16/3200 в Европе стоят около €100 (в Москве, по данным regard.ru, их цена составляет примерно 15000 рублей). Модули на 32 и 64 ГБ стоят пропорционально дороже: €200 (30000 рублей) и €400 (65000 рублей). Более медленная память на 2133 МГц стоит в два раза дешевле: примерно €50 евро на eBay и Авито.
Процессор у нас старый, еще первого поколения (32 ядра на 64 потока, 2.0 ГГц базовой частоты с турбо до 3 ГГц). Такие стоят €250 на eBay из Китая и €350 в Европе с доставкой за пару дней уже с VAT. TDP процессора составляет 180 Вт, что еще позволяет эксплуатировать его в ЦОД с одноюнитовыми корпусами и блоками питания на 500 – 600 Вт. Если TDP будет чуть выше, придется ставить корпус на 2U и активные радиаторы.
Приступаем к проверке
Давайте посмотрим, что получится, если в нашу плату установить 1, 2, 4 или 8 модулей памяти. Что будет, если установить второй процессор? Память для тестов мы взяли старую: одноранговые планки на 8 ГБ (2133 МГц) и чуть более новые двухранговые на 16 ГБ (2666 МГц). Модули на 3200 МГц наш процессор не тянет, поэтому использовать их придется с максимальной для EPYC 7551 частотой в 2666 МГц.
Тестировать будем на скорую руку с помощью Passmark и Linpak Extreme в режиме замера производительности, что довольно точно отражает производительность системы и ее стабильность.
Тест №1: 1 процессор, 8 модулей
Система показывает 181 Гфлопс на коротком тесте и около 19000 единиц Passmark: примерно на уровне современных i9-10900 и несколько больше чем у i9-9900K с 8 ядрами и 4 ГГц частоты. Неплохо для процессора 2017 года, который можно купить за €250.
Тест №2: 1 процессор, 4 модуля на 2133 МГц
Видно, что результаты странные: нам пришлось их перепроверить, но цифры во всех итерациях были одинаковыми. Linpak Extreme падение производительности процессора на 5% и производительности памяти на 10%, а синтетика Passmark дала 27500 — где-то на уровне Xeon Gold с 22 ядрами.
Тест №3: 1 процессор, 4 модуля на 2666 МГц
Немного увеличив частоту памяти, мы получили 200 Гфлопс и 29809 единиц в Passmark. Память работает на 10% быстрее, тест быстрее на 25%. Неплохо.
Тест №4: 1 процессор, 2 модуля на 2133 МГц
Процессор показывает результаты чуть хуже чем с 4 модулями, но производительность памяти сильно деградировала (на 30%).
Тест №5: 1 процессор, 1 модуль на 2133 МГц
Я было подумал, не зависла ли машина под Linpak Extreme, но нет, просто она она еле шевелилась. Это явно аварийный режим работы — не надо так делать.
Тест №6: 2 процессора, 8 модулей памяти (по 4 на процессор)
Два процессора работают быстрее чем один, но не кратно: 260 Гфлопс и 50000 в Passmark — это отлично за €700 Евро. Для достижения подобного результата на Intel потребуются два новеньких Xeon Gold 6242R по €3000 за каждый.
Тест №7: 2 процессора, 4 модуля памяти (по 2 на процессор)
Системе поплохело: мы сходу получили падение производительности на 15 – 20%. Не надо так.
Тест №8: 2 процессора, 2 модуля памяти (по 1 на процессор)
Не надо так, грустно смотреть.
Финальный тест: 2 процессора и полностью забитые модули
Система с шестнадцатью модулями памяти обеспечивает максимальную производительность: синтетические тесты в Passmark дают результат на 10% выше чем с восемью модулями, а Linpak Extreme показывает прирост на 40% — 370 Гфлопс против 260 Гфлопс. Ровно в два раза быстрее чем 1 процессор показал с 8 модулями памяти.
Сводные таблицы
Показатель |
1 CPU / 8 модулей |
1 CPU / 4 модуля 2133 |
1 CPU / 4 модуля 2666 |
1 CPU / 2 модуля 2133 |
1 CPU / 1 модуль 2133 |
Memory Mark |
2261 |
2031 |
2398 |
1501 |
1324 |
CPU Mark |
19092 |
27513 |
29809 |
27681 |
18955 |
LINPACK Average |
176,8 |
169,9 |
198,7 |
165,5 |
28,2 |
Показатель |
2 CPU / 8 модулей |
2 CPU / 4 модуля |
2 CPU / 2 модуля |
2 CPU / 16 модулей |
Memory Mark |
2153 |
1526 |
1447 |
2344 |
CPU Mark |
50638 |
46261 |
32977 |
54819 |
LINPACK Average |
261,1 |
226,6 |
77 |
366,6 |
Итоги
Результаты получились немного неожиданными. Выяснилось, что меньше 4 модулей памяти на процессор в плату устанавливать не стоит, а 1 модуль ставить нельзя, даже если очень хочется. Разница в скорости памяти серьезно сказывается на производительности EPYC — не экономьте. Если не хотите сильно пожалеть, ставьте самые быстрые модули из тех, которые можно купить. Внимательно следите, чтобы материнская плата поддерживала высокие частоты (старые модели могут не потянуть 3000 МГц и выше).
Использование подобной техники позволяет HOSTKEY предлагать клиентам высокопроизводительные выделенные серверы на базе AMD EPYC примерно за €240 в месяц (с оплатой в рублях с НДС российской компании или в евро — компании в Нидерландах). Если хотите разместить заказ, обратитесь к консультанту на сайте и скажите «Я С ХАБРА» — получите дополнительную скидку.
Мы обязательно проведем тесты еще раз и сравним результаты для машин из свежего ассортимента с AMD EPYC и старших Ryzen 9 5950 (16 ядер на 4 ГГц), а также с Intel Xeon Gold.
Комментарии (28)
Pochemuk
14.06.2022 09:21+1Синтетические тесты в данном случае не показатель.
Следовало бы производить их «под нагрузкой». Запустить требовательное к памяти приложение, например, SQL-сервер с активной работой с БД, немного превышающей доступный объем памяти, и посмотреть, как скорость свопинга зависит от объема и скорости подсистемы памяти.dolfinus
14.06.2022 09:27+3Разве скорость swap не зависит целиком и полностью от дисковой подсистемы?
13werwolf13
14.06.2022 10:22не полностью, скорость работы со swap сильно пляшет от "занятости" процессора
но в целом да, больше от дисковой подсистемы (если swap на диске)
ULP
14.06.2022 16:26однако странная нагрузка. Если хотите - выдадим сервер, попробуете и опубликуем результаты. Готовы заняться?
starik-2005
14.06.2022 12:16+2Неожиданные результаты? Правда? Типа один канал работает хуже двух, два хуже четырех, четыре хуже восьми? Серьезно?
ULP
14.06.2022 16:28понятно что 8 лучше чем один. вопрос насколько лучше или хуже. Например если использовать Xeon E5-26xx то в целом разница была не столь существенная как там память стоит. А тут разница радикальная, что мы наглядно и показываем.
starik-2005
14.06.2022 16:34-1Т.е. то, что у Е5-26хх 4 канала памяти, а у эпика их восемь - это не говорит о том, что эпик будет тупо в 2 раза производительнее в части памяти? Ну что такое "каналы памяти"? Ведь просто все, да? Вот есть планка памяти, у нее есть канал к процу, отдельный и независимый. Двухканальная память с интерливом будет работать при последовательном чтении записи в два раза быстрее одноканальной при прочих равных. Четыре канала будут работать в два раза быстрее, чем два канала. Ну и для этого конкретного Е5 это предел, т.к. там четыре канала памяти. А для этого вот конкретного эпика это не предел, т.к. там восемь каналов, т.е. со всех восьми планок эпик может одновременно читать. И если убрать интерлив, то есть шанс еще увеличить производительность в тестах, т.к. целых восемь ядер можно будет загрузить работой с памятью, которая не будет блокироваться разными процессами. Ну и два сокета - это уже 16-ть каналов, что позволит 16-ти ядрам работать с памятью с нативной скоростью.
Америку открыл? Да ладно...
ULP
14.06.2022 16:50+2это теория, а практика она выше с картинками. Если Вы это знаете и вероятно пробовали, то не значит что остальным это не интересно.
Например после тестов мы убрали возможность заказа таких эпиков с меньше чем 128 памяти, надо минимум 8 планок что бы он работал сносно.
Adjuster2004
14.06.2022 20:03-1"Не надо так."
Может стоит найти замену этой фразе?
Да и курс евро к рублю можно поближе к рыночному указать.
oller
14.06.2022 21:59-1цитата: В плату можно установить стик М2 NVMe безо всяких переходников или 6 таких стиков с переходниками.
Ответ
Версия PCI Express PCIe 3.0 x128
5 слотов pci = через переходники 10шт или 20шт m2 с 40 или 80 pci линиями (это через указанные вами Supermicro, которые не встречал с одной дыркой, 2 или 4 только)
По одному не видел чтобы ставили, также для м2 доп охлаждение накручивать, прям очень сильное нужно.ULP
15.06.2022 09:08М.2 стики практически не греются в серверах - они хорошо продуваются турбинами охлаждения и в самом ЦОД хороший температурный режим. Мы обычно используем Samsung 970 pro, в эксплуатации несколько сотен - никаких проблем с перегревом не наблюдаю многие годы.
С переходником проблема ставить, но 95% клиентов обходятся одним стиком нужного размера. Это не слишком актуальный вариант, хотя на складе всегда есть самые разные переходники и райзеры
edo1h
15.06.2022 09:26Мы обычно используем Samsung 970 pro
если не секрет, то почему? серверные pm963/983/9a3 стоят так же или даже дешевле.
ULP
15.06.2022 10:23когда мы их в массе закупали, в наличии были в основном они и цена получалась выгоднее. Сейчас цена примерно одинаковая, но были 970 pro быстрее при прочих равных.
Новые закупки пойдут уже в 980 pro и Samsung PM9A1, они почти близнецы-братья.
edo1h
15.06.2022 10:29я про pm9a3 — dc накопители. тот же хетцнер сейчас их ставит в конфиг с ryzen 5950 и eсс памятью.
ULP
15.06.2022 10:44в pm9a3 в них нет кэша и они в формате U.2, что не удобно и дороже. а так хорошие ссд, почему нет
edo1h
15.06.2022 10:50+1в pm9a3 в них нет кэша
вы про slc-кэширование? ну нет и нет, они и без кэша выдают больше 3 гигабайт в секунду на линейной записи и 200к iops на случайной. и да, они выдают это постоянно, а не пока кэш не заполнится.
и в формате U.2, что не удобно и дороже
удобно и не дороже )
но не во всех серверах поддерживается, да. мы уже несколько лет покупаем только сервера с бекплейнами, поддерживающими u.2
там, где не поддерживается, можно использовать переходники pcie-u.2и да, pm9a3 небольших объёмов (до 3.84 ТБ, кажется) есть и в m.2, но из-за ограничения мощности в 8 ватт, производительность на записи пониже. не критично, но при прочих равных я выбираю u.2
oller
16.06.2022 07:33Буферная памятьSamsung 512MB Low Power DDR4 SDRAM
Это самая уязвимая точка производительности PRO у Samsung, при постоянной нагрузке, а не просто виртуалку загрузить, это может стать проблемой как минимум
65* и 45* разные вещи для техники - это мои личные замеры в датацентре, в корпусе supermicro 4U, пришлось добавить еще кулер и получить около 45* и это для 2х стиков!
один стик или 10к это решает задача-бюджет-история, если вы начали с терабайта то вам как бы желательно уже 2 для рейда иметь, а если решили расшириться? то еще как минимум 2, базы данных имеют свойство расти, иногда лавинообразно
По хорошему на U2 переходить, но курпуса U2 стоят крайне недешево
edo1h
16.06.2022 08:11Это самая уязвимая точка производительности PRO у Samsung, при постоянной нагрузке, а не просто виртуалку загрузить, это может стать проблемой как минимум
можете пояснить?
я всегда думал, что малый размер буфера плох для случайного доступа (таблица трансляции не помещается в ram и приходится постоянно подгружать её из nand).
ЕМНИП у самсунгов первый безбуферник — 980 (без pro), до этого стандартом было гигабайт памяти на терабайт объёма.65 и 45 разные вещи для техники — это мои личные замеры в датацентре, в корпусе supermicro 4U, пришлось добавить еще кулер и получить около 45* и это для 2х стиков!
65℃ для контроллера ssd «ни о чём», троттлинг начинается при гораздо более высоких температурах.
screwer
Очень интересно увидеть результаты geekbench под Линукс, с разблюдовкой набранных очков в разных задачах.
ЗЫ: под Линукс - потому что результаты с Вин версией этого теста сильно разнятся.