Сервер 1С:Предприятия 8.3 — какие задачи он решает и как ими управлять

· 11 мин

Содержание

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

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

Из чего состоит сервер 1С и чем им управлять

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

ПроцессРольПорт по умолчанию
ragentАгент сервера: принимает первое подключение клиента и консоли1540
rmngrМенеджер кластера: реестр баз, сеансы, блокировки, лицензии1541
rphostРабочие процессы: выполняют серверный код конфигурациидиапазон 1560–1591
rasСервер администрирования для утилиты rac1545

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

Инструменты управления:

  • 🖥️ Консоль администрирования серверов 1С — оснастка MMC для Windows. Ставится вместе с платформой, если отметить компонент «Администрирование сервера 1С:Предприятия».
  • ⌨️ rac — утилита командной строки, работает через ras. Подходит для скриптов и для Linux-серверов.
  • 🌐 Сторонние веб-консоли поверх ras — по желанию, если администраторов несколько.

Консоль не открывается после обновления платформы и пишет, что не найден класс? Перерегистрируйте библиотеку нужной версии от имени администратора: regsvr32 "C:\Program Files\1cv8\8.3.xx.xxxx\bin\radmin.dll". Версия консоли должна совпадать с версией сервера.

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

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

Что настраивается в кластере

  • ⚙️ Рабочие серверы. Добавляются в ветке «Рабочие серверы» кластера. Один из них отмечен как центральный — на нём работает менеджер кластера.
  • 📦 Ограничения рабочих процессов. Количество баз и соединений на процесс, максимальный объём памяти процессов, безопасный расход памяти за один вызов. Эти параметры задаются в свойствах рабочего сервера.
  • 🔁 Перезапуск процессов. В свойствах кластера задают интервал перезапуска и допустимый объём памяти. Процесс, превысивший порог, платформа плавно заменяет новым: новые соединения уходят в свежий процесс, старый доживает и закрывается.
  • ⚖️ Режим распределения нагрузки. Приоритет по производительности или по памяти — выбор зависит от того, чего на сервере меньше.
  • 🧭 Требования назначения функциональности. Позволяют, например, отправить все фоновые и регламентные задания на отдельную машину, а интерактивных пользователей оставить на основной.

Отказоустойчивость

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

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

Администрирование информационных баз на сервере 1С

В ветке «Информационные базы» консоли видны все базы кластера. С ними на сервере можно делать то, что в файловом варианте недоступно в принципе.

Создание и удаление базы

База создаётся двумя путями: из консоли (правой кнопкой по ветке → Создать → Информационная база) или из окна запуска 1С через «Добавить → Создание новой информационной базы → На сервере 1С:Предприятия». В обоих случаях указывают:

  1. Имя базы в кластере — его потом пишут в строке подключения Srvr="srv1c";Ref="buh";.
  2. Тип и адрес сервера СУБД (MS SQL Server, PostgreSQL, Oracle, IBM Db2).
  3. Имя базы данных в СУБД и пользователя СУБД.
  4. Флаг «Создать базу данных в случае её отсутствия».

При удалении базы из кластера консоль предлагает три варианта: удалить базу данных на сервере СУБД, очистить её или оставить нетронутой. Выбирайте «Оставить», если не уверены — так из кластера исчезнет только регистрация, а данные в СУБД сохранятся.

Блокировка входа и регламентных заданий

В свойствах базы есть параметры, которые пригодятся перед обновлением или выгрузкой:

  • 🔒 Блокировка начала сеансов — с периодом действия, сообщением пользователям и кодом разрешения. С кодом можно войти, указав в параметре запуска /UC код.
  • ⏸️ Блокировка регламентных заданий — задания перестают запускаться. Нужна при копировании рабочей базы в тестовую, чтобы копия не начала отправлять письма, обмены и выгрузки от имени рабочей.
  • 🎫 Выдача лицензий сервером — флаг «Разрешить выдачу лицензий сервером 1С:Предприятия». Тогда клиентские лицензии берутся с сервера, а не с каждого компьютера.

