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

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

Важно понимать различие между пользовательским кэшем на рабочих местах и серверными файлами. Очистка на сервере влияет на всех пользователей сразу и требует аккуратности. Директория srvinfo/regs содержит не просто временные файлы, а реестр всех подключенных баз данных кластера. Неправильная манипуляция с этим реестром может привести к тому, что сервер перестанет "видеть" базы данных до момента перезапуска службы или восстановления записей.

Структура хранения данных в кластере серверов

Файловая структура кластера серверов 1С имеет иерархию, которая формируется автоматически при создании новых информационных баз. Основной каталог обычно расположен по пути C:\ProgramData\1C\1Cv8 или в директории, указанной при установке сервиса. Внутри этого каталога находится папка srvinfo, которая является сердцем кластера. Здесь хранятся все настройки, журналы регистрации и кэш данных, необходимых для работы рабочих процессов.

Внутри папки srvinfo вы найдете подкаталог regs. Это реестр кластера. Каждая подпапка внутри regs соответствует уникальному идентификатору (UUID) информационной базы. Именно здесь лежат файлы, описывающие структуру базы, настройки доступа и пути к физическим файлам базы данных (SQL или файловая). Удаление содержимого этой папки при активной работе недопустимо без предварительной остановки соответствующих служб.

Также стоит обратить внимание на папки с временными данными, которые создаются динамически. Они могут называться tmp или иметь случайные имена, генерируемые платформой. В них хранятся результаты сложных запросов, промежуточные отчеты и данные блокировок. Если эти файлы не удаляются автоматически после завершения сеанса, это часто указывает на некорректное завершение работы ragent или зависание фонового задания.

Где искать путь к данным кластера по умолчанию?

По умолчанию в Windows данные кластера хранятся в C:\ProgramData\1C\1Cv8\srvinfo. В Linux путь часто выглядит как /var/opt/1C/v8/1Cv8/srvinfo. Путь может быть изменен в свойствах службы 1С:Предприятие 8.3 сервер 1С:Предприятие через оснастку services.msc или консольные утилиты rac.

Анализ причин переполнения кэша

Почему кэш разрастается до гигантских размеров? Чаще всего виновниками становятся некорректно завершаемые сеансы пользователей. Когда клиент 1С аварийно завершает работу (обрыв сети, выключение ПК без выхода из 1С), серверный процесс не успевает удалить временные файлы, связанные с этой сессией. Со временем таких "сиротских" файлов накапливаются тысячи.

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

⚠️ Внимание: Перед началом любой чистки обязательно проверьте, нет ли в папках файлов с расширением .db или .1CD, которые могут являться резервными копиями или основными файлами файловых баз, подключенных к серверу. Их удаление приведет к безвозвратной потере данных.

Третьим фактором может быть специфика конфигурации. Некоторые конфигурации, например, сложные ERP-системы, при выгрузке или загрузке данных (через XDTO или стандартные механизмы обмена) создают огромные временные файлы в каталоге профиля пользователя службы 1С. Если профиль не очищается, эти данные остаются навсегда.

📊 Что чаще всего забивает ваш диск на сервере 1С?
Файлы временных сеансов (tmp)
Журналы регистрации (log)
Дампы памяти (dmp)
Файлы обновлений конфигурации

Ручная очистка через файловую систему

Самый простой, но требующий осторожности метод — прямое удаление файлов через проводник или консоль операционной системы. Этот метод подходит для очистки "мусора", оставшегося после аварий, но не подходит для управления активными данными кластера. Перед началом работы необходимо остановить службу 1C:Enterprise 8.3 Server Agent (ragent). Без остановки службы файлы могут быть заблокированы, и их удаление приведет к ошибкам при следующем запуске.

