Как устроен сервер 1С:Предприятия и когда без него не обойтись
Содержание
Сервер 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 пользователей переходите на сервер» нет. На практике сигналы такие:
- Пользователи регулярно ждут окончания чужого проведения.
- Закрытие месяца или расчёт зарплаты тянется часами и мешает остальным.
- Файл базы перевалил за десятки гигабайт и тормозит при открытии.
- Нужен доступ из филиалов или через интернет, а файловую базу по VPN открывать мучительно.
- Нужно делать копии днём, не выгоняя пользователей.
Переход выполняется без переписывания конфигурации: выгружаете файловую базу в .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:
- Запустите
setup.exeиз полного дистрибутива платформы (технологическая платформа для Windows 64-бит). - В списке компонентов включите «Сервер 1С:Предприятия 8» и «Администрирование сервера 1С:Предприятия». «Модули расширения веб-сервера» — если планируете публикацию.
- Отметьте установку сервера как сервиса Windows. Установщик предложит создать пользователя
USR1CV8— служба будет работать от его имени. - После установки проверьте в оснастке
services.msc, что служба агента запущена. - Зарегистрируйте консоль администрирования (см. следующий раздел).
- В консоли создайте информационную базу: укажите имя базы в кластере, тип СУБД, адрес сервера СУБД, имя базы данных, логин и пароль пользователя СУБД. Галочка «Создать базу данных в случае её отсутствия» создаст пустую базу в СУБД.
- Загрузите данные: откройте новую базу в Конфигураторе и загрузите
.dtиз файловой. - У клиентов добавьте базу в список с вариантом «На сервере 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С тормозит» упирается не в сам сервер, а в СУБД, диски или код конфигурации. Порядок проверки:
- Память. Смотрите в диспетчере задач, сколько занимают процессы
rphostи СУБД вместе. Если память кончается, Windows уходит в файл подкачки и всё встаёт. - Диск. Высокая очередь на томе с базой данных — признак, что дискам не хватает скорости.
- Обслуживание СУБД. Для MS SQL нужны регулярное обновление статистики и перестроение индексов, для PostgreSQL —
VACUUMиANALYZE. Без этого запросы со временем медленнеют. - Ожидания на блокировках. В консоли кластера в разделе блокировок видно, кто кого держит.
- Пороги рабочих процессов. В свойствах рабочего сервера задаются критический и временно допустимый объёмы памяти процессов. Слишком низкие значения приводят к частым перезапускам rphost.
Отдельно про «очистку кэша сервера». Иногда при странных ошибках сеансов чистят сеансовые данные: останавливают службу и удаляют каталоги snccntx* внутри srvinfo\reg_1541.
Остановка службы агента обрывает все сеансы всех баз кластера. Делайте это вне рабочего времени и только после предупреждения пользователей. Удаляйте только папки snccntx*, файл 1CV8Clst.lst не трогайте — в нём список баз кластера.
radmin.dll от той же сборки, что и сервер, командой regsvr32 от имени администратора.Частые вопросы о сервере 1С
Можно ли перенести серверную базу обратно в файловую?
.dt через Конфигуратор, создайте пустую файловую базу и загрузите туда файл. Конфигурация и данные переносятся целиком.Нужно ли покупать сервер 1С для удалённого рабочего стола (RDP)?
Можно ли запустить несколько версий сервера 1С на одной машине?
Работает ли сервер 1С на Linux так же, как на Windows?
rac или подключают консоль с другой машины.