К статье
Практический материал

Администрирование · 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, RAMragent, rphost
Сервер СУБДХранит данные, выполняет SQL-запросыДиски, RAMpostgres, sqlservr
Менеджер кластераРеестр сеансов, блокировки, сервисыМинимальная нагрузкаrmngr
Сервер лицензийВыдаёт программные лицензииМинимальная нагрузкаragent / HASP

Совмещение ролей допустимо на небольших внедрениях — например, кластер и СУБД на одной машине для 10–20 пользователей. Но при росте нагрузки их разносят: иначе rphost и СУБД начинают конкурировать за память, и диагностировать узкое место становится сложнее.

Когда одного рабочего сервера недостаточно

Один рабочий сервер справляется с задачей, пока суммарное потребление памяти процессами rphost и число одновременных сеансов не упираются в ресурсы машины. Точного универсального порога нет: он зависит от конфигурации, интенсивности работы и объёма данных. Практические признаки того, что пора добавлять второй рабочий сервер: устойчивая загрузка CPU выше 80% в рабочие часы, нехватка оперативной памяти, рост времени отклика при неизменной нагрузке на СУБД.

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

Маршрут решения

Как выбрать действие

CPU рабочего сервера стабильно выше 80% в пике, а СУБД не перегруженаДобавьте второй рабочий сервер в кластер или увеличьте число рабочих процессов
Память занята почти полностью, растёт файл подкачкиОграничьте объём памяти на рабочий процесс и добавьте rphost либо второй сервер
Требуется бесперебойная работа при отказе оборудованияРазверните минимум два рабочих сервера и настройте уровень отказоустойчивости кластера
Пользователей меньше 20 и нагрузка умереннаяДостаточно одного рабочего сервера, следите за запасом ресурсов

Требования к оборудованию и ПО рабочего сервера

Рабочий сервер чувствителен прежде всего к тактовой частоте процессора и объёму оперативной памяти: прикладной код 1С исполняется преимущественно в однопоточном режиме в рамках одного сеанса, поэтому высокая частота ядра важнее большого числа медленных ядер. Память рассчитывают исходя из числа одновременных сеансов и «тяжести» конфигурации — для типовых решений ориентируются на сотни мегабайт на активный сеанс, но фактическое потребление проверяют замерами на реальной нагрузке.

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

CPU в пикеНиже 70% — запас есть

Диспетчер задач или мониторинг в рабочие часы

Свободная RAMДолжна оставаться с запасом

Рост swap — признак нехватки памяти

Число rphostОбычно несколько процессов

Консоль кластера, список рабочих процессов

Сеть до СУБДМинимальные задержки

Ping и тесты пропускной способности между узлами

Как добавить рабочий сервер в кластер

Добавление второго рабочего сервера — штатная операция, которая выполняется без остановки работы пользователей, если действовать аккуратно. Общий порядок: установить на новую машину компоненты сервера 1С той же версии платформы, что и на существующих узлах, запустить агент сервера, затем в консоли управления кластером зарегистрировать новый рабочий сервер и при необходимости настроить требования назначения функциональности.

Порядок действий
  1. 1
    Установите на новую машину сервер 1С той же версии платформы и разрядности
  2. 2
    Убедитесь, что служба агента сервера запущена и порты доступны по сети
  3. 3
    Откройте консоль управления серверами 1С и подключитесь к кластеру
  4. 4
    В свойствах кластера добавьте новый рабочий сервер по имени или IP
  5. 5
    Настройте требования назначения функциональности, если нужно разделить роли
  6. 6
    Проверьте в консоли, что на новом сервере появились рабочие процессы и сеансы

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

Настройка рабочих процессов и распределения нагрузки

В свойствах рабочего сервера в консоли кластера задаются ключевые параметры: максимальный объём памяти рабочих процессов, допустимый объём памяти одного процесса, количество информационных баз на процесс, число соединений на процесс. Эти настройки определяют, сколько процессов rphost будет запущено и как кластер реагирует на рост потребления памяти.

