Целью данного исследования было сравнение процессоров Intel и AMD для работы 1С в виртуальной среде Hyper-V.
Производительность учетной системы 1С - практически ключевое требование для любого бизнеса. Идеальным вариантом было бы выделить отдельный сервер для работы с 1С, но на практике это не всегда возможно. Чаще всего сервер (host) используется для размещения виртуальных машин, которые потребляют процессорную мощность.
Важно! Не стоит забывать, что живая миграция виртуальных машин удобна при использовании идентичных процессоров. Конечно, режим совместимости процессоров поможет разрешить ситуацию, но потребует внимательности и дополнительной настройки. |
В связи с этим возникает вопрос о выборе процессора для сервера, способного обеспечить наилучшую производительность 1С при увеличении нагрузки от виртуальных машин на хосте.
Важно! Необходимо учесть динамическую нагрузку на хост, которая генерируется работой пользователей на виртуальных машинах. |
Для какой ИТ - инфраструктуры выбираем процессор?
Как правило, в малом и среднем бизнесе серверная инфраструктура выглядит следующим образом:
основной сервер (host) на котором разворачивается гипервизор и поднимаются виртуальные машины;
учетная система 1С работает в клиент - серверном варианте.
![Пример целевой архитектуры Пример целевой архитектуры](https://habrastorage.org/getpro/habr/upload_files/99f/930/d5d/99f930d5d69d08c0a8d7b157fb773b98.png)
Методика тестирования
При проведении тестирования использовали общедоступные тесты. Подход к тестированию выглядит следующим образом:
Проводим замеры производительности 1С без сторонней нагрузки на host.
Моделируем нагрузку на процессор, имитируя работу виртуальных машин.
Проводим замер производительности 1С.
Для исключения погрешности количество замеров проводим по 3 раза после изменения условий.
Моделирование нагрузки
Нагрузку на виртуальных машинах создаем с помощью синтетического теста.
Такой тест моделирует выполнение множества разных задач. В данном случае нас не интересует сам результат теста, важно загрузить процессор.
нагрузку на CPU создаем последовательно 20, 35, 50 % от ВМ
для генерации нагрузки используем “CPU Stress Test” Online: https://cpux.net/cpu-stress-test-online
Замер производительности 1С
Производительность учётной системы будем измерять с использованием трёх различных тестов. Каждый из тестов запускаем по три раза при загрузке CPU на 20, 35 и 50%.
Для проведения замеров используем общедоступные тесты:
Тест Гилева - однопоточный (ТРС-1С)
Многопоточное тестирование производительности сервера 1С - СУБД
Типовое нагрузочное тестирование 1С по методологии APDEX:
для проведения замеров используем типовое решение 1С:ERP с тест-центром.
Планируемый результат
Итогом проведенных замеров сделаем вывод, какой из сравниваемых процессоров подходит для нашей ИТ - инфраструктуры для наибольшей производительности учетной системы 1С с учетом динамической нагрузки.
Сравнение процессоров AMD и Intel на практике
Рассмотрим на практике решение задачи по выбору подходящего процессора между :
AMD EPYC 7543
Базовая частота: 2.8 Ghz
Количество ядер: 32
Количество потоков: 64
RAM: DDR4 2666 МГц
Intel Xeon Gold 6150 (2 штуки)
Базовая частота: 2.7 Ghz
Количество ядер: 18+18=36
Количество потоков: 36+36=72
RAM: DDR4 2666 МГц
Тестовый стенд представляет из себя носитель виртуальных машин (host) для двух процессоров, его описание:
CPU: 16 ядер
Операционная система: Windows Server 2019 Std
Оперативная память: 96 гб
СУБД: MSSQL 2019 Enterprise
Виртуализация Hyper-V
Замеры на тестовых стендах
Согласно нашей методике замеры производительности 1С осуществляем в четырех ситуациях:
Тест 1 - загруженность процессора хоста от ВМ составляет 0%
Тест 2 - загруженность процессора хоста от ВМ составляет 20%
Тест 3 - загруженность процессора хоста от ВМ составляет 35%
Тест 4 - загруженность процессора хоста от ВМ составляет 50%
![Пример общей схемы тестирования Пример общей схемы тестирования](https://habrastorage.org/getpro/habr/upload_files/3d6/dca/712/3d6dca7125efc2bdc40844bbdc340637.jpg)
Тест Гилева - однопоточный (ТРС - 1С)
![Результаты нагрузочного тестирования ТРС - 1С Результаты нагрузочного тестирования ТРС - 1С](https://habrastorage.org/getpro/habr/upload_files/9f9/8af/d52/9f98afd52cbd97e7e18c4fd6a0174a3b.png)
Общепринятая шкала нагрузочного теста Гилева следующая:
![Целевые показатели Гилева Целевые показатели Гилева](https://habrastorage.org/getpro/habr/upload_files/a2a/5b7/86a/a2a5b786ad5c302d6bc8296b4b9b564d.png)
![Разница результатов производительности в % Разница результатов производительности в %](https://habrastorage.org/getpro/habr/upload_files/a66/53f/025/a6653f02546ff0ee811ef20e584b6347.png)
Промежуточные результаты тестирования:
Отчетливо видно, что процессор AMD EPYC 7543 показал лучшие результаты на всех этапах тестирования.
При увеличении загрузки процессора с 0 до 50% снижение производительности 1С по результатам теста Гилева составило 25% для процессора AMD и 65% для процессора Intel.
Исходя из опыта эксплуатации серверной инфраструктуры, можно утверждать, что средняя загруженность СPU в хосте составляет 35%. Из теста отчетливо видно, что при целевой загруженности СPU производительность APYC выше на 53% по сравнению с Xeon Gold.
Многопоточное тестирование производительности сервера 1С - СУБД
Работа теста заключается в создании множества фоновых сеансов, которые выполняют одинаковые действия. Например, создание элементов справочников или запись наборов записей регистров. Он позволяет оценить, насколько "производительна" связка 1С и СУБД.
Проведя замеры по общей методике с увеличением нагрузки на CPU хоста, получили следующие результаты:
![Результаты проведения многопоточного теста Результаты проведения многопоточного теста](https://habrastorage.org/getpro/habr/upload_files/ef9/1aa/d21/ef91aad212be07fc322fbf6d12014ae4.png)
Таблица наглядно отражает, что результаты производительности AMD EPYC 7543 выше, чем у Intel Xeon Gold 6150 на всех стадиях тестирования.
Наиболее эффективно AMD показывает себя при загруженности CPU Хоста 35%. Исходя из опыта эксплуатации и поддержки серверных решений, такая загрузка СPU является среднестатистической нормой и позволяет выдерживать пиковые всплески активности пользователей в периоды сдачи отчетности и закрытия месяца.
![Предел увеличения потоков Предел увеличения потоков](https://habrastorage.org/getpro/habr/upload_files/1bd/1fd/c10/1bd1fdc10e480ed7498ecd14a51e521b.png)
Экспериментальным путем установлено, что потеря производительности процессоров происходит при увеличении количества потоков более 16. Причем потеря производительности характерна для обоих процессоров.
Типовое нагрузочное тестирование 1С по методологии APDEX
Данный тест является типовым и доступен пользователям 1С:ИТС. Тест встроен в конфигурацию ERP и имеет преднастроенные сценарии работы пользователей. Тестирование выполняем по общей методике аналогично предыдущим замерам.
Методика APDEX позволяет интерпретировать полученные числовые значения коэффициента в терминах качественных оценок. Шкала APDEX содержит следующие диапазоны значений:
![Интерпретация результатов APDEX с ИТС Интерпретация результатов APDEX с ИТС](https://habrastorage.org/getpro/habr/upload_files/349/224/64b/34922464bb185602e050d19666ca3e8e.png)
Результаты проведения нагрузочного испытания с динамическим увеличением загруженности СPU:
![Результаты замеров APDEX Результаты замеров APDEX](https://habrastorage.org/getpro/habr/upload_files/56c/f70/d5f/56cf70d5f3af644e8cf197aa206bd0b2.png)
Как видно из результатов проведённых замеров, EPYC 7543 показал лучший результат по сравнению с Xeon Gold 6150.
Важно отметить, что при увеличении нагрузки на CPU до 35% снижение производительности у AMD почти отсутствует.
Наблюдение в ходе теста
Во время тестирования было обнаружено, что операционная система Windows более эффективно использует ядра при работе с Epyc, обеспечивая постоянное наличие свободного ядра.
![Загрузка ядер EPYC Загрузка ядер EPYC](https://habrastorage.org/getpro/habr/upload_files/3ae/113/933/3ae11393301e7c4e425cc02efb56fe67.png)
![Загрузка ядер Gold Загрузка ядер Gold](https://habrastorage.org/getpro/habr/upload_files/97d/4df/34e/97d4df34e2021dd81758ba8bad1e8648.png)
Итоговый результат
Сделав замеры производительности 1С с помощью трёх разных тестов, чтобы исключить погрешности и предвзятость, можно сделать следующие выводы:
Процессор AMD EPYC 7543 показал лучший результат по сравнению с Intel Xeon Gold 6150 во всех испытаниях.
Важно отметить, что результаты при загрузке процессора на 35% имеют наибольшее расхождение в пользу EPYC.
Оба процессора показали приемлемые результаты в тестах Гилева и типовом тесте 1С APDEX.
Исходя из полученных результатов, можно сделать вывод, что при проектировании ИТ-инфраструктуры и выборе оборудования важно проводить предварительные тестовые испытания, которые минимизируют риск ошибок проектирования.