Перепроведение большого объема данных — это серьезная нагрузка на сервер 1С и SQL-сервер. В процессе работы над базами данных объемом от 16 Гб и выше, мы часто сталкиваемся с необходимостью оценки времени выполнения операций. Рассмотрим, как грамотно провести замеры и чего следует опасаться при выполнении подобных задач в рабочей системе.
Для того чтобы узнать, сколько времени заняла обработка, не обязательно прибегать к тяжеловесным встроенным инструментам, таким как «Замер производительности» в Конфигураторе. Использование замера на больших объемах данных может привести к избыточному потреблению оперативной памяти и переполнению дискового пространства логами.
Простейший и эффективный способ — программная фиксация времени начала и конца выполнения операции. Рассмотрим пример реализации:
Начали = ТекущаяДата();
Сообщить("Начали: " + Начали);
// Здесь размещаем код выполнения вашей обработки
// ...
Конец = ТекущаяДата();
Сообщить("Закончили: " + Конец);
Разница = Конец - Начали;
Сообщить("Всего заняло " + Разница + " секунд");
Обратите внимание: результат вычитания дат в 1С дает значение в секундах. Если вам требуется вывести информацию в минутах, разделите полученный результат на 60. Данный метод минимально нагружает систему и позволяет легко контролировать длительность фонового процесса.
Массовое перепроведение товарных документов — это операция, которая вносит существенные коррективы в работу остальных пользователей. Разберем основные факторы, которые могут замедлить систему:
LDF.Чтобы избежать «зависания» базы и негативного влияния на бизнес-процессы, придерживайтесь следующих правил:
ЗафиксироватьТранзакцию() после каждой порции. Это позволит системе «отдыхать» и сбрасывать накопленные блокировки.Технологический журнал. Это инструмент уровня администратора, который не влияет на работу пользователей так сильно, как замер в конфигураторе.Активных соединений в Консоли администрирования серверов 1С. Это поможет вовремя увидеть блокировки, которые мешают работе сотрудников.Помните, что для баз данных большого объема критически важно выбирать время выполнения «тяжелых» операций. Лучший вариант — выполнение кода в монопольном режиме в ночное время, чтобы исключить конкуренцию за ресурсы и гарантировать корректное восстановление партионного учета.