Сеансы, соединения и блокировки

В ветке базы видно, кто подключён, с какого компьютера, каким приложением и сколько памяти и времени вызова потратил сеанс. Отсюда же можно завершить сеанс.

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

Ветка «Блокировки» показывает управляемые блокировки данных. Если пользователи жалуются, что документ «висит» на проведении, здесь видно, какой сеанс держит объект.

Настройка производительности сервера 1С

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

СлойЧто делатьКак часто
СУБДОбновление статистики, перестроение индексов, контроль роста журнала транзакцийСтатистика — ежедневно ночью, индексы — еженедельно
Рабочие процессыЛимит памяти, количество баз на процесс, интервал перезапускаПри росте числа пользователей
МашинаОтдельный быстрый диск под временные файлы СУБД, план питания «Высокая производительность»Один раз при настройке
БазыРежим управляемых блокировок, отказ от лишних фоновых заданийПо результатам замеров

Практические приёмы, которые дают заметный эффект:

  1. План обслуживания в СУБД. Для MS SQL — задание агента SQL Server с обновлением статистики и реорганизацией индексов. Для PostgreSQL — регулярный VACUUM ANALYZE (autovacuum включён по умолчанию, но для крупных таблиц его порогов часто не хватает).
  2. Отдельный процесс под тяжёлую базу. Если одна база «съедает» память и тормозит остальные, назначьте ей отдельный рабочий процесс через ограничение количества баз на процесс или требования назначения функциональности.
  3. Счётчики потребления ресурсов. В свежих версиях платформы в консоли есть счётчики и ограничения потребления ресурсов: можно увидеть, какой пользователь или база грузит процессор, и ограничить, например, время вызова.
  4. Очистка сеансовых данных. Каталог кластера srvinfo\reg_1541\snccntx* хранит кэш сеансовых данных. При странных ошибках и разрастании этого каталога его очищают — только при остановленной службе агента.

Остановка службы «Агент сервера 1С:Предприятия 8.3» отключает всех пользователей всех баз кластера. Делайте это ночью или после объявления, предварительно заблокировав вход.

Безопасность сервера 1С и разграничение прав

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

Уровни администраторов

  • 👑 Администраторы центрального сервера — задаются на уровне агента. Могут создавать и удалять кластеры. Пока список пуст, управлять агентом может любой, кто подключился к порту 1540.
  • 🛠️ Администраторы кластера — ветка «Администраторы» внутри кластера. Управляют базами, сеансами и рабочими процессами.
  • 🗝️ Права в базе — пароль администратора базы нужен для удаления базы и изменения её параметров, даже если вы администратор кластера.

Профили безопасности

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

Учётная запись службы

Служба агента должна работать от отдельного пользователя (по умолчанию установщик предлагает USR1CV8) с минимальными правами, а не от LocalSystem. Этому пользователю нужны права на каталог кластера, каталог временных файлов и, при использовании, на сетевые папки обменов.

Минимум безопасности после установки сервера 1С
Выполнено: 0 / 6

Регламентные задания и автоматизация на сервере 1С

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

Где смотреть регламентные задания

В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) список заданий с расписанием и журналом запусков находится в Администрирование → Обслуживание → Регламентные операции → Регламентные и фоновые задания. Там же можно включить или выключить задание и запустить его вручную.

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

Скрипты через rac

Утилита rac подключается к серверу администрирования ras. На Windows ras можно запустить вручную или зарегистрировать службой. Базовые команды:

rac localhost:1545 cluster list
rac localhost:1545 infobase summary list --cluster=<uuid-кластера>
rac localhost:1545 session list --cluster=<uuid-кластера>
rac localhost:1545 session list --cluster=<uuid-кластера> --licenses
rac localhost:1545 session terminate --cluster=<uuid-кластера> --session=<uuid-сеанса>

Если в кластере заданы администраторы, к командам добавляют --cluster-user и --cluster-pwd. Полный список подкоманд — в rac help и rac <режим> help.