После остановки службы перейдите в каталог данных кластера. Найдите папку srvinfo. Внутри нее можно безопасно удалить содержимое папки tmp, если она существует. Также стоит проверить папки с логами. Если вы не планируете проводить глубокий анализ ошибок за прошлые периоды, старые файлы логов можно архивировать или удалить. Для очистки реестра баз данных (regs) ручное удаление папок не рекомендуется, так как это рассинхронизирует базу администрирования кластера.

Используйте стандартные средства ОС для поиска больших файлов. В Windows это может быть утилита "Очистка диска" или сторонние анализаторы вроде WinDirStat. В Linux используйте команду du -sh * для оценки размера папок. Удаление следует проводить выборочно, ориентируясь на дату изменения файлов. Файлы, не менявшиеся более 30 дней, с большой вероятностью являются остатками старых сеансов.

☑️ Чек-лист безопасной ручной очистки

Выполнено: 0 / 5

Использование утилиты rac для администрирования

Профессиональный подход к управлению кластером подразумевает использование консольной утилиты rac (1C:Enterprise 8.3 Remote Administration Console). Этот инструмент позволяет взаимодействовать с кластером программно, не останавливая службу, и выполнять команды очистки корректно. Утилита входит в состав сервера 1С и расположена в каталоге установки, обычно C:\Program Files\1Cv8\8.3.xx.xxxx\bin.

С помощью rac можно принудительно завершить зависшие сеансы, что автоматически запустит механизм очистки временных файлов, связанных с этими сеансами. Команда для просмотра активных соединений выглядит следующим образом:

rac session list --cluster=cluster_name --server=server_name

Для очистки конкретных данных или перезапуска рабочих процессов используется команда process restart. Это более мягкий способ, чем полная остановка службы. Он позволяет обновить кэш метаданных и освободить память без простоя всей системы. Однако, для глубокой очистки файловой системы от "мусора" утилита rac имеет ограниченные возможности и чаще используется в связке со скриптами.

Важным преимуществом rac является возможность автоматизации. Вы можете написать bat-файл или shell-скрипт, который будет регулярно проверять количество сеансов и при превышении лимита отправлять команды на их завершение. Это предотвращает накопление временных файлов в будущем.

💡

Используйте ключ --format=json в утилите rac для получения вывода в формате JSON. Это значительно упрощает парсинг данных скриптами на PowerShell или Python для последующей автоматической обработки.

Автоматизация очистки с помощью PowerShell

Для системных администраторов, работающих в среде Windows, PowerShell является идеальным инструментом для создания расписания очистки. Скрипт может проверять возраст файлов в директории кэша и удалять только те, которые старше заданного порога. Это гарантирует, что активные файлы не будут затронуты.

Ниже приведен пример логики скрипта. Он находит все файлы в папке временных данных, дата изменения которых старше 7 дней, и удаляет их. Перед удалением скрипт проверяет, не запущена ли служба 1С, и при необходимости останавливает её (хотя для папки tmp это не всегда строго обязательно, для srvinfo/regs — критично).

$path = "C:\ProgramData\1C\1Cv8\srvinfo\tmp"

$cutoff = (Get-Date).AddDays(-7)

Get-ChildItem -Path $path -Recurse -File | Where-Object { $_.LastWriteTime -lt $cutoff } | Remove-Item -Force

Такой скрипт можно добавить в Планировщик заданий Windows. Настройте задачу на запуск ежедневно в ночное время, когда нагрузка на сервер минимальна. Обязательно добавьте логирование действий скрипта в отдельный текстовый файл, чтобы в случае проблем можно было проанализировать, что именно было удалено.

При написании скриптов учитывайте права доступа. Учетная запись, от имени которой выполняется задача, должна иметь полные права на чтение и запись в каталог ProgramData. Часто стандартные права пользователя недостаточны для доступа к скрытым системным папкам, где хранятся данные 1С.

💡

Автоматизация через PowerShell снижает риск человеческой ошибки и гарантирует регулярность обслуживания, что критично для стабильности высоконагруженных серверов 1С.

Таблица основных директорий для чистки

