Несмотря на то, что Arm-серверы активно набирают обороты в бизнес-среде, многие пользователи все еще смотрят искоса на такие платформы, оправдывая это тем, что на них с трудом можно поставить нужный корпоративный софт. Мы в ServerFlow уже неоднократно развеивали этот миф, делая гайды и видео о разных сценариях использования Arm-систем. Но есть один гештальт, который мы все еще не закрыли — развертывание 1С Предприятие и PostgreSQL на Arm-сервере. Но оказалось, что все уже сделали за нас, и на сайте 1С ИТС опубликован стабильный билд под Arm: осталось только разобраться, как его правильно поставить и настроить. Именно этим мы и займемся в этой статье!
Сервер Huawei TaiShan 2280 на Kunpeng 920: обзор и характеристики
1С Предприятие не относится к той категории приложений, которые можно поставить и забыть. 1С — это сердце IT-инфраструктуры для бизнеса во всем СНГ, через которое проходят буквально все рабочие процессы: закупка товаров, мониторинг продаж, ведение бухгалтерии, отчисление налогов и так далее. Так как существует великое множество 1С под разные типы бизнеса, при развитии вашей компании вам придется перейти на новую лицензию 1С, чтобы подключить больше сотрудников или получить новые возможности — само собой, системные требования тоже станут строже. Именно поэтому Arm-платформа для 1С должна поддерживать широкие возможности масштабирования, при этом быть доступной и производительной. Ввиду этих факторов, наш выбор пал на передовые серверы Huawei TaiShan на базе процессоров Kunpeng. У нас в наличии было два таких сервера: первого поколения на базе ARM-CPU Kunpeng 916 и второе, более современное поколение Taishan 200 на базе Kunpeng 920. Выбор пал именно на второй вариант, так как в нем в 2 раза больше ядер, да и в целом он более производительный, чем свой младший собрат.
Передовой китайский Arm-сервер Huawei Taishan 200 Model 2280, который станет основой для развертывания 1С и PostgreSQL.
Только вдумайтесь: 128 энергоэффективных ядер, которые суммарно греются всего лишь до 360 Вт, тогда как x86-чипы при кратно меньшем количестве ядер выделяют столько же, если не больше тепла! Просто сказка, а не сервер! Если вам интересно узнать о всех характеристиках этого передового китайского сервера, мы подробно рассказали о них в этой статье, а теперь перейдем к выбору ОС.
Серверный центральный процессор на архитектуре Arm Kunpeng 920-7260, лежащий в основе сервера Huawei Taishan 200 Model 2280.
Выбор операционной системы для ARM-сервера — AltLinux
В прошлых видеороликах и гайдах ServerFlow мы ставили самые разные дистрибутивы Linux: Debian, Ubuntu Server и даже китайский OpenEuler. Но поскольку мы адаптируем Huawei Taishan 200 Model 2280 под развертывание 1С, в этот раз добавим в систему немного отечественного колорита и установим российский дистрибутив ALTLinux, который станет надежной опорой для дальнейшей работы с 1С Предприятие.
Файлы операционной системы ALTLinux для Arm-платформ.
Многие спросят: “В чем смысл ставить на китайский сервер российский дистрибутив?”. Суть кроется в разрешении кучи зависимостей при установке ПО из репозиториев. Нам нужен стабильный билд — связка PostgreSQL и 1C Предприятие, которые не будут конфликтовать друг с другом при развертывании. И именно дистрибутив AltLinux способен помирить их и упростить установку, так как он изначально разрабатывался под работу в системах на базе российских центральных процессоров Baikal-S, которые тоже базируются на архитектуре ARM и ориентированы на 1С-сервера. В общем, решили не изобретать велосипед и взять то, что уже отлично работает.
СУБД PostgreSQL
Начнем с установки базы данных.
Установка PostgreSQL на ARM сервер
В ALTLinux установка PostgreSQL выполняется очень просто — нужно всего лишь ввести эту команду:
apt-get install postgresql15-1C-server
Помимо самой PostgreSQL, в rmp-пакет также зашит скрипт для автотюнинга, анализирующий количество ядер с объемом оперативной памяти и подстраивающий основные параметры PostgreSQL для оптимальной работы в системе.
Скрипт автотюнинга для оптимизации запуска PostgreSQL на Arm-сервере.
Но по какой-то причине, у нас скрипт автотюнинга ничего не оптимизировал, поэтому настройки мы меняли вручную, и выглядят они так:
Настройки для оптимизации PostgreSQL на Arm-сервере.
Результаты pgbench на ARM сервере Huawei
Чтобы оценить, насколько эффективно работает база данных PostgreSQL на Arm-сервере, проведем тест в бенчмарке pgbench. Pgbench — это утилита для нагрузочного тестирования производительности PostgreSQL, которая имитирует одновременных клиентов, выполняющих транзакции.
Параметры нагрузочного бенчмарка pgbench для PostgreSQL.
Мы решили обернуть pgbench в bush-скрипт для удобства выполнения тестирования. После непродолжительного ожидания, можно ознакомиться с результатами тестирования производительности PostgreSQL. Как мы можем увидеть, производительность оставляет желать лучшего — скорее всего, все дело в отсутствии оптимизации китайского процессора под работу с этой СУБД.
Задержка СУБД PostgreSQL на сервере Huawei Taishan 200 Model 2280 в загрузочном бенчмарке pgbench.
Количество транзакций в секунду СУБД PostgreSQL на сервере Huawei Taishan 200 Model 2280 в загрузочном бенчмарке pgbench.
1C Предприятие
Теперь переходим к установке сервера 1С-предприятие.
Установка 1С:Предприятие на ARM сервер Huawei
Мы будем использовать платформу 1С-Предприятие версии 8.3.27.17.86, которая является самой актуальной версией 1С на момент написания нашего обзора. Мы предварительно загрузили архив с 1С на сервер, поэтому осталось распаковать его и установить все необходимые пакеты. Процесс установки ничем не отличается от установки пакетов на любых других дистрибутивах Linux:
apt-get install 1c_packet_name.rpm
Распаковка 1С:Предприятие 8.3 на Arm-сервере Huawei Taishan 200 Model 2280.
Осталось только включить сервис и запустить сервер 1С. Очень важный момент: для запуска 1С-сервера на Arm-платформе вам потребуется лицензия уровня 1С:КОРП, поскольку обычные лицензии уровня 1С:ПРОФ не подходят — это связано с тем, что Arm-серверы заведомо имеют большое количество ядер, а стандартные лицензии ПРОФ позволяют задействовать только 12 ядер, поэтому при установке они 1С:ПРОФ просто не запускается.
Запуск сервера 1С:Предприятие на Arm-системе Huawei Taishan 200 Model 2280.
Тест Гилева, 1С:ERP, запуск 1С:Управление Торговлей и 1С:Розница на сервере Huawei Kunpeng 920
Для проведения теста Гилева мы переключились на клиентскую машину с Windows и AMD EPYC 7501 (выделено 8 ядер и 8 ГБ RAM) с запущенным тонким клиентом. Для удобства мы не стали настраивать DNS и прописали имя клиента, имя сервера в file-host.
Затем нужно открыть тонкий клиент и создаем новую, пустую базу данных на Arm-сервере. Теперь в эту базу данных можно залить любую конфигурацию — в нашем случае, ERP.
Запуск конфигурации 1С:Предприятие на тонком клиенте.
Интересно, но тест Гилева показал весьма странные и даже неожиданные результаты, а конфигурация тест-центр для нагрузочного тестирования вовсе зависла. Скорее всего, это связано с ошибками в самой сборке 1С Предприятие под Arm-архитектуру. Проблема не решается даже при переходе на более свежую сборку 1С 8.5.1, так как в ней нет каких-либо оптимизаций для увеличения производительности на Arm-процессорах.
Тест-центр завис и не прогружается.
При этом, типовые конфигурации 1С, вроде 1С:Розница или 1С:Управление Торговлей запускаются без ошибок, хоть и имеют весьма низкую производительность. Почему 1С работает так плохо? Это уже вопрос к разработчикам 1С. Мы лишь рискнем предположить, что частично проблема связана с низкой частотой ядер Kunpeng 920 (2,6-3,0 ГГц) и отсутствием оптимизаций под запуск 1С на китайских CPU.
1С:Управление Торговлей запустилась на Huawei TaiShan 2280, но производительность проседает.
Выводы
Можно ли запустить 1С на Arm-сервере? Да, вполне. Эффективно ли это? Пока что нет, но когда разработчики 1С доработают билды под Arm-системы, производительность такой связки может многократно повыситься. Однако это не значит, что серверы на базе Arm-процессоров бесполезны в бизнес среде. Вы можете успешно использовать их для хранения журналов регистрации в составе кластера или в качестве веб-сервера — для этих задач Huawei Taishan 200 Model 2280 отлично подходит благодаря большому количеству ядер, большому объему ОЗУ и быстрой подсистеме памяти. А сам 1С вы можете развернуть на классическом x86-сервере, тем самым достигнув синергии двух платформ, которая обеспечит достойный уровень производительности без больших переплат.
Продолжная использовать наш сайт, вы даете согласие на использование файлов Cookie, пользовательских данных (IP-адрес, вид операционной системы, тип браузера, сведения о местоположении, источник, откуда пришел на сайт пользователь, с какого сайта или по какой рекламе, какие страницы
открывает и на какие страницы нажимает пользователь) в целях функционирования сайта, проведения статистических исследований и обзоров. Если вы не хотите, чтобы ваши данные обрабатывались, покиньте сайт.