Ограничение памяти на процесс защищает сервер от утечек и «тяжёлых» операций: когда rphost превышает порог, кластер плавно переносит сеансы на другие процессы и перезапускает проблемный. Без такого ограничения один процесс может занять всю память машины и обрушить остальные сеансы. Требования назначения функциональности позволяют, например, выделить отдельный сервер под фоновые задания и регламентные операции, чтобы они не мешали интерактивной работе пользователей.

Частая рабочая схема: один рабочий сервер обслуживает клиентские сеансы, второй — фоновые задания и сервисы интеграции. Это достигается требованиями назначения функциональности и заметно сглаживает отклик у пользователей в периоды тяжёлых регламентных операций.
ПЗ
Практическое замечание

Типичные ошибки и риски при администрировании

Большинство инцидентов с рабочими серверами связано не с платформой, а с ошибками конфигурации инфраструктуры. Самые распространённые — отсутствие ограничений памяти, разные версии платформы на узлах кластера, закрытые порты между серверами и размещение тяжёлых фоновых заданий на том же узле, что и пользовательские сеансы.

Типичные ошибки
01
Не ограничена память rphost — один процесс забирает всю RAM и роняет сервер
02
Разные версии платформы на узлах кластера — ошибки соединения и непредсказуемое поведение
03
Закрыты порты агента и рабочих процессов в брандмауэре — сервер виден, но сеансы не назначаются
04
Фоновые задания и пользователи на одном узле — просадки отклика во время регламентных операций
05
Изменения вносятся в продуктивный кластер без тестирования на копии

Как проверить, что рабочий сервер работает корректно

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

Контрольные точки

Как проверить результат

Служба агента сервера
Норма

Запущена, работает без перезапусков

Тревожный признак

Служба падает или отсутствует в списке

Рабочие процессы в консоли
Норма

rphost присутствуют, сеансы распределены

Тревожный признак

Процессов нет или все сеансы на одном узле

Память сервера
Норма

Есть свободный запас, swap не растёт

Тревожный признак

Память исчерпана, активная подкачка

Время отклика у пользователей
Норма

Стабильное в течение дня

Тревожный признак

Резкие просадки без видимой причины

Технологический журнал
Норма

Нет массовых ошибок соединений

Тревожный признак

Повторяющиеся аварийные завершения процессов

Если контрольные точки показывают отклонения, начинайте диагностику с простого: доступность портов, версии платформы на всех узлах, лимиты памяти. Технологический журнал включайте точечно и на ограниченное время — постоянная подробная запись сама создаёт нагрузку на диск.

Итог

Что важно запомнить

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

Частые вопросы о рабочем сервере 1С

Можно ли разместить рабочий сервер 1С и сервер СУБД на одной машине?

Можно, и для небольших внедрений это обычная практика. Обязательно ограничьте память, выделяемую СУБД, и память рабочих процессов 1С, чтобы они не конкурировали за ресурсы. При росте числа пользователей и объёма данных роли лучше разнести на разные машины.

Сколько рабочих серверов нужно для кластера?

Минимум — один. Для отказоустойчивости рекомендуют не менее двух, чтобы при отказе узла сеансы можно было перераспределить. Точное количество определяется нагрузкой: числом одновременных сеансов, тяжестью конфигурации и требованиями к бесперебойности.

Что произойдёт, если рабочий сервер выйдет из строя?

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

Нужна ли отдельная лицензия на каждый рабочий сервер?

Да, для работы сервера 1С:Предприятия требуется серверная лицензия, а при использовании нескольких рабочих серверов учитываются условия лицензирования на соответствующие лицензии. Конкретные правила зависят от типа поставки, их стоит уточнять в документации к приобретённым лицензиям.

Как понять, что узкое место — именно рабочий сервер, а не СУБД?

Сравните метрики обеих машин в момент просадки. Если загружены CPU и память рабочего сервера, а СУБД простаивает — проблема на стороне кластера. Если на СУБД высокая дисковая очередь и длительные запросы, а рабочий сервер недогружен — узкое место в базе данных.

Можно ли добавить рабочий сервер без остановки работы пользователей?

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