Для удобства администрирования приведем сводную таблицю основных директорий кластера серверов 1С. В ней указано назначение папки, степень риска при удалении и рекомендуемая частота очистки.

Директория Назначение Риск удаления Рекомендация
srvinfo/regs Реестр информационных баз кластера Критический Не удалять вручную. Очищать через удаление баз в консоли.
srvinfo/tmp Временные файлы сеансов Низкий (при остановленной службе) Очищать регулярно (еженедельно).
srvinfo/log Технические логи сервиса Низкий Архивировать или удалять старые логи (> 1 месяца).
srvinfo/dumps Дампы памяти при ошибках Отсутствует Удалять после анализа причин сбоя.

Обратите внимание, что путь к этим директориям может отличаться в зависимости от версии платформы и настроек установки. Всегда сверяйтесь с параметрами запуска службы ragent, чтобы точно знать, где расположены данные вашего конкретного кластера.

Оптимизация настроек платформы для предотвращения проблем

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

Рекомендуется настроить параметр "Время жизни неактивного сеанса" в свойствах кластера. Если пользователь закрыл клиент 1С, но сессия на сервере висит еще час, это напрасная трата ресурсов. Оптимальное значение зависит от нагрузки, но обычно 15-30 минут достаточно для завершения фоновых операций без потери данных.

⚠️ Внимание: Изменение параметров кластера применяется только к новым сеансам. Для вступления настроек в силу для текущих пользователей может потребоваться перезапуск рабочих процессов или ожидание естественного завершения их работы.

Также стоит обратить внимание на настройки СУБД. Если используется MS SQL Server или PostgreSQL, убедитесь, что файлы транзакций (LDF) не разрастаются бесконтрольно. Хотя это не кэш 1С напрямую, переполнение диска логами базы данных часто ошибочно принимают за проблему кэша 1С. Настройте модель восстановления базы данных на Simple (Простая) для баз, где не требуется точечное восстановление по времени, или настройте регулярное бэкапирование логов.

Как узнать, какая база занимает больше всего места?

Используйте запрос к системным таблицам кластера через rac или посмотрите размер папок внутри srvinfo/regs. Самая большая папка по UUID обычно соответствует самой активной или объемной базе данных.

Диагностика и мониторинг дискового пространства

Регулярный мониторинг — залог стабильности. Не ждите, пока диск заполнится на 100% и сервер встанет. Настройте систему оповещений (например, через Zabbix или встроенные средства Windows) на достижение порога заполнения диска в 80-85%. Это даст вам запас времени на реакцию.

Используйте встроенные средства платформы 1С:Предприятие для анализа производительности. Технологический журнал (ТЖ) может быть настроен на запись событий, связанных с созданием и удалением временных файлов. Анализируя ТЖ, можно выявить конкретные пользовательские действия или регламентные задания, которые генерируют аномально большой объем временных данных.

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

Можно ли очищать кэш 1С на сервере без остановки службы?

Полную очистку папки srvinfo без остановки службы выполнять нельзя, так как файлы будут заблокированы процессом ragent. Однако можно удалять старые файлы из подпапки tmp и логи, если они не используются в данный момент. Для очистки реестра баз данных (regs) остановка службы или использование утилиты rac для удаления баз обязательны.

Что делать, если после очистки кэша 1С не видит базы данных?

Скорее всего, были удалены файлы реестра из папки regs. В этом случае необходимо восстановить файлы из резервной копии. Если бэкапа нет, придется пересоздать информационные базы в кластере вручную, указав те же параметры подключения к СУБД, что и были ранее. Данные в самой СУБД при этом не пострадают.

Как часто нужно проводить очистку серверного кэша?

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

Влияет ли очистка кэша на скорость работы 1С?

Да, положительно. Переполненный диск замедляет операции ввода-вывода, что критично для СУБД и файлов 1С. Кроме того, удаление "битых" сеансов освобождает оперативную память и потоки процессора, позволяя активным пользователям работать быстрее.