Регистр сведений «Данные монитора основных показателей» — это системный объект конфигурации 1С:Предприятие, который автоматически фиксирует ключевые метрики производительности платформы, базы данных и сеансов пользователей. Если вы обнаружили в журнале регистрации запись с ошибкой Ошибка записи в регистр сведений "ДанныеМонитораОсновныхПоказателей" или заметили резкое увеличение его объема (например, до 10+ ГБ в файловом варианте), это сигнализирует о критических проблемах: от нехватки ресурсов сервера до сбоев в механизме сбора статистики. В 80% случаев такие симптомы связаны с неправильной настройкой фонового задания «Монитор производительности» или конфликтом версий платформы (например, при обновлении с 8.3.18 на 8.3.20 без очистки кэша).

Этот регистр — часть встроенного механизма Монитор производительности 1С, который активируется по умолчанию в клиент-серверных базах и файловом варианте с версий 8.3.13+. Его данные используются для диагностики «тормозов» при открытии форм, долгих запросах или зависаниях сеансов. Однако многие администраторы отключают его из-за нагрузки на дисковое пространство, не понимая, что правильная настройка ПараметровМонитораПроизводительности позволяет сократить объем регистра в 5–10 раз без потери критичных метрик. Ниже разберем структуру регистра, способы его очистки и типичные ошибки, которые приводят к падению производительности системы.

Что такое регистр сведений «Данные монитора основных показателей» и зачем он нужен

Регистр сведений «Данные монитора основных показателей»** (имя в конфигураторе: ДанныеМонитораОсновныхПоказателей) — это хранилище временных рядов метрик, которые платформа 1С собирает в фоновом режиме. Его ключевые особенности:

  • 📊 Тип данных: регистр сведений с периодичностью Секунда (в отличие от регистров накопления, которые фиксируют остатки). Это означает, что каждая запись привязана к точному времени с точностью до секунды.
  • 🔄 Источник данных: автоматически заполняется фоновым заданием МониторПроизводительности, которое запускается раз в 5–60 секунд (интервал настраивается).
  • 📈 Объем хранения: по умолчанию хранит данные за последние 30 дней, но при сбоях может разрастаться до сотен гигабайт (например, если не работает механизм очистки).
  • 🛠️ Назначение: используется для анализа производительности через отчет АнализПроизводительности в конфигураторе или внешние утилиты вроде 1С:Аналитика.

В регистре фиксируются четыре ключевые группы показателей:

  1. Системные метрики: загрузка CPU, использование памяти, дисковые операции (например, ПроцентЗагрузкиЦПУ, ОбъемСвободнойПамяти).
  2. Метрики базы данных: время выполнения запросов, количество блокировок, размер временных таблиц (например, ВремяВыполненияЗапроса).
  3. Метрики сеансов: активность пользователей, время ответа сервера, количество открытых форм.
  4. Метрики платформы: ошибки компиляции, количество реквизитов в формах, время обновления конфигурации.

Пример реальной записи из регистра (упрощенно):


Период: 2026-05-15 14:30:45

Показатель: ПроцентЗагрузкиЦПУ

Значение: 87.2

Сеанс: USER-005 (ИвановИИ)

Комментарий: Выполнение отчета "Оборотно-сальдовая ведомость"

УдалитьДанныеРегистраСведений("ДанныеМонитораОсновныхПоказателей", НачалоГода(ТекущаяДата()), КонецДня(ТекущаяДата() - 30));-->

Структура регистра: из каких полей состоит и как они заполняются

Регистр ДанныеМонитораОсновныхПоказателей имеет фиксированную структуру из 7 основных полей (измерений и ресурсов), которые заполняются автоматически. Ниже таблица с описанием каждого поля и примерами значений:

Тип поля Название Описание Пример значения
Измерение Период Дата и время фиксации показателя (точность до секунды). Используется для построения графиков динамики. 2026-05-15 14:30:45
Измерение Показатель Название метрики из предопределенного списка (около 50 вариантов). Содержит системные и пользовательские показатели. ВремяВыполненияЗапроса, КоличествоБлокировок
Измерение Сеанс Идентификатор сеанса пользователя или системного процесса (например, фонового задания). USER-005 (ИвановИИ), BACKGROUND:МониторПроизводительности
Ресурс Значение Числовое значение показателя. Для временных метрик указывается в миллисекундах, для процентов — в долях от 1. 87.2 (загрузка CPU), 1250 (время запроса, мс)
Ресурс Комментарий Дополнительная информация о контексте (например, имя отчета или модуля, вызвавшего нагрузку). Выполнение отчета "Оборотно-сальдовая ведомость"

