Как устроен сервер 1С и когда без него не обойтись
Содержание
Сервер 1С:Предприятие — это отдельная программа (служба), которая выполняет код конфигурации и работает с базой данных вместо компьютеров пользователей. Он нужен, когда в одной базе одновременно работают больше 10–15 человек, когда база выросла до десятков гигабайт или когда важны надёжность и скорость проведения документов.
Типичная картина: в файловой базе пять бухгалтеров, и каждый закрытый месяц превращается в ожидание. Документы проводятся по минуте, всплывают ошибки блокировок, по сети тянется огромный файл. Сервер 1С снимает эту проблему: вычисления идут на одной мощной машине, а пользователи получают только результат.
Файловая база и сервер 1С: в чём разница на практике
У платформы 1С:Предприятие 8.3 два варианта работы с информационной базой.
Файловый вариант. Вся база лежит в одном файле 1Cv8.1CD в общей папке. Каждый клиент сам открывает этот файл по сети, сам читает данные и сам их пишет. Сервера как программы нет — есть только сетевая папка.
Клиент-серверный вариант. Данные хранятся в СУБД (MS SQL Server, PostgreSQL и другие). Между пользователями и СУБД стоит сервер 1С: он принимает запросы клиентов, выполняет серверный код конфигурации и обращается к базе данных.
| Критерий | Файловая база | Сервер 1С + СУБД |
|---|---|---|
| Сколько пользователей комфортно | 1–10, иногда до 15 | десятки и сотни |
| Размер базы | до нескольких десятков ГБ, дальше тормозит | сотни ГБ |
| Блокировки | на уровне таблиц, часто конфликты | управляемые, на уровне записей |
| Нагрузка на сеть | высокая: по сети ходят данные | низкая: ходят команды и результаты |
| Резервное копирование | копия файла или выгрузка .dt | средствами СУБД, без остановки работы |
| Отказ клиента при записи | риск повредить файл базы | транзакция откатится в СУБД |
| Стоимость | бесплатно сверх клиентских лицензий | лицензия на сервер, сервер, СУБД, администратор |
Граница «10–15 пользователей» не жёсткая. Небольшая фирма с тремя бухгалтерами и базой на 30 ГБ тоже упрётся в файловый режим. А десять человек, которые только смотрят справочники, могут годами жить на файловой базе.
Конфигурация при переходе не меняется. Ту же Бухгалтерию или ЗУП переносят на сервер выгрузкой в .dt и загрузкой в новую серверную базу.
Из чего состоит сервер 1С: агент, кластер, рабочие процессы
Сервер 1С — это не одна программа, а связка процессов. Они ставятся вместе с платформой, если при установке выбрать компонент «Сервер 1С:Предприятия».
Основные процессы
- 🧭 Агент сервера (
ragent) — точка входа. Слушает порт1540, хранит список кластеров и администраторов. В Windows работает как служба «Агент сервера 1С:Предприятия 8.3». - 🗂️ Менеджер кластера (
rmngr) — порт1541. Знает, какие базы зарегистрированы, распределяет сеансы и управляет рабочими процессами. - ⚙️ Рабочие процессы (
rphost) — выполняют код конфигурации и ходят в СУБД. Порты берут из диапазона, по умолчанию1560–1591. - 🛠️ Сервер администрирования (
ras) — порт1545, нужен для управления через утилиту командной строкиrac.
Как проходит подключение
- Клиент обращается к агенту на порт
1540. - Агент направляет его к менеджеру кластера на
1541. - Менеджер назначает рабочий процесс, и клиент дальше общается с ним напрямую по порту из диапазона.
- Рабочий процесс выполняет запросы к СУБД и возвращает клиенту готовый результат.
Отсюда первое правило настройки: в брандмауэре сервера должны быть открыты все три группы портов. Открыть только 1540 и удивляться ошибкам подключения — классика.
Кластер и рабочие серверы
Кластер — логическое объединение. В нём зарегистрированы информационные базы и один или несколько рабочих серверов (физических машин). В маленькой компании кластер состоит из одного компьютера. В крупной — из нескольких, между которыми распределяется нагрузка.
Диапазон портов рабочих процессов, лимиты памяти и требования назначения функциональности задаются в свойствах рабочего сервера, а не кластера целиком.
Служебные данные кластера (реестр баз, сеансы, кэш) лежат в каталоге srvinfo. Обычно это C:\Program Files\1cv8\srvinfo, если при установке не указали другой путь.
Требования к серверу 1С: железо, ОС и СУБД
Фирма 1С не даёт жёстких минимумов «на N пользователей». Ниже ориентиры из практики для типовых конфигураций вроде Бухгалтерии и ЗУП. Всё примерно: тяжёлая УТ или ERP съедят больше.
| Пользователей | Процессор | Память | Диски |
|---|---|---|---|
| до 15 | 4 ядра | 16 ГБ | SSD, 2 диска в зеркале |
| 15–40 | 6–8 ядер | 32 ГБ | NVMe SSD |
| 40–100 | 12–16 ядер | 64 ГБ и больше | NVMe SSD, отдельный диск под журналы СУБД |
Здесь сервер 1С и СУБД стоят на одной машине. Это самый простой и при небольших нагрузках самый быстрый вариант: между ними нет сетевых задержек.
Что важнее всего для скорости
- 🚀 Частота ядра. Одна операция пользователя (проведение документа, отчёт) идёт в основном в одном потоке. Процессор с высокой частотой на ядро даст больше, чем много медленных ядер.
- 💾 Скорость дисков. СУБД постоянно пишет журнал транзакций. Обычные HDD для рабочей базы сейчас не годятся.
- 🧠 Память. Если СУБД не хватает памяти под кэш, она начинает читать с диска, и всё замедляется.
- 🌐 Сеть между сервером 1С и СУБД. Если они на разных машинах, нужен минимум 1 Гбит/с и минимальная задержка.
Операционная система и СУБД
Сервер 1С работает на Windows Server и на Linux (Debian, Ubuntu, RHEL-подобные и российские дистрибутивы). Ставьте только 64-разрядную версию сервера.
Поддерживаемые СУБД:
- Microsoft SQL Server — привычный вариант для Windows. Для небольших баз хватает бесплатной редакции Express, но у неё есть ограничения на размер базы и память.
- PostgreSQL — бесплатная СУБД. Используйте сборку с патчами для 1С (от фирмы 1С или Postgres Pro), а не «чистую» версию из репозитория.
- IBM Db2 и Oracle Database — встречаются в крупных компаниях.
Лицензии
Для клиент-серверного варианта нужны два вида лицензий:
- Клиентские — на каждое одновременное подключение пользователя. Они нужны и в файловом режиме.
- Лицензия на сервер — отдельная. Без неё сервер базу не запустит.
Серверные лицензии выпускаются в нескольких редакциях. Для небольших компаний есть облегчённая редакция с ограничением на число подключений. Стандартная редакция («ПРОФ») подходит большинству. КОРП нужна, когда требуются возможности масштабирования и отказоустойчивости кластера. Ориентировочно серверная лицензия стоит от десятков тысяч рублей до сотен тысяч для КОРП — точную цену уточняйте у партнёра 1С.
Свой сервер или аренда в облаке
Выбор упирается в деньги, компетенции и требования безопасности.
| Своё железо | Аренда сервера (IaaS) | Аренда 1С в облаке (SaaS) | |
|---|---|---|---|
| Кто администрирует | ваш специалист | ваш специалист | провайдер |
| Лицензии | покупаете сами | покупаете сами | входят в аренду |
| Стартовые затраты | высокие: сервер, лицензии | низкие | минимальные |
| Ежемесячные затраты | электричество, обслуживание | аренда машины | ориентировочно 1–3 тыс. ₽ на пользователя |
| Доработки конфигурации | без ограничений | без ограничений | зависит от провайдера, часто ограничены |
| Данные | у вас в офисе | в дата-центре | у провайдера |
Когда выгоден свой сервер
- 💼 больше 20–30 пользователей и стабильный штат;
- 🔧 есть администратор, который умеет настраивать 1С и СУБД;
- 🔒 данные по требованиям безопасности должны оставаться в офисе.
Когда лучше облако
- 🧾 до 10–15 пользователей и типовые конфигурации без доработок;
- 🧑💻 нет своего администратора;
- 🌍 сотрудники работают из разных городов.
Средний путь — арендовать виртуальную машину в дата-центре и поставить туда свой сервер 1С. Железо не ваша забота, а настройки и лицензии под вашим контролем.
Если арендуете машину, проверьте, что процессор не «разделяемый» с жёсткими лимитами. На дешёвых тарифах 1С может работать в разы медленнее, чем на домашнем ПК.
Ошибки при настройке сервера 1С и как их избежать
Ещё несколько ошибок, которые не видны сразу, но аукаются через месяц:
- 🔐 Служба работает от учётной записи без прав на каталог
srvinfo. Сервер падает после перезагрузки или при росте журналов. - 🛡️ Антивирус проверяет файлы базы и
srvinfo. Добавьте в исключения каталоги СУБД,srvinfoи процессыrphost,rmngr,ragent. - 🧮 Установлен 32-разрядный сервер. Ему недоступна большая часть памяти, рабочие процессы упираются в лимит.
- 💤 Схема электропитания «Сбалансированная». Процессор снижает частоту, а для 1С важна именно она. Переключите на «Высокую производительность».
Не открывается консоль администрирования
Оснастка «Администрирование серверов 1С Предприятия» в Windows работает через библиотеку radmin.dll. После установки новой версии платформы консоль часто перестаёт открываться. Помогает перерегистрация библиотеки из командной строки от имени администратора:
regsvr32 "C:\Program Files\1cv8\8.3.xx.xxxx\bin\radmin.dll"
Вместо 8.3.xx.xxxx подставьте номер установленной версии. Разрядность библиотеки должна совпадать с разрядностью консоли.
Как ускорить и стабилизировать работу сервера 1С
Регламент СУБД
Самое недооценённое. Без обслуживания база замедляется месяц за месяцем.
- Ежедневно — обновление статистики.
- Раз в неделю — перестроение или реорганизация индексов.
- Для MS SQL — модель восстановления. Если нет резервного копирования журнала транзакций, ставьте
Simple, иначе журнал разрастётся до размера диска. - Для PostgreSQL — проверить, что работает автоочистка (autovacuum), и задать
shared_buffersпримерно в четверть памяти.
Лимиты памяти рабочих процессов
В свойствах рабочего сервера задают пороги памяти процессов. Когда процесс их превышает, кластер перезапускает его. Без лимитов один «утёкший» процесс съест всю память, и встанут все пользователи.
Очистка кэша сервера
При странных ошибках после обновления конфигурации помогает очистка сеансовых данных кластера. Для этого останавливают службу агента и удаляют папки snccntx* в каталоге кластера внутри srvinfo (например, srvinfo\reg_1541).
Остановка службы обрывает все сеансы, несохранённые данные пользователей пропадут. Делайте это вечером или в выходные, предупредив сотрудников. Удаляйте только папки snccntx*, остальные файлы каталога не трогайте.
Диагностика
- 📋 Технологический журнал — включается файлом
logcfg.xmlв каталогеconfплатформы. Показывает долгие запросы, взаимоблокировки и исключения. - 👥 Сеансы и лицензии — через консоль администрирования или командой
rac session list --licenses. Для остальных команд смотрите справкуrac help. - 📊 Монитор ресурсов ОС — загрузка ядер, очередь диска. Если одно ядро на 100%, а остальные отдыхают, нужен процессор с большей частотой, а не больше ядер.
Частые вопросы
Можно ли поставить сервер 1С на обычный компьютер?
Нужен ли сервер 1С для веб-клиента?
Можно ли держать на одном сервере несколько баз?
Сколько нужно клиентских лицензий при работе через сервер?
Вернётся ли база в файловый режим, если сервер больше не нужен?
.dt из Конфигуратора и загрузите её в новую файловую базу. Данные и конфигурация сохранятся.