Всем привет. Создал внешнюю обработку загрузки Платёжек в БГУ 2.0. И очень сильно беспокоит быстродейтсвие. Например ДокПП = Документы.КассовоеПоступление.СоздатьДокумент() при замере производительности тратит почти 0,91 секунды.....а ДокПП.Записать(РежимЗаписиДокумента.Запись) тратит 1.1 секунды!!! Что в итоге для загрузки 100 платёжек может уйти больше 2-3 минуты, и это на локальном компе Core I5 с SSDвинтом.
Подскажите что можно придумать для ускорения?
Подскажите что можно придумать для ускорения?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Вопрос не в исправлении всего кода (он огромен) а о конкретных СТАНДАРТНЫХ местах:
ДокПП = Документы.КассовоеПоступление.СоздатьДокумент()-тратит примерно 35% времени выполнения всей обработки
ДокПП.Записать() -40% времени
ДокПП = Документы.КассовоеПоступление.СоздатьДокумент()-тратит примерно 35% времени выполнения всей обработки
ДокПП.Записать() -40% времени
(3)В режиме отладки код выполняется дольше.
Если запустить без режима отладки и выполнить загрузку 100 документов, сколько времени займет выполнение?
Сколько занимает времени загрузка 100 документов в режиме отладки?
Чтобы замерить продолжительность, в обработке перед началом выполнения запомнить дату начала, а после выполнения запомнить дату окончания и получить разницу.
Также стоит отметить, что загрузка платежек вряд ли выполняется много раз в день. А пару раз в день запустить обработку и подождать пару минут не кажется критичным.
Но все же на что можно обратить внимание:
- платформа, попробовать на другой версии от 8.3.14 до 8.3.18;
- посмотреть есть ли код в модуле объекта документа, который вне процедур, то есть выполняется при создании объекта;
- посмотреть, есть ли расширения, если есть, отключить на время теста;
- с полными правами запускается обработка или с ограниченными, включен ли рлс;
- включено ли версионирование, есть ли планы обмена и вообще посмотреть, что выполняется при записи.
Если запустить без режима отладки и выполнить загрузку 100 документов, сколько времени займет выполнение?
Сколько занимает времени загрузка 100 документов в режиме отладки?
Чтобы замерить продолжительность, в обработке перед началом выполнения запомнить дату начала, а после выполнения запомнить дату окончания и получить разницу.
Также стоит отметить, что загрузка платежек вряд ли выполняется много раз в день. А пару раз в день запустить обработку и подождать пару минут не кажется критичным.
Но все же на что можно обратить внимание:
- платформа, попробовать на другой версии от 8.3.14 до 8.3.18;
- посмотреть есть ли код в модуле объекта документа, который вне процедур, то есть выполняется при создании объекта;
- посмотреть, есть ли расширения, если есть, отключить на время теста;
- с полными правами запускается обработка или с ограниченными, включен ли рлс;
- включено ли версионирование, есть ли планы обмена и вообще посмотреть, что выполняется при записи.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот