Целью данного исследования было сравнение процессоров Intel и AMD для работы 1С в виртуальной среде Hyper-V.

Производительность учетной системы 1С - практически ключевое требование для любого бизнеса. Идеальным вариантом было бы выделить отдельный сервер для работы с 1С, но на практике это не всегда возможно. Чаще всего сервер (host) используется для размещения виртуальных машин, которые потребляют процессорную мощность.

Важно! 

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


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

Важно!

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

Для какой ИТ - инфраструктуры выбираем процессор?

Как правило, в малом и среднем бизнесе серверная инфраструктура выглядит следующим образом:

  • основной сервер (host) на котором разворачивается гипервизор и поднимаются виртуальные машины;

  • учетная система 1С работает в клиент - серверном варианте.

Пример целевой архитектуры
Пример целевой архитектуры

Методика тестирования

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

  • Проводим замеры производительности 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С)

    http://www.gilev.ru/tpc1cgilv/

  • Многопоточное тестирование производительности сервера 1С - СУБД

    https://infostart.ru/1c/tools/173394/

  • Типовое нагрузочное тестирование 1С по методологии APDEX:

    для проведения замеров используем типовое решение 1С:ERP с тест-центром. 

Планируемый результат

Итогом проведенных замеров сделаем вывод, какой из сравниваемых процессоров подходит для нашей ИТ - инфраструктуры для наибольшей производительности учетной системы 1С с учетом динамической нагрузки.

Сравнение процессоров AMD и Intel на практике

Рассмотрим на практике решение задачи по выбору подходящего процессора между :

  • AMD EPYC 7543

Базовая частота: 2.8 Ghz

Количество ядер: 32

Количество потоков: 64 

  • Intel Xeon Gold 6150 х 2

Базовая частота:  2.7 Ghz

Количество ядер: 18

Количество потоков: 36

Тестовый стенд представляет из себя носитель виртуальных машин (host) для двух процессоров, его описание:

  • CPU: 16 ядер

  • Операционная система: Windows Server 2019 Std

  • Оперативная память: 96 гб

  • СУБД: MSSQL 2019 Enterprise

  • Виртуализация Hyper-V

Замеры на тестовых стендах

Согласно нашей методике замеры производительности 1С осуществляем в четырех ситуациях:

  1. Тест 1 - загруженность процессора хоста от ВМ составляет 0%

  2. Тест 2 - загруженность процессора хоста от ВМ составляет 20%

  3. Тест 3 - загруженность процессора хоста от ВМ составляет 35%

  4. Тест 4 - загруженность процессора хоста от ВМ составляет 50%

Пример общей схемы тестирования
Пример общей схемы тестирования

Тест Гилева - однопоточный (ТРС - 1С)

Результаты нагрузочного тестирования ТРС - 1С
Результаты нагрузочного тестирования ТРС - 1С

Общепринятая шкала нагрузочного теста Гилева следующая:

Целевые показатели Гилева
Целевые показатели Гилева
Разница результатов производительности в %
Разница результатов производительности в %

Промежуточные результаты тестирования:

  1. Отчетливо видно, что процессор AMD EPYC 7543 показал лучшие результаты на всех этапах тестирования.

  2. При увеличении загрузки процессора с 0 до 50% снижение производительности 1С по результатам теста Гилева составило 25% для процессора AMD и 65% для процессора Intel.

  3. Исходя из опыта эксплуатации серверной инфраструктуры, можно утверждать, что средняя загруженность СPU в хосте составляет 35%. Из теста отчетливо видно, что при целевой загруженности СPU производительность APYC выше на 53% по сравнению с Xeon Gold.

Многопоточное тестирование производительности сервера 1С - СУБД

Работа теста заключается в создании множества фоновых сеансов, которые выполняют одинаковые действия. Например, создание элементов справочников или запись наборов записей регистров. Он позволяет оценить, насколько "производительна" связка 1С и СУБД.

Проведя замеры по общей методике с увеличением нагрузки на CPU хоста, получили следующие результаты:

Результаты проведения многопоточного теста
Результаты проведения многопоточного теста

