Рабочий сервер в кластере 1С:Предприятия 8.3: роль, железо, обслуживание
Содержание
Рабочий сервер 1С — это компьютер, включённый в кластер серверов 1С:Предприятия 8.3, на котором работают процессы, выполняющие код конфигурации: проведение документов, запросы к базе, формирование отчётов. Клиент только показывает формы, а вся тяжёлая работа идёт на рабочем сервере, который общается с СУБД.
Термин встречается в двух смыслах. В документации платформы «рабочий сервер» — это конкретный объект кластера, который видно в консоли администрирования. В разговоре админов так ещё называют «боевой» сервер, где живут рабочие базы, в отличие от тестового. Ниже разобраны оба значения: как он устроен, что ему нужно и как его держать в порядке.
Что называют рабочим сервером 1С и чем он отличается от тестового
В клиент-серверном варианте 1С есть три звена:
- 💻 клиент — тонкий клиент, веб-клиент или толстый клиент на рабочем месте пользователя;
- ⚙️ кластер серверов 1С — один или несколько рабочих серверов, которые выполняют прикладной код;
- 🗄️ СУБД — MS SQL Server, PostgreSQL, IBM Db2 или Oracle, где физически лежат данные.
Кластер — логическое понятие. Рабочий сервер — физическая или виртуальная машина в этом кластере. В маленькой компании всё помещается на одном компьютере: и кластер с одним рабочим сервером, и СУБД. В крупной рабочих серверов несколько, нагрузка распределяется между ними.
Один из рабочих серверов обязательно центральный: он хранит реестр кластера — список информационных баз, администраторов, настроек. Остальные рабочие серверы получают эту информацию от него. В консоли признак задаётся флажком «Центральный сервер» в свойствах рабочего сервера.
Боевой и тестовый сервер
Во втором, бытовом смысле «рабочий сервер» противопоставляют тестовому:
| Рабочий (боевой) | Тестовый | |
|---|---|---|
| Данные | Реальные, с которыми работают сотрудники | Копия рабочей базы или демобаза |
| Кто работает | Все пользователи | Администратор, программист, консультант |
| Обновления | Только проверенные | Сюда ставят релиз первым |
| Регламентные задания | Работают | Блокируются при создании копии |
| Требования к простою | Минимальный, по графику | Можно перезапускать когда угодно |
Тестовая база может жить на том же кластере, что и рабочая, но лучше держать её отдельно. Тяжёлая проверка обновления на общем сервере тормозит всех пользователей.
При создании копии рабочей базы на сервере поставьте флажок «Блокировка регламентных заданий включена». Иначе копия начнёт сама загружать банковские выписки, отправлять письма и обмениваться с ЭДО от имени реальной организации.
Как устроен рабочий сервер изнутри: агент, менеджер кластера, рабочие процессы
Рабочий сервер — это не одна программа, а набор процессов, которые запускает служба «Агент сервера 1С:Предприятия 8.3».
| Процесс | Роль | Порт по умолчанию |
|---|---|---|
ragent.exe | Агент сервера: запускает остальные процессы, принимает первое обращение клиента и консоли | 1540 |
rmngr.exe | Менеджер кластера: хранит реестр, раздаёт клиентов по рабочим процессам, ведёт сеансы и блокировки | 1541 |
rphost.exe | Рабочий процесс: выполняет серверный код конфигурации, обращается к СУБД | диапазон 1560–1591 |
Как идёт подключение:
- Клиент обращается к агенту на порт 1540 по имени сервера, указанному в строке подключения к базе.
- Агент передаёт его менеджеру кластера на порт 1541.
- Менеджер назначает клиенту рабочий процесс, и дальше клиент работает с
rphostчерез порт из диапазона.
Диапазон портов рабочих процессов задаётся в свойствах рабочего сервера, а не кластера. Если открыть в брандмауэре только 1540 и 1541, клиент увидит сервер, но подключение к базе упадёт.
Служба запускается с параметрами, их видно в свойствах службы Windows. Типичная строка выглядит так:
"C:\Program Files\1cv8\8.3.25.1374\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug
Папка srvinfo — рабочий каталог сервера. В ней лежит реестр кластера (подпапка reg_1541), журналы регистрации баз и сеансовые данные.
Что настраивается в свойствах рабочего сервера
Открыть консоль: Пуск → 1С:Предприятие 8.3 → Администрирование серверов 1С Предприятия. Дальше Центральный сервер → Кластеры → Кластер → Рабочие серверы → имя сервера → Свойства.
Там задаются:
- 🔢 диапазон IP-портов рабочих процессов;
- 📦 сколько информационных баз и соединений обслуживает один рабочий процесс;
- 🧠 ограничения по памяти: безопасный расход памяти за один вызов, критический и временно допустимый объём памяти процессов;
- 🏷️ признак центрального сервера;
- 🔁 параметры отказоустойчивости кластера.
Отдельно у рабочего сервера есть ветка «Требования назначения функциональности». Через неё указывают, какие базы и какие виды нагрузки (например, фоновые задания) должен обслуживать именно этот сервер. Нужна, когда серверов несколько и вы хотите вынести регламентные задания на отдельную машину.
Если консоль не открывается с ошибкой про класс или компонент, перерегистрируйте библиотеку консоли той версии платформы, что стоит на сервере: regsvr32 "C:\Program Files\1cv8\8.3.25.1374\bin\radmin.dll" из командной строки администратора.
Требования к рабочему серверу 1С: железо, ОС и СУБД
Фирма 1С не публикует жёсткую таблицу «столько-то пользователей — столько-то ядер». Цифры ниже — ориентиры из практики для типовых конфигураций (БП, ЗУП, УТ), которые надо проверять на своей нагрузке.
| Активных пользователей | Процессор | ОЗУ (сервер 1С + СУБД на одной машине) | Диски |
|---|---|---|---|
| до 10 | 4 ядра | 16 ГБ | SSD |
| 10–30 | 6–8 ядер | 32 ГБ | SSD/NVMe, база и журналы СУБД отдельно |
| 30–80 | 12–16 ядер | 64 ГБ | NVMe, отдельные тома под данные, журналы, tempdb |
| больше 80 | разнос 1С и СУБД на разные машины | от 64 ГБ на каждую | NVMe, RAID 10 |
На что смотреть при выборе:
- ⚡ частота ядра важнее числа ядер. Один вызов сервера 1С выполняется в одном потоке. Процессор с 3,5+ ГГц на ядро ускорит проведение сильнее, чем лишние 8 медленных ядер.
- 💾 дисковая подсистема. Узкое место чаще всего не процессор, а задержки диска под СУБД. HDD под рабочую базу сегодня не вариант.
- 🧠 память. СУБД забирает почти всю свободную память под кеш. На MS SQL ограничьте максимум памяти, оставив серверу 1С и ОС запас, иначе
rphostначнут выдавливать в файл подкачки. - 🖥️ ОС. Windows Server 2016 и новее или Linux (дистрибутивы, перечисленные в системных требованиях вашей версии платформы). Сервер 1С 8.3 ставьте 64-разрядный.
- 🗄️ СУБД. MS SQL Server — привычный вариант на Windows. PostgreSQL в сборках для 1С бесплатен и всё чаще выбирается для новых внедрений. Версию СУБД сверяйте с системными требованиями конкретной версии платформы.
Лицензии
Для клиент-серверного режима нужны две вещи: лицензия на сервер 1С (для 64-разрядного сервера — соответствующая лицензия x64) и клиентские лицензии по числу одновременных подключений. Клиентские лицензии можно выдавать с сервера, тогда ключи на каждом рабочем месте не нужны. Без лицензии на сервер кластер базы не запустит.
Файловая база или серверная: когда пора переводить базу на рабочий сервер
Файловый режим — база лежит одним файлом 1Cv8.1CD в папке, а всю обработку выполняет компьютер пользователя. Серверный — база в СУБД, обработка на рабочем сервере.
| Признак | Файловый режим | Клиент-серверный режим |
|---|---|---|
| Пользователей одновременно | комфортно до 5–10 | десятки и сотни |
| Обмен по сети | весь файл читается по сети, тормозит при росте базы | по сети идут только данные форм |
| Блокировки | на уровне таблиц, пользователи чаще ждут друг друга | управляемые, на уровне записей |
| Резервное копирование | копия файла или выгрузка .dt при выходе всех пользователей | средствами СУБД, без остановки работы |
| Стоимость | дешевле: только клиентские лицензии | лицензия на сервер, СУБД, мощная машина, администратор |
| Риск повреждения базы | выше: сбой сети или питания во время записи | ниже, целостность обеспечивает СУБД |
Признаки, что файловой базы уже не хватает:
- Проведение документов и закрытие месяца заметно тормозят, когда работают несколько человек.
- Пользователи регулярно видят сообщения о конфликте блокировок.
- База разрослась до десятков гигабайт, открывается долго.
- Нужна работа удалённых сотрудников и филиалов через интернет .
- Нужно делать резервные копии днём, не выгоняя всех из базы.
Свой сервер или облако: что выбрать для рабочих баз
Рабочий сервер 1С не обязан стоять в офисе. Есть три основных варианта.
| Вариант | Плюсы | Минусы |
|---|---|---|
| Свой сервер в офисе | полный контроль, нет абонентской платы, доработки без ограничений | покупка железа и лицензий, нужен администратор, риски питания и бэкапов на вас |
| Арендованный сервер (виртуальная машина в дата-центре) | не покупаете железо, легко добавить ресурсы, надёжное питание и канал | ежемесячная плата, лицензии 1С и настройку всё равно ведёте вы или подрядчик |
| Облачный сервис 1С (базы у провайдера, доступ через браузер или тонкий клиент) | ничего не администрируете, обновления делает провайдер, доступ откуда угодно | ограничения на доработки и внешние обработки, данные у третьей стороны, зависимость от интернета |
Как прикинуть выгоду: сравните стоимость своего сервера за 3–4 года (железо, лицензия на сервер, СУБД, работа администратора) с суммой аренды за тот же срок. Для 3–5 пользователей облако почти всегда дешевле и проще. Для 30+ пользователей с доработанной конфигурацией обычно выигрывает свой или арендованный сервер.
Если база сильно доработана, а провайдер облака разрешает только типовые конфигурации или расширения — облачный сервис не подойдёт. Это стоит выяснить до переезда.
Как следить за рабочим сервером 1С и поддерживать его
Регулярное обслуживание сводится к четырём направлениям.
1. Состояние кластера
В консоли администрирования смотрите ветки «Рабочие процессы» и «Сеансы»: сколько памяти занимает каждый rphost, сколько сеансов, есть ли «висящие» сеансы без активности. То же доступно из командной строки через сервер администрирования ras и утилиту rac:
rem Запустить сервер администрирования (по умолчанию порт 1545)
ras cluster --port=1545
rem Список кластеров и рабочих процессов
rac cluster list
rac process list --cluster=<id кластера>
rac session list --cluster=<id кластера>
Точный синтаксис остальных команд смотрите в rac help. Этот вывод удобно забирать скриптом в систему мониторинга (Zabbix и аналоги).
2. Технологический журнал
Технологический журнал включается файлом logcfg.xml в каталоге conf платформы. В нём фиксируются исключения, долгие запросы, взаимоблокировки. Пример настройки на сбор ошибок и вызовов дольше 5 секунд:
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="D:\1c_techlog" history="24">
<event>
<eq property="name" value="EXCP"/>
</event>
<event>
<eq property="name" value="CALL"/>
<gt property="duration" value="50000"/>
</event>
<property name="all"/>
</log>
</config>
Длительность в журнале указывается в десятитысячных долях секунды, поэтому 50000 — это 5 секунд. Параметр history — сколько часов хранить логи. Включайте журнал адресно: полный сбор всех событий за пару часов забивает диск.
3. Счётчики ОС и СУБД
Следите за загрузкой процессора, свободной памятью и очередью к диску (в Windows — «Системный монитор»). Постоянная очередь к диску под базой — сигнал менять дисковую подсистему, а не процессор. На стороне СУБД обязательны регламентные задачи: резервное копирование, обновление статистик, перестроение индексов.
4. Регламент работ
- 🕐 обновления конфигураций и платформы — сначала на тестовой копии, потом на рабочем сервере в нерабочее время;
- 💾 полный бэкап базы средствами СУБД ежедневно, журнал транзакций — чаще, если база в полной модели восстановления;
- 🔁 периодический перезапуск службы агента, если рабочие процессы растут по памяти и не освобождают её.
Перезапуск службы агента, завершение рабочего процесса и очистка сеансовых данных в папке srvinfo обрывают сеансы всех пользователей на этом сервере. Несохранённые документы будут потеряны. Делайте это вне рабочего времени и предупредите людей заранее.
Ошибки при настройке рабочего сервера 1С и как их избежать
- Разные версии платформы на клиенте и сервере. Клиент подключается к кластеру только той же версии платформы, что и сервер. После обновления сервера обновите клиентов или настройте автоматическую установку версии.
- Закрытые порты. Открывают 1540 и 1541, забывая диапазон рабочих процессов 1560–1591. Клиент видит сервер, но в базу не входит.
- Сервер недоступен по имени. Кластер сообщает клиенту имя машины, а не IP. Если имя не разрешается DNS, клиент не найдёт рабочий процесс. Лечится записью в DNS или в файле
hostsклиента. - Нет прав у учётной записи службы. Служба агента работает от отдельного пользователя (по умолчанию
USR1CV8). У него должны быть полные права на папкуsrvinfoи каталог технологического журнала. - Антивирус сканирует
srvinfoи файлы СУБД. Это даёт тормоза и блокировки файлов. Добавьте папки сервера 1С и данных СУБД в исключения. - Энергосбережение. Схема электропитания «Сбалансированная» снижает частоту процессора. Для рабочего сервера ставьте «Высокая производительность», а в BIOS отключайте режимы экономии, если сервер позволяет.
- Сервер 1С и СУБД дерутся за память. Не ограничен максимум памяти СУБД — сервер 1С уходит в подкачку.