Пакетный запуск конфигуратора

Ночную выгрузку базы в .dt удобно запускать планировщиком Windows:

"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" DESIGNER /S "srv1c\buh" /N "Администратор" /P "пароль" /DumpIB "D:\backup\buh.dt" /Out "D:\backup\buh_log.txt"

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

.dt — удобная переносимая копия, но не замена резервному копированию средствами СУБД. Для крупных баз основной способ — полные и разностные бэкапы SQL Server или pg_dump для PostgreSQL, а .dt — дополнительный.

Мониторинг сервера 1С и диагностика проблем

Когда пользователи говорят «1С тормозит», у администратора есть четыре источника фактов.

  1. Консоль администрирования. Сеансы с наибольшим временем вызова и потреблением памяти, рабочие процессы с их объёмом памяти и числом соединений.
  2. Журнал регистрации базы. Ошибки, входы, изменения данных. Открывается из клиента в разделе Администрирование или в конфигураторе.
  3. Технологический журнал. Самый подробный инструмент: фиксирует исключения, долгие запросы, ожидания на блокировках, взаимоблокировки.
  4. Счётчики Windows и СУБД. Загрузка процессора, очередь диска, ожидания на стороне SQL Server или PostgreSQL.

Как включить технологический журнал

Создайте файл logcfg.xml в каталоге conf платформы (например, C:\Program Files\1cv8\conf\). Пример — исключения, таймауты и взаимоблокировки за последние 24 часа:

<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="D:\techlog" history="24">
    <event>
      <eq property="name" value="EXCP"/>
    </event>
    <event>
      <eq property="name" value="TTIMEOUT"/>
    </event>
    <event>
      <eq property="name" value="TDEADLOCK"/>
    </event>
    <property name="all"/>
  </log>
</config>

Платформа подхватывает файл без перезапуска службы. history="24" означает хранение логов 24 часа.

Не оставляйте журнал со всеми событиями включённым надолго — он за часы занимает десятки гигабайт и сам нагружает диск. Собрали данные — удалите или сузьте logcfg.xml.

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

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

  • ❌ Копия рабочей базы без блокировки заданий. Тестовая база начинает выгружать данные в банк, на сайт и в ЭДО. Блокировку ставят сразу после создания копии.
  • ❌ Консоль другой версии. Консоль 8.3.22 к серверу 8.3.25 подключится с ошибкой или покажет не все параметры.
  • ❌ Кластер без администраторов. Любой сотрудник с установленной консолью может зайти и удалить регистрацию базы.
  • ❌ Удаление базы с вариантом «Удалить базу данных». Данные в СУБД исчезают безвозвратно, если нет бэкапа.
  • ❌ Остановка службы днём ради очистки кэша. Все пользователи всех баз теряют несохранённые данные.

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

Нужна ли отдельная лицензия на сервер 1С?
Да. Клиент-серверный вариант требует лицензии на сервер 1С:Предприятия (32- или 64-разрядного) плюс клиентские лицензии на пользователей. Без серверной лицензии рабочий сервер не обслуживает подключения.
Можно ли держать сервер 1С и СУБД на одной машине?
Можно, для 20–50 пользователей это обычная схема. Тогда протокол Shared Memory между 1С и MS SQL ускоряет обмен. При росте нагрузки СУБД выносят на отдельный сервер.
Сколько баз можно разместить на одном сервере 1С?
Жёсткого ограничения платформа не задаёт. Предел определяют память и процессор: каждая активная база занимает память в рабочих процессах, поэтому нагрузку смотрят по счётчикам в консоли.
Работает ли сервер 1С на Linux?
Да, сервер 1С:Предприятия 8.3 выпускается для Linux. Управление идёт через rac и ras или через консоль на Windows-машине, подключённую к Linux-серверу по сети.
Чем сервер 1С отличается от файловой базы для пользователя?
Пользователь работает так же, но регламентные задания идут без открытого клиента, много пользователей не мешают друг другу на одном файле, а администратор видит и управляет сеансами централизованно.