Таблица наглядно отражает, что результаты производительности AMD EPYC 7543 выше, чем у Intel Xeon Gold 6150 на всех стадиях тестирования.

Наиболее эффективно AMD показывает себя при загруженности CPU Хоста 35%. Исходя из опыта эксплуатации и поддержки серверных решений, такая загрузка СPU является среднестатистической нормой и позволяет выдерживать пиковые всплески активности пользователей в периоды сдачи отчетности и закрытия месяца.

Предел увеличения потоков
Предел увеличения потоков

Экспериментальным путем установлено, что потеря производительности процессоров происходит при увеличении количества потоков более 16. Причем потеря производительности характерна для обоих процессоров.

Типовое нагрузочное тестирование 1С по методологии APDEX

Данный тест является типовым и доступен пользователям 1С:ИТС. Тест встроен в конфигурацию ERP и имеет преднастроенные сценарии работы пользователей. Тестирование выполняем по общей методике аналогично предыдущим замерам.

Методика APDEX позволяет интерпретировать полученные числовые значения коэффициента в терминах качественных оценок. Шкала APDEX содержит следующие диапазоны значений:

 Интерпретация результатов APDEX с ИТС
 Интерпретация результатов APDEX с ИТС

Результаты проведения нагрузочного испытания с динамическим увеличением загруженности СPU:

Результаты замеров APDEX
Результаты замеров APDEX

Как видно из результатов проведённых замеров, EPYC 7543 показал лучший результат по сравнению с Xeon Gold 6150. 

Важно отметить, что при увеличении нагрузки на CPU до 35% снижение производительности у AMD почти отсутствует.

Наблюдение в ходе теста

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

Загрузка ядер EPYC
Загрузка ядер EPYC
Загрузка ядер Gold
Загрузка ядер Gold

Итоговый результат

Сделав замеры производительности 1С с помощью трёх разных тестов, чтобы исключить погрешности и предвзятость, можно сделать следующие выводы:

  • Процессор AMD EPYC 7543 показал лучший результат по сравнению с Intel Xeon Gold 6150 во всех испытаниях.

  • Важно отметить, что результаты при загрузке процессора на 35% имеют наибольшее расхождение в пользу EPYC.

  • Оба процессора показали приемлемые результаты в тестах Гилева и типовом тесте 1С APDEX.

Исходя из полученных результатов, можно сделать вывод, что при проектировании ИТ-инфраструктуры и выборе оборудования важно проводить предварительные тестовые испытания, которые минимизируют риск ошибок проектирования.

