понедельник, 21 декабря 2015 г.

Оптимизация обработки "Редактор свойств номенклатуры"

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

Итак предыстория такая: есть база с УТ 11 которая работала на выделенном сервере(SQL сервер отдельно от сервера 1С, при этом сам сервер 64 битный)  , Периодически появляются проблемы с сервером, проявляется это резким замедлением производительности в самый неожиданный момент, Если в момент тормозов зайти на сервер то можно было увидеть, что процессы 1с(rphost) могли съесть все имеющуюся на сервере память, а скорее всего даже гораздо больше. Вычислить проблему мне удалось подглядев в консоль администрирования 1С в закладке "сеансы" в колонке "Данные СУБД (5 мин)", было очень большое значение, что говорило, что c сервера поступают большой объем данных.

Поговорив с пользователем, я выяснил, что он запустил обработку "Редактор свойств номенклатуры", с большим количеством позиций, в результате чего обработка зависла и ему пришлось убивать 1С через диспетчер задач. Так же мне позже сказали что этой обработкой им советовали пользоваться очень осторожно, т.к. в ней можно получать не более 300 позиций номенклатуры. К слову сказать в текущей базе используется огромное количество свойств номенклатуры(больше 100),

После того как я выяснил что это за обработка, я решил убедиться что эта та самая обработка, которая портит работу сервера. Я решил попробовать ее запустить(на тот момент я не знал о советах по ограничению выбираемого количества номенклатур. Поэтому я решил запустить ее по для получения всего списка номенклатур. И вот что я увидел после запуска на сервере:

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