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

Администрирование · 13 мин

Как работает серверная 1С: архитектура и практика администрирования

Разбираем, как устроена серверная 1С: роли сервера приложений и СУБД, обработка запросов, тонкий клиент, настройка кластера, типичные ошибки и диагностика.

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

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

Из чего состоит серверная архитектура 1С

В серверном режиме задействованы три независимых уровня. Первый — клиентское приложение: тонкий клиент, веб-клиент в браузере или толстый клиент. Клиент отвечает только за интерфейс и ввод данных, тяжёлых вычислений на нём почти нет. Второй уровень — кластер серверов 1С:Предприятия, который исполняет код конфигурации, управляет сеансами пользователей, фоновыми заданиями и блокировками. Третий уровень — сервер СУБД, где физически хранятся таблицы информационной базы.

Кластер серверов состоит из одного или нескольких рабочих серверов, на каждом из которых запущены рабочие процессы (rphost), агент сервера (ragent) и менеджер кластера (rmngr). Агент принимает подключения клиентов, менеджер ведёт реестр сеансов и сервисов, а рабочие процессы непосредственно выполняют код. Если рабочих серверов несколько, нагрузка распределяется между ними, а отказ одного узла не останавливает работу всей системы.

Данные между уровнями передаются по собственному протоколу платформы поверх TCP/IP. По умолчанию агент сервера слушает порт 1540, рабочие процессы занимают диапазон 1560–1591, менеджер кластера — 1541. Эти порты должны быть открыты в брандмауэрах между клиентами, сервером 1С и СУБД, иначе подключение завершится ошибкой ещё до начала сеанса.

Как обрабатывается запрос пользователя

Когда пользователь открывает документ или проводит его, клиент отправляет вызов на сервер приложений. Кластер выбирает рабочий процесс, в котором уже закреплён сеанс пользователя, и передаёт ему вызов. Рабочий процесс исполняет серверный код конфигурации: проверяет права, выполняет обработчики, формирует SQL-запросы к СУБД.

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

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

Файловый и серверный режимы: что выбрать

Файловый вариант подходит небольшим компаниям с несколькими пользователями и умеренными объёмами данных. Он не требует отдельного сервера и лицензий на СУБД, но имеет жёсткие ограничения: при одновременной работе пользователей растут задержки, повышается риск повреждения файла базы при сбое сети или питания, а часть механизмов платформы (например, полноценное управление блокировками) работает в упрощённом режиме.

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

Сравнение вариантов

Файловый режим

Подходит для 1–5 пользователей и небольших баз. Ограничения: чувствительность к сбоям сети, рост задержек при конкурентной работе, ограниченные механизмы блокировок.

Серверный режим (MS SQL / PostgreSQL)

Подходит для десятков и сотен пользователей, больших баз и регламентных заданий. Требует администрирования СУБД, лицензий и резервного копирования средствами СУБД.

1С:Фреш / облачный сервис

Подходит, если нет ресурсов на собственную инфраструктуру. Ограничение: зависимость от провайдера, ограниченный доступ к настройкам сервера и СУБД.

Настройка кластера: что реально влияет на работу

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

Полезные механизмы — перезапуск рабочих процессов по расписанию и ограничение объёма памяти процесса. Рабочие процессы со временем накапливают фрагментированную память, и регламентный перезапуск (например, раз в сутки в нерабочее время) помогает удерживать стабильное потребление ОЗУ. Ограничение памяти защищает сервер от ситуации, когда один «тяжёлый» запрос отбирает все ресурсы.

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

Базовый порядок развёртывания серверной 1С
  1. 1
    Установите и настройте СУБД, создайте пустую базу данных с нужной collation и выделите учётную запись для доступа.
  2. 2
    Установите сервер 1С:Предприятия той же версии платформы, что используется у клиентов.
  3. 3
    Через консоль кластера или оснастку создайте информационную базу, указав тип СУБД, имя базы и учётные данные.
  4. 4
    Откройте порты 1540, 1541 и диапазон 1560–1591 в брандмауэрах между клиентами, сервером 1С и СУБД.
  5. 5
    Подключитесь клиентом, загрузите конфигурацию и проверьте создание сеанса в консоли кластера.
  6. 6
    Настройте резервное копирование штатными средствами СУБД и проверьте восстановление на тестовой копии.

Производительность: где искать узкие места

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

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

