Задача 102.139260

Задача :102.139260

2015-04-21 14:45:37
Краткое описание :
Долго идет расчет амортизации
Описание :
Амортизация
Что измененно :

У клиента очень долго выполняется процесс расчета амортизации.
Краткое описание действий
\\BY01-FSRVCL01\share\atl_log\Транснефть-Восток
(Братск)\102.139260 Долго идет расчет амортизации
ОС\readme.txt
Подробное измерение расчета описано в файле:
\\BY01-FSRVCL01\share\atl_log\Транснефть-Восток
(Братск)\102.139260 Долго идет расчет амортизации
ОС\test1_22.12.2014\Запуск процедуры расчета
амортизации.docx. В ходе расчета амортизации
"вываливается" RunTime Error. Лог ошибки -
AmortError.OUT
Произведено протоколирования процесса расчета
амортизации средствами Atlantis в Sil протокол:
\\BY01-FSRVCL01\share\atl_log\Транснефть-Восток
(Братск)\102.139260 Долго идет расчет амортизации
ОС\test1_22.12.2014\ProtsenkoES_01_RuntimeError.zip
Также приведены снимки AWR отчета работы БД Oracle
в момент выполнения функций расчета:
\\BY01-FSRVCL01\share\atl_log\Транснефть-Восток
(Братск)\102.139260 Долго идет расчет амортизации
ОС\test2_22.12.2014_18-00\2014.12.23 AWR\
Как измененно :

Ускорена пометка карточек.

Ускорен расчет амортизации (на 10% для данной бд) за счет отказа от модификации поля KatOs.ModAmort
Это поле "состояние" в списке картотеки. Поле показывает какие операции были проведены над карточкой.
Для рассчитанной амортизации поле принимало значение "А".
Плюс улучшена визуализация и расчет амортизационной льготы. Это дало еще около 5%. Итого - 15%.

Расчет разниц данных вынесен после расчета амортизации. Это позволило ускорить расчет еще процентов на 10.
Общий итог ускорения около 20%.

Анализ показал, что до 70% процентов времени расчета амортизации уходит на расчет разниц.
Ускорить расчет разниц можно при помощи точки расширения описанной в проблеме 180.8428.
Ускорения можно достичь значительного даже только за счет создании/уничтожения объекта расчета разниц

Вот что у меня получилось на одной из БД.
До оптимизации

Этап "Расчет" амортизации
Время выполнения : 00:01:21:30
---------------------------------------
Время расчета РАЗНИЦ : 00:00:19:99
--------------------------------------------------------------------------------
Старт: 11/02/15 15:54:54 Стоп: 11/02/15 15:56:16
Время выполнения расчета амортизации. Период: 06.2009. 00:01:21:40
================================================================================


 ГПосле оптимизации Г

Этап "Расчет" амортизации
Время выполнения : 00:00:53:39
-----------------------------------
Время расчета РАЗНИЦ : 00:00:03:12
--------------------------------------------------------------------------------
Время выполнения расчета амортизации. Период: 06.2009. 00:00:56:63


Видно что общее время улучшилось на 30%.
А время расчета разниц улучшилось в 5 раз.

Название продукта Название компонента Тип Последняя версия Дата выхода
F_OSF_OSRES9.1.20.02015-04-21 14:45:37
F_OSF_OSRES9.1.020.0
F_OSOPERF_OSOPERRES9.1.23.02015-04-21 14:45:37
F_OSOPERF_OSOPERRES9.1.023.0