Виртуализация стала неотъемлемой частью работы с серверами, и многие компании переходят на облачные сервисы, чтобы уменьшить затраты на приобретение собственного оборудования. Поставщики облачных сервисов используют разные гипервизоры, и в данной статье мы сравним два из них: Hyper-V от Microsoft и Proxmox VE на базе Debian от Proxmox Server Solutions GmbH. Мы также проведем нагрузочное тестирование сервера 1С:Предприятие, чтобы помочь вам выбрать, на каком гипервизоре лучше разместить свои сервисы 1С.

Тестовый стенд

  1. Аппаратный сервер на базе Supermicro:

    Платформа: Supermicro SYS-1029-WTRT

    CPU: Intel Xeon Gold 6134 Processor 24.75M Cache, 3.20 GHz

    RAM: 128 ГБ DDR4

    DISK: SSD Intel DC S3500 800 ГБ x2, Intel DC S3610 200 ГБ x2

  2. Виртуальная среда:

    VM (PostgreSQL Server):

    CPU = 2x12 Core

    RAM = 65 Gb

    DISK = 200 Gb SSD

    VM (Сервер 1С):

    CPU = 8 Core

    RAM = 40 Gb

    DISK = 128 Gb SSD

  3. Программная среда:

    Гипервизоры: Hyper-V, Proxmox VE 7.1-2

    Гостевые ОС: Windows Server 2019 Standard (для сервера 1С), Debian 10.12.0-amd64 (для СУБД)

    СУБД: PostgreSQL 13 версия для 1С

    Платформа 1С: 8.3.21.1393

    Конфигурация 1С: 1С:ERP Управление предприятием 2

Подход к тестированию

Основной подход к тестированию заключается в том, что мы создали стенды на одинаковых аппаратных ресурсах для гипервизоров Hyper-V и Proxmox VE. Мы разместили Сервер 1С и Сервер СУБД на разных виртуальных машинах. Затем мы провели 5 тестов APDEX с числом пользователей 10, и 5 тестов Гилева, чтобы оценить производительность каждого гипервизора.

Перед тестированием

APDEX

Настройка перед тестированием теста включала использование инструмента 1C:КИП (APDEX). Мы отредактировали базу клиентов для тестирования и выделили ключевые операции пользователей, такие как проведение поступлений, реализации и т.д.

Мы установили число пользователей на уровне 10. Стандартная методология APDEX использует прогрессивную шкалу от 0 до 1, где 1 - это замечательный результат, а 0 - неудовлетворительный. Целевое значение параметра производительности для каждой операции указывается в соответствии с методологией, и затем тест запускается на выполнение.

Однако в нашем исследовании мы не использовали целевые показатели. Вместо этого мы оценивали только конечные данные тестирования - время выполнения операции.

BIOS

Перед началом работы с носителем мы внесли изменения в BIOS. Для этого нам пришлось вручную настроить режим максимальной производительности в расширенных настройках CPU, выбрав опцию "Maximum Performance" в меню "Energy_perf_bias_cfg mode". Мы применили эти настройки для всех участников тестирования, включая настройки питания ОС, которые мы выбрали в режиме "Производительность".

Таким образом, мы достигли фиксированной частоты процессора в режиме Turbo Boost.

Конфигурация БД

PostgreSQL 13 for 1С требует более тонкой настройки, чем MSSQL. Если не провести эту настройку и использовать стандартные параметры, то производительность может значительно упасть. Для облегчения процесса корректировки значений мы рекомендуем использовать онлайн калькулятор PGTune. Все необходимые параметры находятся в файле postgresql.conf:

postgresql.conf
postgresql.conf

Результаты тестирования

APDEX

Результаты APDEX для Hyper-V, полученные на тестовом стенде EFSOL Oblako
Результаты APDEX для Hyper-V, полученные на тестовом стенде EFSOL Oblako
Результаты APDEX для Proxmox VE
Результаты APDEX для Proxmox VE

Тест Гилева

Hyper-V

Proxmox VE

Тест Гилева

TPC – 25,34
Макс. скорость 1 потока – 90 674 КБ/с

TPC – 22,14
Макс. скорость 1 потока – 87 450 КБ/с

Итоги

В нашем тесте мы получили лучшие показатели производительности 1С при использовании Hyper-V.

Когда дело касается выбора между гипервизорами, решение может зависеть от бюджета, наличия навыков настройки и обслуживания. Если у вас уже есть лицензия на Microsoft Windows Server, то лучше использовать Hyper-V, так как в среде Windows легче найти специалиста. Однако, если лицензия на Microsoft отсутствует и бюджет ограничен, то Proxmox VE может быть более предпочтительным выбором. Но стоит помнить, что если у вас нет готового специалиста по UNIX, то вам может потребоваться время и ресурсы на обучение или найм опытного специалиста.

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


  1. DaemonGloom
    21.04.2023 10:42

    Однако, если лицензия на Microsoft отсутствует и бюджет ограничен, то Proxmox VE может быть более предпочтительным выбором.

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


  1. panvartan
    21.04.2023 10:42

    Где значения bare metal ? Где vmware? Результаты низкие для использованного железа, lpc:localhost нужно для понимания причины таких результатов.


  1. Sysliks
    21.04.2023 10:42

    было бы более разумно сравнивать производительность Hyper-V и lxc контейнера в Proxmox, полная виртуализация ВМ с Postgres в отличии от виртуализации сервера 1С обычно не требуется, а разница в накладных расходах есть.


  1. nick-for-habr
    21.04.2023 10:42

    Увы, но виртуализация (любая) сильно душит 1С и СУБД.

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

    Занимаюсь поддержкой 1С, и уже не на одном месте работы приходиться доказывать одно и то же. Иногда ЛПР слушают - и проблема решается отказом от ВМ, иногда - они слушают голоса в голове 25-летних "сертифицированных профессионалов", и продолжают есть кактус.

    Запихнуть 1С в ВМ в целом можно для небольших инсталляций с "лёгкими" конфигурациями, но когда приходит УХа/ERP/WMS - бегите от ВМ, глупцы ))

    Сейчас вот на новом месте работы пытаюсь вразумить очередных счастливых (нет) владельцев "кластера HPE на vmWare", что они свернули немного не туда, развернув на нём свою УХу. И почему их крутой и современный Gold 6xxxR 2022 года в банальном тесте Гилёва даёт 24 попугая (кстати как и у автора в статье), а E5 v2 лохматого 2013 года, который я знакомым купил на Али для апгрейда их бомж-сервера (2 шт. по 6(!) тыс. руб) - даёт 39 попугаев.

    И это не процессор виноват. Голды - норм, если их подбирать под задачу и использовать с умом.

    Но "у нас же дэвопс и гиперконвергентность", нам нужны шашечки, а не ехать. Вот жду, что победит в этот раз )


  1. edo1h
    21.04.2023 10:42

    а пробовали понять откуда возникла разница?
    одинаковые ли получились частоты процессора? (гипервизор мог «перебить» настройки bios)
    какие драйвера для сетевых/накопителей использовались в гостевых ос?
    пробовали ли запустить тесты диска (например, fio) и сети (например, netperf)?


  1. werter_l
    21.04.2023 10:42

    1 Автор, можно скрин настроек vm на pve можно увидеть? Насмотрелся я на "специалистов" нынче (

    2 Попробуйте lxc вместо vm. Накладные расходы меньше.

    P.s. Proxmox, ceph, zfs, pfsense и все-все-все https://forum.netgate.com/topic/163435/proxmox-ceph-zfs-pfsense-и-все-все-все-часть-2/