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

· 10 мин

Содержание

Сервер 1С:Предприятия — это отдельная программа платформы 8.3. Она выполняет код конфигурации вместо компьютеров пользователей, а данные хранит не в файле, а в СУБД: MS SQL Server, PostgreSQL, IBM Db2 или Oracle. Пользователь подключается к нему по сети, а тяжёлые запросы и проведение документов идут на серверной машине.

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

Как устроен сервер 1С: агент, менеджер кластера и рабочие процессы

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

Основные процессы:

  • 🧭 ragent — агент сервера. Запускается службой Windows или демоном Linux, принимает первое обращение клиента и хранит список кластеров на машине.
  • 🗂 rmngr — менеджер кластера. Ведёт реестр информационных баз, сеансов, блокировок, распределяет клиентов по рабочим процессам.
  • ⚙️ rphost — рабочие процессы. Именно они выполняют серверный код конфигурации и обращаются к СУБД. Их может быть несколько.
  • 🛠 ras — сервер администрирования. Нужен утилите rac и сторонним панелям управления, сам по себе не обязателен.

Путь подключения такой: клиент обращается к агенту, агент передаёт его менеджеру кластера, менеджер назначает рабочий процесс. Дальше клиент общается уже с rphost напрямую.

КомпонентПорт по умолчаниюГде меняется
Агент сервера (ragent)1540параметры запуска службы
Менеджер кластера (rmngr)1541свойства кластера
Рабочие процессы (rphost)диапазон 1560–1591свойства рабочего сервера
Сервер администрирования (ras)1545параметры запуска ras

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

Служебные данные кластера лежат в каталоге srvinfo. В Windows по умолчанию это C:\Program Files\1cv8\srvinfo, внутри — папка reg_1541 с реестром кластера 1CV8Clst.lst и подпапками баз.

Файловый режим против клиент-серверного: в чём реальная разница

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

В клиент-серверном варианте с данными работает СУБД, а клиент передаёт по сети только команды и результаты. Блокировки становятся точечными, на уровне записей.

КритерийФайловый вариантКлиент-серверный вариант
Где хранятся данныефайл 1Cv8.1CDбаза данных в СУБД
Кто выполняет серверный кодкомпьютер пользователярабочий процесс rphost
Комфортное число пользователейнесколько человекдесятки и сотни
Чувствительность к сетивысокая, обрыв опасен для файланизкая, по сети идут команды
Резервное копированиекопия файла или выгрузка .dtсредствами СУБД без остановки работы
Что нужно купитьтолько клиентские лицензиисерверную лицензию + клиентские, иногда СУБД
Администрированиепочти не нужнонужен человек, понимающий сервер и СУБД

Жёсткого порога «после N пользователей переходите на сервер» нет. На практике сигналы такие:

  1. Пользователи регулярно ждут окончания чужого проведения.
  2. Закрытие месяца или расчёт зарплаты тянется часами и мешает остальным.
  3. Файл базы перевалил за десятки гигабайт и тормозит при открытии.
  4. Нужен доступ из филиалов или через интернет, а файловую базу по VPN открывать мучительно.
  5. Нужно делать копии днём, не выгоняя пользователей.

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

Что нужно для сервера 1С 8.3: железо, система и СУБД

Сервер 1С ставится на Windows (серверные версии от 2016 и новее) или на Linux (пакеты deb и rpm). Версия платформы на сервере и у клиентов должна совпадать до номера сборки: клиент 8.3.24.1342 не подключится к серверу 8.3.24.1368.

Состав системы:

  • 🖥 Сервер 1С — служба «Агент сервера 1С:Предприятия 8.3».
  • 🗄 СУБД — чаще всего MS SQL Server или PostgreSQL. Для PostgreSQL берут сборки, адаптированные под 1С, обычные дистрибутивы без патчей не подойдут.
  • 🌐 Веб-сервер (необязательно) — IIS или Apache, если нужен доступ через браузер, тонкий клиент по HTTP или HTTP-сервисы.
  • 🔑 Лицензии — серверная плюс клиентские на нужное число подключений.

Официальных «минимальных требований под N пользователей» фирма не публикует, поэтому ориентиры здесь практические:

НагрузкаПроцессорПамять (1С + СУБД на одной машине)Диски
до 10–15 пользователей4 ядра16 ГБSSD
20–50 пользователей8 ядер32–64 ГБSSD/NVMe, отдельный том под СУБД
50+ пользователей16+ ядерот 64 ГБNVMe, СУБД на отдельной машине

Для 1С важнее высокая частота ядра, чем их количество: основная часть операций однопоточная. Восемь ядер на 3,5 ГГц обычно дают больше, чем шестнадцать на 2,2 ГГц.

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

Установка сервера 1С Предприятие и создание первой базы

Сервер ставится тем же дистрибутивом платформы, что и клиент, только с другим набором компонентов. Последовательность для Windows:

  1. Запустите setup.exe из полного дистрибутива платформы (технологическая платформа для Windows 64-бит).
  2. В списке компонентов включите «Сервер 1С:Предприятия 8» и «Администрирование сервера 1С:Предприятия». «Модули расширения веб-сервера» — если планируете публикацию.
  3. Отметьте установку сервера как сервиса Windows. Установщик предложит создать пользователя USR1CV8 — служба будет работать от его имени.
  4. После установки проверьте в оснастке services.msc, что служба агента запущена.
  5. Зарегистрируйте консоль администрирования (см. следующий раздел).
  6. В консоли создайте информационную базу: укажите имя базы в кластере, тип СУБД, адрес сервера СУБД, имя базы данных, логин и пароль пользователя СУБД. Галочка «Создать базу данных в случае её отсутствия» создаст пустую базу в СУБД.
  7. Загрузите данные: откройте новую базу в Конфигураторе и загрузите .dt из файловой.
  8. У клиентов добавьте базу в список с вариантом «На сервере 1С:Предприятия»: имя кластера (обычно имя или IP машины) и имя базы в кластере.

