Как работает WMS 1С на open source платформе?
Многие годы для реализации проектов на платформе 1С использовался стек технологий от компании Майкрософт, как минимум Windows Server и MS SQL Server. Данный стек успешно решал большинство задач и не требовал сложных настроек, работал «из коробки».
Основная проблема была только в высокой стоимости такого решения, она складывалась из:
«Microsoft» стек.
- Microsoft Windows Server – стоимость сильно варьируется от количества процессоров, ядер и прочего «железного» оборудования
- Microsoft SQL Server – аналогично Windows Server стоимость для Enterprise высокая и сильно зависит от используемого «железа»
- Microsoft Terminal Server – используется в устаревших WMS системах для подключения мобильных терминалов.
В целях оптимизации стоимости «железной» части и в тренде снижения зависимости от не надежных поставщиков ПО инженеры ЯРУС полностью перевели весь стек на open source решения, а именно:
«Open source» стек.
- ОС Debian 12
- Postgres Pro 16
- Веб сервер. Контейнер Docker с ОС Ubuntu server и веб сервером Apache
- Клиентская часть – веб клиент от 1С и YARUS WMS клиент для ОС Android.
Любые изменения в какой – либо из компонентов стека технологий системы WMS YARUS проходят два вида тестирования:
- Инструментальные на предмет выявления логических ошибок и возможных ошибок отладки (ежедневный deploy ci/cd).
- Нагрузочное тестирование с применением бот – тестов с целью выявления пороговых значений нагрузки для нормального функционирования системы управления складом YARUS WMS.
Нагрузочные тесты проводились для Базового модуля YARUS WMS при выделенных ресурсах:
- 1С Сервер. Виртуальный сервер на базе ОС Debian 12, 8 ядер тактовой частотой 4.6ГГц, 20Гб оперативной памяти, жесткий диск nvme
- Postgres Pro 16 БД сервер. Виртуальный сервер на базе ОС Debian 12, 8 ядер тактовой частотой 4.6ГГц, 8Гб оперативной памяти, жесткий диск nvme
- Веб сервер. Контейнер Docker с ОС Ubuntu server и веб сервером Apache
- Redis Insight версия 2.4. Контейнер Docker с ОС Ubuntu. В базовом варианте теста не использовался, т.к. предназначен для высоконагруженных WMS систем, когда речь идет о сотнях ТСД, работающих одновременно в режиме чтение – запись.
Бот – виртуальная сессия в среде OS Android, экземпляр тонкого клиента YARUS WMS. Запускается автоматически и работает по заданному сценарию: Приемка товара, сборка товаров как самые критичные для склада операции.
Тестовое окружение в части ботов – дискретная нагрузка, начиная с 50 ботов с шагом в 10 до 100 ботов включительно.
Следует отметить, что такая нагрузка со стороны ботов (циклы чтения и записи каждые 5 секунд) соответствует складскому комплексу с одновременной работой порядка 250 – 300 ТСД в обычном (штатном) режиме (для торговых складов, RETAIL, производственные склады).
*Также надо понимать, что любой тест является синтетическим и зависит от многих факторов.
Результаты тестирования:
- Стационарные рабочие места, тонкий клиент на 1С. Заметные задержки (от 5 до 10 секунд на открытие формы) стали появляться при активной работе 100 ботах.
- Мобильное рабочее место, тонкий клиент YARUS Android. Задержки стали появляться при работе с экранными формами в пределах от 3 до 5 секунд при работе 100 ботов.
Выводы:
- На относительно дешевом «железе» и бесплатном ПО (вся серверная часть, кроме продуктов от 1С и ЯРУС) мы получили стабильную (без единого сбоя) систему, которая выдерживает несколько циклов подряд под высокой нагрузкой.
- Open source решения по общему времени прохождения бот — теста показали себя не хуже, чем корпоративные решения от Microsoft.
- Данный стек можно масштабировать как вертикально за счет добавления «железных» ресурсов, так и горизонтально за счет применения программного кэша в виде REDIS in memory cached data base (отдельный тест для open source стека будет проведен позже).
Наглядно увидеть как проходит сценарий выполнения при работе с ботами можно по ссылке.
Получите бесплатную онлайн-демонстрацию WMS системы на 1С, знакомьтесь с реализованными проектами автоматизации склада.
Хочу посмотреть проект