Многие администраторы и пользователи сталкиваются с ситуацией, когда в строго определенное время работа в базе 1С прерывается, а сеансы пользователей принудительно завершаются. Давайте разберем, какие механизмы могут приводить к таким последствиям, где искать настройки и как диагностировать причину «выбросов» из системы.
Самая распространенная причина — это встроенная настройка кластера серверов 1С:Предприятие. В консоли администрирования существует параметр, который позволяет принудительно перезапускать рабочие процессы rphost через заданный интервал времени.
Важное примечание: На современных версиях платформы 1С (8.3.17 и выше) эта практика считается устаревшей и часто вредной. Ранее это использовали для борьбы с «утечками» памяти, но сейчас это лишь приводит к потере несохраненных данных пользователями и необходимости повторного заполнения оперативного кеша сервера.
Сервер 1С может завершать процессы не по времени, а по факту превышения нагрузки. В свойствах рабочего процесса можно задать следующие параметры:
rphost потребляет больше указанного объема, кластер принудительно «убьет» этот процесс и запустит новый.Если вы наблюдаете «выбросы» в одно и то же время, возможно, в этот период запускается тяжелый отчет или регламентное задание, которое моментально «съедает» всю выделенную память, вызывая перезапуск.
Если в консоли 1С все настройки стоят по умолчанию, а сервер все равно перезапускается, давайте поищем внешние факторы. Администраторы часто используют скрипты для обслуживания сервера. Рассмотрим, где это может быть скрыто:
1C:Enterprise 8.3 Server Agent. Часто это делается для очистки папок с временными файлами (кешем) или для выполнения резервного копирования базы методом выгрузки в .dt файл, требующим монопольного доступа.
net stop "1C:Enterprise 8.3 Server Agent"
del /q "C:\Program Files\1cv8\srvinfo\reg_1541\snccntx\*.*"
net start "1C:Enterprise 8.3 Server Agent"
Чтобы понять, что именно происходит в момент сбоя, воспользуйтесь следующими методами:
1C:Enterprise 8.3 Server Agent. Это позволит точно определить время и инициатора (процесс), который вызвал остановку.EXCP) или событий завершения процессов PROC. Это даст исчерпывающую информацию о том, какой именно код или настройка инициирует сбой.Совет: Если вы подозреваете, что процессы перезапускаются из-за ошибок в коде, не спешите настраивать автоматический рестарт. Лучше выявите проблемное регламентное задание, которое вызывает утечку памяти, и оптимизируйте его. Использование РегламентныеЗадания должно быть сбалансированным, чтобы не перегружать сервер в часы высокой активности пользователей.
И помните: если у вас нет прямого доступа к серверу, лучше всего обратиться к администраторам с конкретными вопросами: «Настроен ли у нас интервал перезапуска рабочих процессов в консоли кластера?» или «Есть ли в планировщике задач скрипты, перезапускающие службы 1С?»