Типичные причины деградации: отсутствие индексов под частые запросы, неактуальная статистика в СУБД, избыточные запросы в циклах кода конфигурации, конкуренция за блокировки при массовом проведении документов и нехватка оперативной памяти, из-за которой СУБД вытесняет данные из кэша на диск. Каждая из них диагностируется своим методом, и «лечить» их добавлением мощности железа без анализа — плохая стратегия.

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

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

Время отклика типовой операции (проведение документа, открытие отчёта)
Норма

Время стабильно и не растёт в часы пиковой нагрузки

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

Отклик резко увеличивается при росте числа одновременных пользователей

Потребление памяти рабочими процессами rphost
Норма

Потребление стабильно, перезапуски происходят по расписанию

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

Память растёт непрерывно до исчерпания ОЗУ

Счётчики ожиданий и дисковой очереди на сервере СУБД
Норма

Ожидания в пределах нормы для профиля нагрузки

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

Высокие ожидания блокировок и дисковых операций

Отказоустойчивость и резервное копирование

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

Резервное копирование в серверном режиме выполняется средствами СУБД, а не выгрузкой в dt как единственным способом. Выгрузка в dt остаётся полезной для переноса базы между платформами и версиями, но как основной механизм бэкапа она проигрывает: дольше выполняется, требует монопольного доступа и не даёт восстановления на произвольный момент времени. Полноправная стратегия — полные копии плюс копии журналов транзакций с проверкой восстановления.

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

Значительная часть проблем серверной 1С вызвана не дефектами платформы, а ошибками эксплуатации. Их знание экономит часы диагностики и предотвращает потери данных.

Типичные ошибки
01
Размещение сервера 1С и СУБД в разных сегментах сети с высокими задержками — каждый запрос платит за сетевое время, и система «тормозит» при мощном железе.
02
Отсутствие регламентного обслуживания СУБД: не обновляется статистика, не перестраиваются индексы — производительность деградирует постепенно и незаметно.
03
Резервное копирование только через dt без проверки восстановления — в критический момент копия может оказаться непригодной.
04
Работа всех пользователей и фоновых заданий на одном рабочем процессе — падение процесса обрывает все сеансы сразу.
05
Игнорирование технологического журнала: администратор гадает о причинах проблем вместо анализа зафиксированных длительных операций.

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

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

Как выбрать действие при проблемах

Один пользователь жалуется на медленную работу, остальные в нормеПроверьте клиентский компьютер и сетевое подключение этого пользователя — проблема локальная.
Медленно работают все пользователи, сервер СУБД загруженАнализируйте длительные запросы, индексы и статистику в СУБД.
Медленно работают все, сервер СУБД свободен, rphost загруженИщите проблему в серверном коде конфигурации через технологический журнал.
Сеансы массово разрываютсяПроверьте стабильность сети, перезапуски рабочих процессов и логи кластера.

FAQ: частые вопросы о серверной 1С

Какую СУБД выбрать для серверной 1С?

Платформа поддерживает MS SQL Server, PostgreSQL (включая адаптированные сборки), Oracle Database и IBM DB2. На практике чаще всего выбирают MS SQL Server или PostgreSQL: первый удобен в инфраструктуре Windows, второй снижает затраты на лицензии. Выбор зависит от компетенций администраторов и существующей инфраструктуры — производительность при грамотной настройке сопоставима.

Можно ли перенести базу из файлового режима в серверный?

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

Сколько памяти нужно серверу 1С и серверу СУБД?

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

Что делать, если рабочий процесс rphost «съедает» всю память?

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

Нужен ли отдельный сервер под СУБД или можно всё поставить на одну машину?

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

Как понять, что пора переходить с файлового режима на серверный?

Признаки: одновременно работают больше 5–10 пользователей и растут задержки; появляются ошибки блокировок и конфликты при совместной работе; база достигла размера, при котором обслуживание в файловом режиме занимает часы; требуются регламентные задания и надёжное резервное копирование без остановки работы. Любой из этих признаков — повод запланировать миграцию.

Итог

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

Серверная 1С — это связка «клиент → кластер серверов 1С → СУБД», где бизнес-логика выполняется на сервере приложений, а данные хранятся в СУБД. Стабильность обеспечивают настройка кластера, регламентное обслуживание СУБД, резервное копирование средствами СУБД с проверкой восстановления и диагностика через технологический журнал, а не угадывание причин.