Особенности заполнения полей:

  • ⚡ Поле Показатель содержит предопределенные значения, которые нельзя редактировать через конфигуратор. Полный список можно получить запросом:
    Выбрать Различные Показатель Из РегистрСведений.ДанныеМонитораОсновныхПоказателей;
  • 🔍 Поле Сеанс может быть пустым, если метрика относится ко всей системе (например, ОбщийОбъемПамяти).
  • 📉 Поле Значение для некоторых показателей (например, КоличествоОшибок) накапливается, а не перезаписывается.

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

Как добавить пользовательский показатель в регистр

1. Откройте конфигуратор и перейдите в объект "Регистр сведений: ДанныеМонитораОсновныхПоказателей".

2. В разделе "Предопределенные данные" добавьте новый элемент в справочник "Показатели".

3. Укажите имя (например, "ВремяОткрытияФормы") и тип значения (число, строка).

4. Для сбора данных используйте событие ПриЗаписи в модуле регистра или фоновое задание.

Типичные ошибки, связанные с регистром, и их причины

Ошибки работы с регистром ДанныеМонитораОсновныхПоказателей делятся на три категории: технические сбои (повреждение данных), конфигурационные проблемы (неправильные настройки сбора) и ресурсные ограничения (нехватка места на диске). Рассмотрим наиболее частые случаи:

⚠️ Внимание: если в журнале регистрации появляется ошибка Не удалось записать данные в регистр сведений "ДанныеМонитораОсновныхПоказателей" (ОшибкаСУБД), немедленно проверьте свободное место на диске и целостность транзакционных журналов. В 90% случаев это предвестник краха базы.
  • 🚨 Ошибка записи в регистр:
    • Причина: блокировка таблицы в СУБД (например, PostgreSQL или MS SQL) из-за долгих транзакций.
    • Решение: увеличьте таймаут ожидания блокировок в параметрах СУБД или временно отключите сбор статистики.
  • 📈 Регистр разросся до 100+ ГБ:
    • Причина: не работает автоматическая очистка (фоновое задание ОчисткаДанныхМонитора отключено).
    • Решение: вручную запустите очистку через конфигуратор или напишите скрипт для архивации старых данных.
  • Замедление работы базы:
    • Причина: слишком частый сбор метрик (интервал менее 10 секунд) или включен сбор детальной статистики по всем сеансам.
    • Решение: увеличьте интервал сбора в параметрах монитора или отключите ненужные показатели.
  • 🔄 Дублирование записей:
    • Причина: конфликт версий платформы (например, одновременно работают клиенты 8.3.19 и 8.3.21).
    • Решение: приведите все клиенты к единой версии и перезапустите сервер 1С.

Для диагностики ошибок используйте запрос к системным таблицам СУБД. Например, для PostgreSQL:


SELECT * FROM pg_locks

WHERE relation = 'data_monitor_osnovnyh_pokazateley'::regclass;

Ошибка записи в регистр|Регистр разросся до десятков ГБ|Замедление работы базы из-за монитора|Дублирование записей|Никаких проблем не было-->

Как очистить регистр без потери критичных данных

Очистка регистра ДанныеМонитораОсновныхПоказателей требуется в двух случаях: когда он занимает слишком много места (более 5% от размера базы) или когда данные повреждены. Существует три способа очистки, каждый из которых подходит для разных сценариев:

Убедитесь, что у вас есть резервная копия базы|Остановите фоновое задание "МониторПроизводительности"|Выполните очистку через конфигуратор или скрипт|Проверьте целостность данных после очистки|Перезапустите сервер 1С-->

  1. Через конфигуратор (рекомендуется для новичков):
    1. Откройте конфигуратор в режиме 1С:Предприятие.
    2. Перейдите в меню Администрирование → Поддержка и обслуживание → Очистка данных монитора производительности.
    3. Укажите период для очистки (например, данные старше 30 дней).
    4. Нажмите Выполнить и дождитесь завершения операции.
  2. Через запрос на языке 1С:

    Используйте следующий код в консоли запросов:

    
    

    УдалитьДанныеРегистраСведений(

    "ДанныеМонитораОсновныхПоказателей",

    НачалоГода(ТекущаяДата()),

    КонецДня(ТекущаяДата() - 30)

    );

    Этот запрос удалит все данные старше 30 дней.

  3. Через SQL-запрос (для опытных администраторов):

    Для MS SQL Server:

    
    

    DELETE FROM _InfoRg5374

    WHERE Period < DATEADD(day, -30, GETDATE());

    Для PostgreSQL:

    
    

    DELETE FROM "_info_rg5374"

    WHERE "period" < (CURRENT_DATE - INTERVAL '30 days');

    ⚠️ Внимание: прямой SQL-запрос может нарушить целостность данных, если в этот момент работают пользователи. Выполняйте его только в режиме монопольного доступа.

