Регистр сведений «Данные монитора основных показателей» — это системный объект конфигурации 1С:Предприятие, который автоматически фиксирует ключевые метрики производительности платформы, базы данных и сеансов пользователей. Если вы обнаружили в журнале регистрации запись с ошибкой Ошибка записи в регистр сведений "ДанныеМонитораОсновныхПоказателей" или заметили резкое увеличение его объема (например, до 10+ ГБ в файловом варианте), это сигнализирует о критических проблемах: от нехватки ресурсов сервера до сбоев в механизме сбора статистики. В 80% случаев такие симптомы связаны с неправильной настройкой фонового задания «Монитор производительности» или конфликтом версий платформы (например, при обновлении с 8.3.18 на 8.3.20 без очистки кэша).
Этот регистр — часть встроенного механизма Монитор производительности 1С, который активируется по умолчанию в клиент-серверных базах и файловом варианте с версий 8.3.13+. Его данные используются для диагностики «тормозов» при открытии форм, долгих запросах или зависаниях сеансов. Однако многие администраторы отключают его из-за нагрузки на дисковое пространство, не понимая, что правильная настройка ПараметровМонитораПроизводительности позволяет сократить объем регистра в 5–10 раз без потери критичных метрик. Ниже разберем структуру регистра, способы его очистки и типичные ошибки, которые приводят к падению производительности системы.
Что такое регистр сведений «Данные монитора основных показателей» и зачем он нужен
Регистр сведений «Данные монитора основных показателей»** (имя в конфигураторе: ДанныеМонитораОсновныхПоказателей) — это хранилище временных рядов метрик, которые платформа 1С собирает в фоновом режиме. Его ключевые особенности:
- 📊 Тип данных: регистр сведений с периодичностью Секунда (в отличие от регистров накопления, которые фиксируют остатки). Это означает, что каждая запись привязана к точному времени с точностью до секунды.
- 🔄 Источник данных: автоматически заполняется фоновым заданием
МониторПроизводительности, которое запускается раз в 5–60 секунд (интервал настраивается). - 📈 Объем хранения: по умолчанию хранит данные за последние 30 дней, но при сбоях может разрастаться до сотен гигабайт (например, если не работает механизм очистки).
- 🛠️ Назначение: используется для анализа производительности через отчет
АнализПроизводительностив конфигураторе или внешние утилиты вроде 1С:Аналитика.
В регистре фиксируются четыре ключевые группы показателей:
- Системные метрики: загрузка CPU, использование памяти, дисковые операции (например,
ПроцентЗагрузкиЦПУ,ОбъемСвободнойПамяти). - Метрики базы данных: время выполнения запросов, количество блокировок, размер временных таблиц (например,
ВремяВыполненияЗапроса). - Метрики сеансов: активность пользователей, время ответа сервера, количество открытых форм.
- Метрики платформы: ошибки компиляции, количество реквизитов в формах, время обновления конфигурации.
Пример реальной записи из регистра (упрощенно):
Период: 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С:Предприятие. - Перейдите в меню
Администрирование → Поддержка и обслуживание → Очистка данных монитора производительности. - Укажите период для очистки (например, данные старше 30 дней).
- Нажмите
Выполнитьи дождитесь завершения операции.
- Откройте конфигуратор в режиме
- Через запрос на языке 1С:
Используйте следующий код в консоли запросов:
УдалитьДанныеРегистраСведений(
"ДанныеМонитораОсновныхПоказателей",
НачалоГода(ТекущаяДата()),
КонецДня(ТекущаяДата() - 30)
);
Этот запрос удалит все данные старше 30 дней.
- Через 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 дней | В настройках очистки. | Автоматически удаляет старые данные. |
Для применения изменений:
- Откройте конфигуратор и перейдите в
Администрирование → Настройка монитора производительности. - Измените параметры согласно таблице выше.
- Сохраните настройки и перезапустите фоновое задание:
ПерезапуститьФоновоеЗадание("МониторПроизводительности");
Если после изменений регистр продолжает разрастаться, проверьте:
- 🔍 Наличие пользовательских расширений, которые пишут в регистр дополнительные данные.
- 📊 Корректность работы фонового задания
ОчисткаДанныхМонитора(проверьте его статус в списке заданий). - 🛠️ Версию платформы: в 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С на ноутбуке с HDD).
- Регистр занимает более 10% от размера базы, и очистка не помогает.
- Мониторинг производительности не используется (например, в тестовых или архивных базах).
Для отключения выполните следующие шаги:
Создайте резервную копию базы|Остановите все сеансы пользователей|Откройте конфигуратор в режиме "Конфигуратор"|Отключите фоновое задание "МониторПроизводительности"|Удалите данные регистра (опционально)|Перезапустите сервер 1С-->
- Отключение фонового задания:
- В конфигураторе перейдите в
Администрирование → Фоновые задания. - Найдите задание
МониторПроизводительностии снимите флажокАктивно. - Сохраните изменения.
- В конфигураторе перейдите в
- Удаление регистра (опционально):
Если вы хотите полностью удалить регистр (например, в архивной базе), выполните:
// ВНИМАНИЕ! Эта операция необратима!
УдалитьОбъект(Метаданные.РегистрыСведений.ДанныеМонитораОсновныхПоказателей);
⚠️ Внимание: удаление регистра приведет к ошибкам, если в конфигурации есть код, обращающийся к его данным. Перед удалением проверьте все модули на наличие ссылок на
ДанныеМонитораОсновныхПоказателей. - Отключение через параметры запуска:
Для полного отключения монитора на уровне платформы добавьте в файл запуска 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С и проверьте, что новые данные записываются без ошибок.
ОчиститьРегистрСведений("ДанныеМонитораОсновныхПоказателей");
Если повреждения критичные (например, ошибки в системных таблицах SQL), может потребоваться восстановление базы из резервной копии.
🔄 Как перенести данные регистра в другую базу?
Перенос данных регистра между базами не поддерживается штатными средствами, но можно использовать обходной путь:
- Экспортируйте данные в CSV (см. вопрос выше).
- В целевой базе создайте временную таблицу с аналогичной структурой.
- Импортируйте данные из CSV в временную таблицу.
- Напишите обработку, которая перенесет данные из временной таблицы в регистр сведений:
Для Каждого Строка Из