Строка соединения серверной базы выглядит так:

Srvr="srv-1c";Ref="buh";

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

Консоль администрирования кластера и утилита rac

Графическая консоль — оснастка MMC «Администрирование серверов 1С:Предприятия». В ней видно дерево: центральный сервер → кластеры → информационные базы, сеансы, соединения, блокировки, рабочие серверы и процессы.

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

regsvr32 "C:\Program Files\1cv8\8.3.24.1342\bin\radmin.dll"

Номер версии в пути подставьте свой. Если консоль показывает ошибку о несовпадении версий с сервером, причина почти всегда в том, что зарегистрирован radmin.dll от старой сборки.

Что делают в консоли чаще всего:

  • 👥 смотрят и завершают сеансы — например, повисший сеанс пользователя, который держит лицензию;
  • 🔒 ставят блокировку начала сеансов перед обновлением конфигурации;
  • 📋 включают блокировку регламентных заданий в копии базы, чтобы тестовая база не отправляла отчёты и не загружала банк;
  • ⚙️ настраивают рабочий сервер: диапазон портов, число баз и соединений на процесс, пороги памяти.

На Linux и для скриптов есть консольная утилита rac. Она работает через сервер администрирования ras, поэтому сначала запускают его, а потом обращаются к нему:

rac cluster list
rac session list --cluster=<uuid кластера>

Первая команда выводит кластеры и их идентификаторы, вторая — список сеансов. Полный перечень команд и параметров выдаёт rac help.

Завершение сеанса из консоли обрывает работу пользователя без сохранения. Перед этим предупредите человека, а массово завершать сеансы лучше вне рабочего времени.

Лицензии и редакции сервера: ПРОФ, КОРП, 32 и 64 бита

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

Основные варианты:

ЛицензияЧто даётОриентир по цене
Сервер МИНИсерверный режим на небольшое число подключений (до 5)около 20–30 тыс. ₽
Сервер ПРОФ, 32 биттолько 32-разрядный сервероколо 50 тыс. ₽
Сервер ПРОФ, 64 бит64-разрядный и 32-разрядный сервероколо 85–90 тыс. ₽
Сервер КОРП, 64 битплюс расширенные механизмы кластерав несколько раз дороже ПРОФ

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

КОРП нужен, когда используют механизмы крупных внедрений: отказоустойчивый кластер из нескольких рабочих серверов, требования назначения функциональности, ограничение потребления ресурсов. Для одной машины на 20–50 пользователей хватает ПРОФ.

Лицензии бывают программные (привязаны к параметрам компьютера, активируются пинкодом) и аппаратные (USB-ключ). При замене серверного оборудования программную лицензию активируют повторно резервным пинкодом из комплекта.

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

Отдельный вопрос — СУБД. PostgreSQL в сборках для 1С бесплатен. MS SQL Server Express бесплатен, но ограничен размером базы (10 ГБ) и ресурсами, для рабочей базы его хватает ненадолго.

Производительность сервера 1С и типичные неполадки

Большинство жалоб «сервер 1С тормозит» упирается не в сам сервер, а в СУБД, диски или код конфигурации. Порядок проверки:

  1. Память. Смотрите в диспетчере задач, сколько занимают процессы rphost и СУБД вместе. Если память кончается, Windows уходит в файл подкачки и всё встаёт.
  2. Диск. Высокая очередь на томе с базой данных — признак, что дискам не хватает скорости.
  3. Обслуживание СУБД. Для MS SQL нужны регулярное обновление статистики и перестроение индексов, для PostgreSQL — VACUUM и ANALYZE. Без этого запросы со временем медленнеют.
  4. Ожидания на блокировках. В консоли кластера в разделе блокировок видно, кто кого держит.
  5. Пороги рабочих процессов. В свойствах рабочего сервера задаются критический и временно допустимый объёмы памяти процессов. Слишком низкие значения приводят к частым перезапускам rphost.

Отдельно про «очистку кэша сервера». Иногда при странных ошибках сеансов чистят сеансовые данные: останавливают службу и удаляют каталоги snccntx* внутри srvinfo\reg_1541.

Остановка службы агента обрывает все сеансы всех баз кластера. Делайте это вне рабочего времени и только после предупреждения пользователей. Удаляйте только папки snccntx*, файл 1CV8Clst.lst не трогайте — в нём список баз кластера.

Диагностика: выберите симптом

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

Можно ли перенести серверную базу обратно в файловую?
Да. Выгрузите базу в .dt через Конфигуратор, создайте пустую файловую базу и загрузите туда файл. Конфигурация и данные переносятся целиком.
Нужно ли покупать сервер 1С для удалённого рабочего стола (RDP)?
Нет. Если пользователи работают на терминальном сервере с файловой базой, это всё ещё файловый вариант. Сервер 1С нужен, когда растёт нагрузка и число одновременных пользователей.
Можно ли запустить несколько версий сервера 1С на одной машине?
Да, если каждой службе агента назначить свои порты, например 1540 и 2540, и свои диапазоны рабочих процессов. Клиент указывает нестандартный порт после имени сервера через двоеточие.
Работает ли сервер 1С на Linux так же, как на Windows?
Функционально — да, конфигурации не меняются. Отличается администрирование: графическая консоль есть только под Windows, на Linux пользуются rac или подключают консоль с другой машины.
Сколько клиентских лицензий нужно для сервера?
Столько, сколько одновременных подключений пользователей. Серверная лицензия их не включает, а фоновые и регламентные задания клиентских лицензий не занимают.