Комментарии (20)


  1. ainu
    25.04.2024 09:35
    +3

    Процессор с 64 потоками судя по результатам, более эффективен, чем процессор с 36. Неожиданно.


    1. melodictsk
      25.04.2024 09:35
      +1

      Так интела то 2 шт. По сути у интела ядер больше на 8 шт.


      1. oller
        25.04.2024 09:35

        https://www.cpubenchmark.net/compare/4404vs3046.2/AMD-EPYC-7543-vs-[Dual-CPU]-Intel-Xeon-Gold-6150

        Очень наглядно почему и как.

        А зная 1с - смотреть нужно на скорость однопоточных операций


        1. Fragster
          25.04.2024 09:35

          А зная 1с - смотреть нужно на скорость однопоточных операций

          Это только для однопоточных операций и имеет смысл (тест Гилева, например). При увеличении количества пользователей 1с неплохо масштабируется.


  1. DustCn
    25.04.2024 09:35
    +5

    Взять интел 17-го года выпуска, снятый с поддержки в 23-ем, взять АМД 21-го года выпуска с почти в два раза большим количеством ядер и придти к выводу что новый процессор лучше старого. Успех.


    1. Fragster
      25.04.2024 09:35

      Ну может взяли из того, что в наличии было. Но я бы, конечно, исходил из условного "одинакового бюджета на сервер".


  1. Grigory_Otrepyev
    25.04.2024 09:35

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

    • Проводим замеры производительности 1С без сторонней нагрузки на host.

    биос не настраиваем, минирут не крутим, оптимизацию не крутим, получаем приборы триста


    1. Fgen
      25.04.2024 09:35

      биос не настраиваем, минирут не крутим, оптимизацию не крутим, получаем приборы триста

      Добрый день. Не могли бы вы привести примеры дополнительных настроек? Или где об этом лучше почитать?


  1. starik-2005
    25.04.2024 09:35

    1. У эпика кеша L3 256 против в 10 раз меньшего у интела. Даже с двумя сокетами интела - в 5 раз. Вполне объясняет просадку однопоточного теста.

    2. Очень сильно зависит от того, как память вставлена. На один сокет эпика можно вставить память так, чтобы она работала в разное количество каналов, а у интыля для такого же количества каналов нужно больше памяти в 2 раза (планок). Вполне объясняет просадку в многопоточном тесте.

    Т..е надо сначала было бы гикбенч погонять, потом mlc, а потом уже рисовать таблицы, в которых явно не все цифры согласуются с их положением (ну и лишняя единица перед "0" в последнем столбце последней таблицы замеров - АПДЕКС).

    Так что тема скоростей не раскрыта.


    1. gangz
      25.04.2024 09:35

      Если внимательно посмотреть конфиги, то бюджеты этих сборок будут примерно одинаковыми. Не стоит забывать, что сервер под 1С - это для бизнеса, а бизнес считает деньги)


      1. starik-2005
        25.04.2024 09:35

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


        1. gangz
          25.04.2024 09:35

          Ну, давай по порядку. Честно говоря, не увидел откровенной продажи этих конфигов в статье. Насколько я понял, смысл статьи - внести свою лепту в скепсис относительно компании AMD. Моя компания тоже занимается сдачей в аренду физиков и виртуалок, в основном, под 1С. В кейсе, который я решал несколько недель назад - нужен был сервер под виртуализацию и 1С, задача - собрать максимально быстрый физик из доступного на рынке, чтобы 1С работала быстро. Я порекомендовал сервер на базе AMD EPYC 72F3, что привело заказчика в ступор, т.к. он был убеждён, что АМД всегда медленнее и горячее, что было актуально лет 10 назад. Но в данном, конкретном, случае он был идеальным выбором. Скепсис и предрассудки всегда возникают от недостатка информации. Поэтому огромная благодарность автору за подробное тестирование и ещё один аргумент в защиту предложенных решений.


          1. starik-2005
            25.04.2024 09:35

            Ну в принципе про сравнение автор пишет прям вот сразу:

            Целью данного исследования было сравнение процессоров Intel и AMD для работы 1С в виртуальной среде Hyper-V.

            Мне самому АМД вполне себе заходит, хотя сейчас и на интеле (13600кф).

            Просто, как мне показалось, автор подошел к тестированию не совсем правильно. Во-первых, нужно было бы протестировать пропускную способность памяти. Он же просто написал, что на сервере 96 гигов. И если говорить о максимальной пропускной способности памяти эпика, то это 8 модулей памяти (ибо 8 каналов х 3200 МТ), а если говорить о максимальной пропускной способности памяти интела, то это 2х6 модулей (2 сокета по 6 каналов х 2666 МТ). И если в формулу интела 96 гигов раскладываются на 12 модулей по 8 гигов, то на эпик оное никак не ложится вообще. А было бы весьма интересно сравнить скорость работы в многопотоке при аналогичной пропускной способности памяти.

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

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

            ЗЫ: У меня на АМД с ядром zen3 и памятью на ДДР4 3600 МТ однопоточный тест Гилева в файловой базе на Linux выдавал 151 попугай. При том на интеле 13500кф с памятьб ДДР5 6400 МТ в файловой на Linux он выдает 200 попугаев. У коллег на 7950ХТ с аналогичной памятью он тоже выдает 200 попугаев в файловой на Linux, при том больше сотни в серверной (MS SQL на винде).

            Но это не серверные процессоры. Сейчас есть 7950XT3D, который, предположу, будет существенно быстрее. Но все-равно это упирается в скорость работы с памятью, которая ограничена двумя каналами. Серверный проц от интела с 12-ю каналами на два сокета при большом количестве пользователей будет работать в любом случае быстрее, не говоря уже об АМД с 16-ю каналами на два сокета, хотя даже 8 каналов - это уже хорошо.


            1. gangz
              25.04.2024 09:35

              Тут не соглашусь.

              Автор указал, что сравнивает процессоры AMD и Intel для работы с 1С в Hyper-V.

              Про сравнение скорости работы памяти или кэша или ещё чего-то речи не шло.

              У автора была конкретная задача и он весьма ответственно подошёл к её решению, 3 варианта тестов, вместо "обычного" Гилёва прогнали, попугаев получили, каеф.

              У меня есть как минимум 2 инсталляции 1С, где сервер, на котором на 20% меньше попугаев Гилёва, работает быстрее в реальных задачах. Тупо садились с коллегой с секундомером и засекали время выполнения отчёта.

              А скорость работы памяти влияет на скорость работы 1С не так значительно, как базовая частота процессора и скорость дисковой подсистемы, ибо многопоточность и оптимизация чтения/записи на диск - не конёк 1С))

              Таким образом, какой-нибудь древний 2667v2 с NVMe будет не сильно уступать в производительности 1С тому же Gold 6150, если вообще будет. При этом, мы прекрасно понимаем, что в других задачах Gold будет раза в 2-3 быстрее.


              1. starik-2005
                25.04.2024 09:35

                Многопоточность в 1С - это количество пользователей. 1 пользователь = 1 поток. 100 пользователей - 100 потоков. Поэтому и рекомендует 1С ставить параллелизм в единицу, т.к. от него большого толку - при средней нагрузке на сервер и сотне пользователей - нет.

                Но память на многопоточность влияет весьма существенно, т.к. позволяет разным пользователям использовать разные каналы. Два канала ограничивают достаточно неплохо кушающую память 1С в режиме работы большого количества пользователей существенно. И даже 4-канальные ксеоны с единицкй в первой цифре номера из-за этих каналов нехило так обгоняют обычные потребительские процессору с двумя каналами в тестах СУБД.

                Ну и т.к. автор не раскрыл тему того, на сколько у него быстро работает память на АМД, ибо планок по 12 гигабайт я в природе не видел, то не ясно, на сколько он вообще из-за памяти теряет в производительности своего эпика.


                1. gangz
                  25.04.2024 09:35

                  Предлагаю запилить статью о влиянии канальности памяти на быстродействие 1С)) Я таких не видел) Возьми одну и ту же платформу и проведи тесты с максимальным количеством каналов и с 1 каналом и дай людям результаты)

                  Пока что, мой опыт не подтверждает твоих утверждений, но и я целенаправленно данный вопрос не изучал.

                  Но автор и не говорил ничего про память, только сравнение процессорной производительности под определённую задачу и ничего более.


  1. BBQ39
    25.04.2024 09:35

    Intel Xeon Platinum 8470 LGA 4677, 52 Core x 2 ГГц, L3 - 105 МБ, 8хDDR5-4800 МГц,

    обделал бы AMD в пух и прах! :)


    1. starik-2005
      25.04.2024 09:35

      Который АМД конкретно?

      Вообще, 3,8ГГц в турбо - это хорошо для серверных процов для 1С. 8 каналов - тоже классно. Но я думаю, что у него нет шансов против AMD EPYC™ 9554P, у которого 12 каналов памяти, в полтора раза выше базовая частота, такая же частота в бусте и больше ядер. И даже кеша L3 у него в два с половиной раза больше. У интыля никаких шансов вообще в 1С.

      Про цену я вообще молчу...


  1. steaze
    25.04.2024 09:35

    Я обычно за амд, но тут, на мой взгляд, некорректное сравнение. Надо сравнивать равные по стоимости процессоры, тут два проца по 70 и один за 175 (средние цены из инета). То есть для автора разница в 35к несущественна.


  1. gindos
    25.04.2024 09:35

    В таблице "Результаты проведения нагрузочного испытания с динамическим увеличением загруженности СPU" в столбце "APDEX нагрузка на CPU 50%" у Intel-а странный результат (да и название самого процессора странное...) возможно единица впереди лишняя будет