После очистки рекомендуется:

  • 🔄 Перезапустить сервер 1С и службу ragent (для клиент-серверного варианта).
  • 📊 Проверить размер файла базы данных (в файловом варианте) или таблицы _InfoRg5374 (в SQL-варианте).
  • 🛠️ Запустить тестирование и исправление базы через конфигуратор.

Настройка сбора данных: как уменьшить нагрузку на систему

По умолчанию монитор производительности собирает данные каждые 10 секунд, что может создавать значительную нагрузку на диск и CPU, особенно в больших базах (100+ пользователей). Чтобы оптимизировать работу регистра, настройте следующие параметры:

Параметр Рекомендуемое значение Как изменить Эффект
ИнтервалСбораДанных 60 секунд В параметрах фонового задания МониторПроизводительности. Снижает нагрузку на CPU в 6 раз.
УровеньДетализации Базовый (вместо Подробный) В настройках монитора в конфигураторе. Уменьшает объем регистра на 30–50%.
СобиратьДанныеПоСеансам Ложь В параметрах сбора (требует прав администратора). Исключает запись метрик по каждому пользователю.
ХранитьДанныеЗаПериод 7 дней В настройках очистки. Автоматически удаляет старые данные.

Для применения изменений:

  1. Откройте конфигуратор и перейдите в Администрирование → Настройка монитора производительности.
  2. Измените параметры согласно таблице выше.
  3. Сохраните настройки и перезапустите фоновое задание:
    ПерезапуститьФоновоеЗадание("МониторПроизводительности");

Если после изменений регистр продолжает разрастаться, проверьте:

  • 🔍 Наличие пользовательских расширений, которые пишут в регистр дополнительные данные.
  • 📊 Корректность работы фонового задания ОчисткаДанныхМонитора (проверьте его статус в списке заданий).
  • 🛠️ Версию платформы: в 8.3.18–8.3.20 были баги с дублированием записей, исправленные в 8.3.21+.

- Интервал сбора: 60 секунд

- Уровень детализации: Базовый

- Хранение данных: 7 дней

- Сбор по сеансам: Отключен

-->

Как использовать данные регистра для анализа производительности

Данные из регистра ДанныеМонитораОсновныхПоказателей позволяют выявить узкие места в работе 1С: от долгих запросов до перегрузки сервера. Основные сценарии использования:

  • 📊 Анализ пиковых нагрузок:

    С помощью отчета АнализПроизводительности (доступен в конфигураторе) можно построить графики загрузки CPU, памяти и диска по времени. Например, если в 14:00 ежедневно происходит просадка производительности, проверьте, какие фоновые задания запускаются в это время.

  • ⏱️ Поиск долгих операций:

    Отфильтруйте регистр по показателю ВремяВыполненияЗапроса и найдите записи со значением > 5000 мс. Это поможет выявить неоптимизированные запросы или проблемные отчеты.

  • 🔄 Мониторинг блокировок:

    Показатель КоличествоБлокировок укажет на конфликты между сеансами. Если его значение превышает 10 в минуту, требуется оптимизация транзакций.

  • 💾 Контроль использования памяти:

    Сравните метрики ОбъемСвободнойПамяти и ОбъемИспользуемойПамяти. Если свободной памяти меньше 20% от общего объема, увеличьте лимиты для процесса ragent.

Пример запроса для поиска самых долгих операций за последние сутки:


ВЫБРАТЬ

Сеанс КАК Пользователь,

Показатель КАК Метрика,

МАКСИМУМ(Значение) КАК МаксимальноеЗначение

ИЗ

РегистрСведений.ДанныеМонитораОсновныхПоказателей

ГДЕ

Показатель В (&ВремяВыполненияЗапроса, ВремяОткрытияФормы)

И Период >= НачалоДня(ТекущаяДата()) - 1

ГРУППИРОВАТЬ ПО

Сеанс, Показатель

УПОРЯДОЧИТЬ ПО

МаксимальноеЗначение УБЫВ

Для визуализации данных можно:

  • 📈 Использовать встроенный отчет АнализПроизводительности в конфигураторе.
  • 🖥️ Экспортировать данные в Excel или Power BI через ВыгрузкаДанных.
  • 🛠️ Подключить внешние инструменты вроде 1С:Аналитика или Zabbix для мониторинга в реальном времени.
Как экспортировать данные регистра в Excel

1. В конфигураторе откройте окно запросов (Файл → Новый → Запрос).

2. Выполните запрос с выборкой нужных полей (пример выше).

3. Нажмите Файл → Сохранить результат... и выберите формат CSV.

4. Откройте файл в Excel и постройте сводные таблицы или графики.

Отключение регистра: когда это необходимо и как сделать правильно

