Оптимизация работы системы 1С Предприятие начинается с объективной оценки текущего состояния. Вы не сможете исправить то, что не можете измерить. Именно для этих целей в платформе предусмотрен встроенный механизм сбора статистики, который фиксирует время выполнения операций, количество запросов к базе данных и другие критические показатели.

Использование этого инструмента требует понимания архитектуры клиент-серверного взаимодействия. Многие пользователи ошибочно полагают, что медленная работа связана исключительно с мощностью сервера, игнорируя проблемы в коде или конфигурации запросов. Грамотный анализ собранных данных позволяет выявить узкие места, будь то неоптимальный SQL-код или перегруженный интерфейс.

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

Подготовка к проведению замера

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

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

1cv8.exe /F "C:\Base" /N "Admin" /P "Password" /EnableLogPerf

Альтернативный способ активации — использование меню внутри работающей системы. Перейдите в раздел Сервис → Параметры → Общие и найдите переключатель, отвечающий за логирование. Однако запуск с ключом надежнее, так как гарантирует, что сбор начнется с самых первых секунд сессии.

⚠️ Внимание! Включение режима замера создает дополнительную нагрузку на дисковую подсистему сервера. Не проводите тестирование в часы пиковой нагрузки пользователей, чтобы не замедлить работу всей организации.
💡

Перед началом замера очистите кэш клиента 1С, чтобы получить "чистые" данные без влияния ранее сохраненных временных файлов.

Настройка параметров эталона и фильтрация

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

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

  • 🎯 Фильтрация по типу события (только запросы к БД).
  • ⏱️ Установка минимального порога времени выполнения.
  • 📂 Выбор конкретного пользователя или сеанса для мониторинга.
  • 💾 Определение пути сохранения файла результатов (.log или .xml).

Не забывайте, что настройки могут различаться в зависимости от версии платформы 1С:Предприятие 8.3. В более новых релизах интерфейс стал удобнее, но логика осталась прежней: чем точнее фильтр, тем ценнее результат.

📊 Что чаще всего тормозит в вашей базе?
Отчеты и обработки
Проведение документов
Открытие форм
Поиск по базе
Не знаю, всё летает

Процесс сбора данных и выполнение сценария

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

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

⚠️ Внимание! Интерфейс может "подвисать" во время активного сбора данных, особенно если включена детальная трассировка вызовов. Это нормальное поведение, не прерывайте процесс насильно.

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

☑️ План проведения теста

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

Анализ отчета и поиск узких мест

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

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

Тип события Собственное время (мс) Полное время (мс) Количество вызовов
Запрос к базе данных 1250 1250 1
Обновление формы 50 3400 15
Вычисление в модуле 2100 2100 1
Чтение табличного документа 150 1800 5

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

Как читать дерево вызовов?

Самые "тяжелые" ветки дерева обычно подсвечиваются красным или жирным шрифтом. Разворачивайте их, чтобы найти самый нижний узел с большим собственным временем — именно там кроется причина тормозов.

Интерпретация результатов и типичные ошибки

Частой ошибкой является попытка оптимизировать то, что не влияет на общую картину. Если запрос к базе выполняется 10 миллисекунд, но вызывается миллион раз в цикле, он станет проблемой. Однако если тот же запрос выполняется один раз и занимает 100 миллисекунд, на общей скорости работы это почти не скажется.

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

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

⚠️ Внимание! Интерпретация данных зависит от версии платформы и типа СУБД. В SQL Server и PostgreSQL механизмы блокировок и выполнения запросов работают по-разному, что отражается в логах.
💡

Главный принцип оптимизации: устраняйте сначала те проблемы, которые дают наибольший вклад в общее время выполнения (правило 80/20).

Устранение проблем и повторное тестирование

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

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

Для сложных случаев, связанных с запросами, используйте план выполнения запроса в СУБД. Замер 1С покажет, что запрос медленный, а инструменты базы данных объяснят, почему: отсутствие индекса, устаревшая статистика или неверный план соединения таблиц.

Можно ли использовать замер на рабочей базе?

Технически можно, но крайне не рекомендуется. Режим замера значительно снижает быстродействие системы. Лучше скопировать базу на тестовый сервер и проводить эксперименты там.

Что делать, если файл замера не создается?

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

Влияет ли версия платформы на формат отчета?

Да, структура XML-файла может меняться между мажорными версиями (например, 8.3.10 и 8.3.20). Для анализа старых логов может потребоваться соответствующая версия обработки расшифровки.

Как замерять производительность веб-клиента?

Принцип тот же, но запуск осуществляется через браузер с определенными параметрами или через консоль сервера 1С для конкретного сеанса. Логика сбора данных сохраняется.

Нужно ли останавливать другие сервисы при тесте?

Желательно минимизировать фоновую активность на сервере (резервное копирование, антивирусное сканирование), чтобы их влияние не исказило результаты замеров.