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

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

Сервер 1С: что это и как работает клиент-серверная архитектура

Сервер 1С — что это такое, зачем нужен кластер серверов 1С:Предприятие, чем клиент-серверный режим отличается от файлового и как выбрать архитектуру для компании.

Сервер 1С — это программный компонент платформы «1С:Предприятие», который обеспечивает работу системы в клиент-серверном режиме. Вместо того чтобы каждый компьютер пользователя напрямую обращался к файлам базы, все запросы проходят через сервер приложений 1С, а тот взаимодействует с системой управления базами данных (СУБД) — MS SQL Server, PostgreSQL, Oracle или IBM Db2.

Такая архитектура нужна там, где с одной информационной базой одновременно работают десятки или сотни сотрудников. Файловый режим, при котором база лежит в общей сетевой папке, перестаёт справляться с нагрузкой: растут блокировки, замедляются отчёты, повышается риск повреждения данных. Клиент-серверный вариант снимает эти ограничения, но требует отдельного лицензирования, настройки и администрирования.

Понимание того, что такое сервер 1С и как он устроен, помогает осознанно выбрать архитектуру, спланировать бюджет на лицензии и оборудование, а также правильно диагностировать проблемы производительности, когда система начинает «тормозить».

Что такое сервер 1С простыми словами

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

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

Из чего состоит кластер серверов 1С

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

  • Агент сервера (ragent) — главная служба, через которую проходят подключения клиентов. Ведёт реестр кластера, знает обо всех базах и рабочих процессах.
  • Рабочие процессы (rphost) — именно они выполняют серверный код конфигурации и обращаются к СУБД. Один кластер может держать несколько рабочих процессов, распределяя между ними пользователей.
  • Менеджер кластера (rmngr) — управляет распределением нагрузки, хранит служебные данные сеансов.

Количество рабочих процессов влияет на устойчивость системы. Если в кластере один rphost и он аварийно завершится, сеансы пользователей оборвутся. При нескольких процессах нагрузка перераспределяется, и сбой одного из них менее заметен. Поэтому на продуктивных системах рекомендуют держать минимум два–три рабочих процесса.

Чем клиент-серверный режим отличается от файлового

В файловом режиме база хранится в одном файле (1Cv8.1CD) на локальном диске или сетевом ресурсе, и каждый клиент работает с ним напрямую. Это просто и дёшево, но механизм блокировок работает на уровне таблиц целиком, а весь трафик чтения идёт по сети на компьютеры пользователей.

В клиент-серверном режиме блокировки управляются СУБД на уровне записей, сеть между клиентом и базой заменяется связкой «клиент — сервер 1С — СУБД», а тяжёлые операции выполняются на сервере. Это принципиально меняет масштабируемость системы.

КритерийФайловый режимКлиент-серверный режим
Количество пользователейОриентировочно до 10–15 активныхДесятки и сотни одновременных сеансов
БлокировкиНа уровне таблицНа уровне записей (управляемые)
Дополнительные лицензииНе требуютсяЛицензия на сервер 1С + лицензия на СУБД
АдминистрированиеМинимальноеТребуется обслуживание кластера и СУБД
Устойчивость к сбоямРиск повреждения файла при обрывеТранзакционная целостность на стороне СУБД

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

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

Файловая база

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

Клиент-серверный режим на одном сервере

Сервер 1С и СУБД на одной машине. Подходит средним компаниям; ограничение — конкуренция компонентов за ресурсы при высокой нагрузке.

Разнесённая архитектура

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

Какие лицензии нужны для работы сервера 1С

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

Существуют варианты серверных лицензий, различающиеся по разрядности (32-битная и 64-битная версия сервера) и масштабу. Дополнительно учитывайте лицензирование самой СУБД: коммерческие системы вроде MS SQL Server лицензируются по ядрам или по клиентским доступам, а PostgreSQL распространяется свободно, что заметно снижает стоимость внедрения.