Отключение регистра ДанныеМонитораОсновныхПоказателей целесообразно в трех случаях:

  1. База работает в файловом варианте на слабом железе (например, 1С на ноутбуке с HDD).
  2. Регистр занимает более 10% от размера базы, и очистка не помогает.
  3. Мониторинг производительности не используется (например, в тестовых или архивных базах).

Для отключения выполните следующие шаги:

Создайте резервную копию базы|Остановите все сеансы пользователей|Откройте конфигуратор в режиме "Конфигуратор"|Отключите фоновое задание "МониторПроизводительности"|Удалите данные регистра (опционально)|Перезапустите сервер 1С-->

  1. Отключение фонового задания:
    1. В конфигураторе перейдите в Администрирование → Фоновые задания.
    2. Найдите задание МониторПроизводительности и снимите флажок Активно.
    3. Сохраните изменения.
  2. Удаление регистра (опционально):

    Если вы хотите полностью удалить регистр (например, в архивной базе), выполните:

    
    

    // ВНИМАНИЕ! Эта операция необратима!

    УдалитьОбъект(Метаданные.РегистрыСведений.ДанныеМонитораОсновныхПоказателей);

    ⚠️ Внимание: удаление регистра приведет к ошибкам, если в конфигурации есть код, обращающийся к его данным. Перед удалением проверьте все модули на наличие ссылок на ДанныеМонитораОсновныхПоказателей.
  3. Отключение через параметры запуска:

    Для полного отключения монитора на уровне платформы добавьте в файл запуска 1cv8.exe параметр:

    /DisablePerformanceCounters

    Это отключит сбор статистики на уровне ядра 1С, но может скрыть критичные проблемы с производительностью.

После отключения:

  • 📉 Размер базы уменьшится на 5–30% (зависит от объема накопленных данных).
  • ⚡ Производительность при открытии форм и отчетов вырастет на 10–15% (за счет отсутствия фоновой записи).
  • 🔍 Вы потеряете возможность анализировать производительность через встроенные инструменты.

FAQ: Частые вопросы о регистре сведений «Данные монитора основных показателей»

🔍 Как узнать текущий размер регистра в базе?

Для SQL-варианта выполните запрос:


SELECT pg_size_pretty(pg_total_relation_size('_info_rg5374'));

Для файлового варианта размер регистра включен в общий размер файла 1Cv8.1CD. Чтобы оценить его долю, сравните размер базы до и после очистки регистра.

⚠️ Можно ли удалить регистр в работающей базе без последствий?

Удалять регистр в работающей базе не рекомендуется, так как это может привести к:

  • Ошибкам при записи в журнал регистрации.
  • Потере данных о производительности за весь период.
  • Необходимости перезапуска сервера 1С.

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

📈 Как экспортировать данные регистра для внешнего анализа?

Используйте следующий код на языке 1С для выгрузки в CSV:


Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| Период КАК ДатаВремя,

| Показатель КАК Метрика,

| Значение КАК Значение,

| Сеанс КАК Пользователь

|ИЗ

| РегистрСведений.ДанныеМонитораОсновныхПоказателей

|ГДЕ

| Период >= &НачалоПериода

| И Период <= &КонецПериода";

Запрос.УстановитьПараметр("НачалоПериода", НачалоДня(ТекущаяДата() - 7));

Запрос.УстановитьПараметр("КонецПериода", КонецДня(ТекущаяДата()));

Результат = Запрос.Выполнить();

Выгрузка = Новый ВыгрузкаДанныхCSV;

Выгрузка.ИмяФайла = "C:\Temp\МониторПроизводительности.csv";

Выгрузка.Выгрузить(Результат);

Файл можно открыть в Excel или Power BI для построения графиков.

🛠️ Как восстановить регистр, если он был поврежден?

Если данные регистра повреждены (например, из-за сбоя диска или ошибки СУБД), выполните следующие шаги:

  1. Создайте резервную копию базы.
  2. В конфигураторе выполните Тестирование и исправление с флагом Проверять логическую целостность.
  3. Если тестирование не помогло, очистите регистр полностью:
  4. ОчиститьРегистрСведений("ДанныеМонитораОсновныхПоказателей");
  5. Перезапустите сервер 1С и проверьте, что новые данные записываются без ошибок.

Если повреждения критичные (например, ошибки в системных таблицах SQL), может потребоваться восстановление базы из резервной копии.

🔄 Как перенести данные регистра в другую базу?

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

  1. Экспортируйте данные в CSV (см. вопрос выше).
  2. В целевой базе создайте временную таблицу с аналогичной структурой.
  3. Импортируйте данные из CSV в временную таблицу.
  4. Напишите обработку, которая перенесет данные из временной таблицы в регистр сведений:
  5. 
    

    Для Каждого Строка Из