Администрирование · 12 мин
Рабочий сервер 1С: что это и как его настроить
Что такое рабочий сервер 1С: роль в кластере, отличие от сервера СУБД, требования к оборудованию, настройка и типичные ошибки администрирования.
Рабочий сервер 1С — это физическая или виртуальная машина, на которой запущен процесс агента сервера 1С:Предприятия и который входит в состав кластера. Именно на рабочих серверах исполняется прикладной код конфигурации: проведение документов, расчёт итогов, формирование отчётов, обработка фоновых заданий. Клиентские приложения не обращаются к базе данных напрямую — они соединяются с кластером, а кластер распределяет нагрузку между рабочими серверами.
Термин часто вызывает путаницу, потому что в клиент-серверной архитектуре 1С участвуют минимум две разные роли: сервер СУБД (PostgreSQL, MS SQL Server, Oracle, IBM Db2), где физически хранятся данные, и сервер 1С:Предприятия, который выполняет бизнес-логику и транслирует запросы в SQL. Рабочий сервер — это именно вторая роль, «средний слой» архитектуры. В простых внедрениях обе роли размещают на одной машине, но логически они остаются разделёнными.
Понимание роли рабочего сервера важно при проектировании инфраструктуры: от количества рабочих серверов, их вычислительной мощности и настроек распределения нагрузки зависит, выдержит ли система одновременную работу десятков или сотен пользователей, и что произойдёт при отказе одного из узлов.
Место рабочего сервера в архитектуре 1С
Клиент-серверный вариант работы 1С строится по трёхзвенной схеме. Первое звено — клиентское приложение (толстый, тонкий или веб-клиент). Второе звено — кластер серверов 1С:Предприятия, состоящий из одного или нескольких рабочих серверов. Третье звено — сервер СУБД с информационной базой. Клиент подключается к кластеру по имени и порту, кластер назначает сеанс конкретному рабочему процессу, а тот уже обращается к СУБД.
Внутри каждого рабочего сервера работает агент сервера (процесс ragent) и один или несколько рабочих процессов (rphost). Именно rphost исполняет код конфигурации и потребляет основную память. На одном из серверов кластера дополнительно работает менеджер кластера (rmngr), который ведёт реестр сеансов, сервисов и блокировок. Сервер, на котором размещён менеджер, называют центральным; остальные — рабочие в «узком» смысле, хотя в документации термин «рабочий сервер» обычно охватывает все машины кластера.
Чем рабочий сервер отличается от сервера СУБД и сервера лицензий
Начинающие администраторы нередко смешивают три роли, из-за чего неправильно диагностируют проблемы производительности. Различия принципиальны: рабочий сервер 1С нагружен преимущественно процессором и оперативной памятью, сервер СУБД — дисковой подсистемой и памятью под буферы, а сервер лицензий практически не потребляет ресурсов, но должен быть доступен при старте сеансов.
| Роль | Что делает | Основной ресурс | Типичный процесс |
|---|---|---|---|
| Рабочий сервер 1С | Исполняет код конфигурации, обслуживает сеансы | CPU, RAM | ragent, rphost |
| Сервер СУБД | Хранит данные, выполняет SQL-запросы | Диски, RAM | postgres, sqlservr |
| Менеджер кластера | Реестр сеансов, блокировки, сервисы | Минимальная нагрузка | rmngr |
| Сервер лицензий | Выдаёт программные лицензии | Минимальная нагрузка | ragent / HASP |
Совмещение ролей допустимо на небольших внедрениях — например, кластер и СУБД на одной машине для 10–20 пользователей. Но при росте нагрузки их разносят: иначе rphost и СУБД начинают конкурировать за память, и диагностировать узкое место становится сложнее.
Когда одного рабочего сервера недостаточно
Один рабочий сервер справляется с задачей, пока суммарное потребление памяти процессами rphost и число одновременных сеансов не упираются в ресурсы машины. Точного универсального порога нет: он зависит от конфигурации, интенсивности работы и объёма данных. Практические признаки того, что пора добавлять второй рабочий сервер: устойчивая загрузка CPU выше 80% в рабочие часы, нехватка оперативной памяти, рост времени отклика при неизменной нагрузке на СУБД.
Вторая причина добавлять рабочие серверы — отказоустойчивость. Если рабочих серверов несколько и настроены требования назначения функциональности, при выходе одного узла из строя сеансы могут быть перераспределены на оставшиеся. С одним сервером любой сбой означает остановку работы всех пользователей.
Как выбрать действие
Требования к оборудованию и ПО рабочего сервера
Рабочий сервер чувствителен прежде всего к тактовой частоте процессора и объёму оперативной памяти: прикладной код 1С исполняется преимущественно в однопоточном режиме в рамках одного сеанса, поэтому высокая частота ядра важнее большого числа медленных ядер. Память рассчитывают исходя из числа одновременных сеансов и «тяжести» конфигурации — для типовых решений ориентируются на сотни мегабайт на активный сеанс, но фактическое потребление проверяют замерами на реальной нагрузке.
Поддерживаемые операционные системы и разрядность сервера 1С указаны в системных требованиях конкретной версии платформы — их стоит сверять перед установкой. Для 64-разрядного сервера ограничение памяти на процесс существенно выше, чем для 32-разрядного, поэтому для продуктивной работы используют именно x64-версию. Сеть между рабочим сервером и СУБД должна быть быстрой и стабильной: задержки и потери пакетов напрямую отражаются на скорости работы пользователей.
Диспетчер задач или мониторинг в рабочие часы
Рост swap — признак нехватки памяти
Консоль кластера, список рабочих процессов
Ping и тесты пропускной способности между узлами
Как добавить рабочий сервер в кластер
Добавление второго рабочего сервера — штатная операция, которая выполняется без остановки работы пользователей, если действовать аккуратно. Общий порядок: установить на новую машину компоненты сервера 1С той же версии платформы, что и на существующих узлах, запустить агент сервера, затем в консоли управления кластером зарегистрировать новый рабочий сервер и при необходимости настроить требования назначения функциональности.
- 1Установите на новую машину сервер 1С той же версии платформы и разрядности
- 2Убедитесь, что служба агента сервера запущена и порты доступны по сети
- 3Откройте консоль управления серверами 1С и подключитесь к кластеру
- 4В свойствах кластера добавьте новый рабочий сервер по имени или IP
- 5Настройте требования назначения функциональности, если нужно разделить роли
- 6Проверьте в консоли, что на новом сервере появились рабочие процессы и сеансы
После добавления проверьте, что нагрузка действительно распределяется: в консоли кластера видно, сколько сеансов обслуживает каждый рабочий процесс на каждом сервере. Если все сеансы остаются на старом узле, чаще всего причина в некорректных требованиях назначения функциональности или в недоступности портов нового сервера.
Настройка рабочих процессов и распределения нагрузки
В свойствах рабочего сервера в консоли кластера задаются ключевые параметры: максимальный объём памяти рабочих процессов, допустимый объём памяти одного процесса, количество информационных баз на процесс, число соединений на процесс. Эти настройки определяют, сколько процессов rphost будет запущено и как кластер реагирует на рост потребления памяти.
Ограничение памяти на процесс защищает сервер от утечек и «тяжёлых» операций: когда rphost превышает порог, кластер плавно переносит сеансы на другие процессы и перезапускает проблемный. Без такого ограничения один процесс может занять всю память машины и обрушить остальные сеансы. Требования назначения функциональности позволяют, например, выделить отдельный сервер под фоновые задания и регламентные операции, чтобы они не мешали интерактивной работе пользователей.
Частая рабочая схема: один рабочий сервер обслуживает клиентские сеансы, второй — фоновые задания и сервисы интеграции. Это достигается требованиями назначения функциональности и заметно сглаживает отклик у пользователей в периоды тяжёлых регламентных операций.
Типичные ошибки и риски при администрировании
Большинство инцидентов с рабочими серверами связано не с платформой, а с ошибками конфигурации инфраструктуры. Самые распространённые — отсутствие ограничений памяти, разные версии платформы на узлах кластера, закрытые порты между серверами и размещение тяжёлых фоновых заданий на том же узле, что и пользовательские сеансы.
Как проверить, что рабочий сервер работает корректно
Базовая проверка выполняется штатными средствами: консолью управления кластером, диспетчером задач или системным мониторингом, а также технологическим журналом платформы при необходимости глубокой диагностики. Важно оценивать не разовые значения, а поведение в пиковые часы.
Как проверить результат
Запущена, работает без перезапусков
Служба падает или отсутствует в списке
rphost присутствуют, сеансы распределены
Процессов нет или все сеансы на одном узле
Есть свободный запас, swap не растёт
Память исчерпана, активная подкачка
Стабильное в течение дня
Резкие просадки без видимой причины
Нет массовых ошибок соединений
Повторяющиеся аварийные завершения процессов
Если контрольные точки показывают отклонения, начинайте диагностику с простого: доступность портов, версии платформы на всех узлах, лимиты памяти. Технологический журнал включайте точечно и на ограниченное время — постоянная подробная запись сама создаёт нагрузку на диск.
Что важно запомнить
Рабочий сервер 1С — узел кластера, исполняющий прикладной код и обслуживающий сеансы; данные хранятся отдельно на сервере СУБД. Для стабильной работы ограничивайте память рабочих процессов, держите одинаковую версию платформы на всех узлах, разделяйте пользовательские сеансы и фоновые задания, а при росте нагрузки добавляйте рабочие серверы в кластер.
Частые вопросы о рабочем сервере 1С
Можно ли разместить рабочий сервер 1С и сервер СУБД на одной машине?
Можно, и для небольших внедрений это обычная практика. Обязательно ограничьте память, выделяемую СУБД, и память рабочих процессов 1С, чтобы они не конкурировали за ресурсы. При росте числа пользователей и объёма данных роли лучше разнести на разные машины.
Сколько рабочих серверов нужно для кластера?
Минимум — один. Для отказоустойчивости рекомендуют не менее двух, чтобы при отказе узла сеансы можно было перераспределить. Точное количество определяется нагрузкой: числом одновременных сеансов, тяжестью конфигурации и требованиями к бесперебойности.
Что произойдёт, если рабочий сервер выйдет из строя?
Сеансы, обслуживавшиеся этим сервером, завершатся с ошибкой. Если в кластере есть другие рабочие серверы, пользователи смогут переподключиться и продолжить работу, но несохранённые данные текущего сеанса будут потеряны. Если сервер единственный — работа всей системы остановится.
Нужна ли отдельная лицензия на каждый рабочий сервер?
Да, для работы сервера 1С:Предприятия требуется серверная лицензия, а при использовании нескольких рабочих серверов учитываются условия лицензирования на соответствующие лицензии. Конкретные правила зависят от типа поставки, их стоит уточнять в документации к приобретённым лицензиям.
Как понять, что узкое место — именно рабочий сервер, а не СУБД?
Сравните метрики обеих машин в момент просадки. Если загружены CPU и память рабочего сервера, а СУБД простаивает — проблема на стороне кластера. Если на СУБД высокая дисковая очередь и длительные запросы, а рабочий сервер недогружен — узкое место в базе данных.
Можно ли добавить рабочий сервер без остановки работы пользователей?
Да. Установка платформы и регистрация нового сервера в кластере не обрывают существующие сеансы. Новые сеансы начнут назначаться на добавленный узел автоматически по мере подключения пользователей, если не ограничено требованиями назначения функциональности.