Точные условия и стоимость лицензий зависят от текущей лицензионной политики фирмы «1С» и поставщика СУБД, поэтому перед покупкой сверяйтесь с актуальными прайсами и условиями у официальных партнёров.

Как развернуть сервер 1С: общий порядок действий

Установка сервера 1С выполняется с того же дистрибутива платформы, что и клиентская часть: при установке выбираются компоненты «Сервер 1С:Предприятие» и «Администрирование сервера». Ниже — укрупнённый порядок развёртывания, который подходит как для Windows, так и для Linux (с поправкой на пакетный менеджер).

Порядок действий
  1. 1
    Установите и настройте СУБД (например, PostgreSQL или MS SQL Server), создайте служебного пользователя с правами на создание баз.
  2. 2
    Установите компоненты сервера 1С из дистрибутива платформы той же версии, что и у клиентов.
  3. 3
    Убедитесь, что служба агента сервера запущена и кластер создан (по умолчанию создаётся автоматически).
  4. 4
    Откройте консоль администрирования серверов 1С, добавьте сервер и проверьте, что кластер виден.
  5. 5
    Создайте информационную базу через консоль кластера или через конфигуратор, указав параметры подключения к СУБД.
  6. 6
    Загрузите данные из файловой базы (выгрузка/загрузка .dt) или создайте пустую базу из шаблона.
  7. 7
    Проверьте подключение клиентом, выполните типовые операции и замерьте время отклика.

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

bash
# Проверка состояния службы агента сервера 1С в Linux
systemctl status srv1cv8
# Проверка, что агент слушает стандартный порт
ss -tlnp | grep 1540

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

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

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

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

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

Служба запущена, порт 1540 прослушивается

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

Служба остановлена или падает с ошибками в журнале

Рабочие процессы rphost
Норма

Несколько процессов, память распределена равномерно

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

Один процесс занимает почти всю память сервера

Подключение клиента
Норма

База открывается, документы проводятся без ошибок блокировок

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

Ошибки соединения с кластером или массовые конфликты блокировок

Журнал регистрации и логи СУБД
Норма

Нет повторяющихся ошибок и взаимоблокировок

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

Регулярные deadlock-сообщения и таймауты запросов

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

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

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

Отдельно стоит упомянуть резервное копирование. В клиент-серверном режиме копию делают средствами СУБД, а не копированием файлов. Резервная копия должна регулярно проверяться восстановлением на тестовом стенде — копия, которая ни разу не восстанавливалась, не считается надёжной.

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

Когда сервер 1С не нужен: альтернативы

Клиент-серверная архитектура — не единственный способ организовать многопользовательскую работу. Для небольших компаний существуют варианты, которые дешевле и проще в обслуживании.

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

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

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

До 10 пользователей, база небольшая, жалоб на блокировки нетОставайтесь на файловом режиме, при необходимости опубликуйте базу на веб-сервере
15–50 пользователей, жалобы на блокировки и скорость отчётовПланируйте переход на клиент-серверный режим, начните с тестового стенда на PostgreSQL
Сотни пользователей, круглосуточная работа, высокие требования к отказоустойчивостиРазносите сервер 1С и СУБД на разные машины, настраивайте несколько рабочих процессов и резервирование
Нет своего администратора и бюджета на инфраструктуруРассмотрите облачную аренду 1С — обслуживание серверов берёт на себя провайдер

Часто задаваемые вопросы

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

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

Нужна ли отдельная лицензия на сервер 1С, если база одна?

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

Что будет, если служба агента сервера остановится?

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

Какая СУБД лучше для сервера 1С?

Однозначного ответа нет: платформа поддерживает MS SQL Server, PostgreSQL (включая сборки, адаптированные под 1С), Oracle и IBM Db2. PostgreSQL снижает стоимость лицензий, MS SQL Server часто выбирают за зрелые инструменты администрирования. Выбор зависит от бюджета, опыта администраторов и требований к нагрузке.

Можно ли перенести файловую базу в клиент-серверный режим без потери данных?

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

Почему после перехода на серверный режим 1С всё равно тормозит?

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

Итог

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

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