20.12.2022 Игорь Борисенко 10983
Процесс замера времени выполнения кода в конф...

Содержание:

1.      Место времени выполнения кода в структуре общих временных затрат в системе программы 1С

2.      Замер производительности секундомером

3.      Использование подсистемы оценки производительности в конфигурации системы 1С: Предприятие

4.      Замер производительности в отладчике  

   

1.      Место времени выполнения кода в структуре общих временных затрат в системе программы 1С


Обзорно рассмотрим, какие есть способы замера производительности работы 1С в общем и времени выполнения кода в частности; в каких случаях рекомендуется использовать тот или иной способ.


Разделение на общую производительность 1С и 1С время выполнения кода неслучайно. Очевидно, что второе является лишь частью первого, и время, например, открытия формы, замеренное по секундомеру, будет, как правило, больше времени, полученное при замере выполнения кода модуля 1С этой формы. Какие еще есть траты времени при работе 1С, помимо выполнения кода? Это:

·        время передачи данных в сети с клиента на сервер 1С и обратно,

·        время подготовки запроса к СУБД на сервере 1С,

·        в т.ч ожидание ресурсов при многозадачной и многопользовательской работе

·        время передачи данных в сети с сервера 1С на сервер СУБД и обратно,

·        время обработки запроса и выборки данных на стороне СУБД,

·        в т.ч. время ожидания снятия блокировок данных 1С,

·        время на проверку потоков антивирусами,

·        время на виртуализацию серверов

·        и т.д.   


2.      Замер производительности секундомером


Между прочим, использование секундомера является доступным способом замера и во многих случаях – первым этапом работ по оптимизации производительности. Оценка по секундомеру «близка» пользователю: именно столько секунд он ждет открытия формы, проведения документа или формирования отчета в 1С.


Ограничения этого способа:

·        Удобен для замеров «внешних признаков» работы в пользовательском режиме 1С (форма открылась, документ провелся, отчет сформировался), и не удобен для «внутренних»: засекать в 1С время выполнения кода в отладчике секундомером уже сложно, особенно с учетом вложенных команд вызовов процедур и т.п.


·        Удобен только для «человечески комфортных» интервалов: ему недоступны процессы, выполняемые за доли секунды; проблематично также ожидать завершение процесса, длящегося тысячи секунд, чтобы вовремя остановить замер.


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


3.      Использование подсистемы оценки производительности в конфигурации системы 1С: Предприятие


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


Типовые конфигурации системы 1С, построенные на базе БСП, содержат в себе подсистему «Оценка производительности». Для заданного набора «ключевых операций» (проведение документа, нажатие кнопки расчета, открытие формы и т.д.) можно запустить систему сбора статистики по времени их выполнения. Время выполнения – полное – с учетом всех составляющих расчета временных затрат. Типовые конфигурации системы 1С поставляются уже с предзаданным набором ключевых операций (несколько сотен) и для начала работы операционной системы ее лишь достаточно активировать в настройках.



Ключевые операции замера производительности


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


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



Сформировать


Подсистема поддерживает методику APDEX, рассчитывает этот показатель напрямую и позволяет его использовать для постановки задач на оптимизацию производительности и приемку их результатов, опираясь на количественную (объективную) оценку.


Подсистема со своей задачей справляется хорошо. К ее недостаткам можно отнести, разве что:

·        Дополнительное использование ресурсов на ведение регистра с данными по замерам

·        Необходимость править программный код системы конфигурации при добавлении собственных (нетиповых) ключевых операций


Эти недостатки достаточно условны. Подсистему можно включать только на этапе процесса оптимизации, а после ее проведения выключать и, таким образом, освобождать ресурсы. А что касается необходимости правок программного кода системы, то во-первых, они незначительны и могут располагаться в расширении, не затрагивая типовой код; а во-вторых, если вы дополняете список ключевых операций, то, наверняка, уже имеете свои доработки типовой конфигурации системы 1С и, следовательно, вставка кода начала и завершения замеров вообще не критична.


Область применения подсистемы «Оценка производительности» - выявление узких мест (в терминах APDEX) и приоритетности их оптимизации. Назвать причины неудовлетворительной производительности, в т.ч. отдельно показать время исполнения программного кода системы, она не может.  


4.      Замер производительности в отладчике


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



Новый


Используя точки останова программы и запуская/останавливая в них замер, можно анализировать различные участки кода. Оптимизируя программный код 1С, можно сравнивать исходный и полученный результат.


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


Для анализа других временных затрат: выполнения запросов на стороне СУБД, передачи данных по каналам связи используют другие инструменты, например, «Технологический журнал». Эта тема глубоко специальная и выходит за рамки нашей обзорной статьи.

 

Мы рассмотрели место «замера времени выполнения кода» в структуре производительности 1С, а также особенности тех или иных способов замера производительности.


Подробные инструкции по подсистеме «Оценка производительности», а также «Замер производительности» в отладчики есть в документации по 1С.


Специалист компании "Кодерлайн"

Игорь Борисенко


Наши проекты

ООО ХДМ Рус
ООО ХДМ Рус

Отрасль:
Торговля

Внедренное типовое решение:
1С:Бухгалтерия ПРОФ

Бухгалтерский учет Банк и касса Расчеты с контрагентами Торговые операции ...

Компания IBS
Компания IBS

Отрасль:
Системный интегратор

Внедренное типовое решение:
1С:Управление производственным предприятием

- Интеграция систем – АСУП и «1С:Управление производственным предприятием»...

ООО «Стейдж Энтертейнмент Россия»
ООО «Стейдж Энтертейнмент Россия»

Отрасль:
Театральная деятельность

Внедренное типовое решение:
Платформа 1С:Предприятие 8

Реализован процесс трансформации данных бухгалтерского учета по РСБУ в дан...

ЗАО «Многопрофильная формирующая авиагруппа» (ЗАО МФГ)
ЗАО «Многопрофильная формирующая авиагруппа» (ЗАО МФГ)

Отрасль:
Оптовая торговля транспортными средствами и оборудованием

Внедренное типовое решение:
1С:Бухгалтерия ПРОФ

- Финансы, управленческий учет, мониторинг показателей
- Бухгалтерский уче...

Фармацевтическое предприятие «Оболенское»
АО «Фармацевтическое предприятие «Оболенское»

Отрасль:
Фармацевтическая промышленность

Внедренное типовое решение:
1С:Управление производственным предприятием

- Адаптации блоков/подсистем планирования продаж, закупок и казначейства. ...

ООО «Лаборатория успеха»
ООО «Лаборатория успеха»

Отрасль:
Общественное и плановое питание, гостиничный бизнес, туризм

Внедренное типовое решение:
1С:Зарплата и управление персоналом 8. КОРП

Кадровый учет;
Расчет зарплаты;...

ООО “РТИТС”
ООО “РТИТС”

Отрасль:
Транспортные системы

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

Блок регламентированного кадрового учета и расчета заработной платы в 1С:ERP;...

Внедрение ПП "1С:Бухгалтерия 8 ПРОФ" в ООО Фирма «Бисер»
ООО фирма «Бисер»

Отрасль:
Производство

Внедренное типовое решение:
1С:Бухгалтерия 8 ПРОФ

Финансы, управленческий учет, мониторинг показателей:
- Налоговый учет...

ООО "АСК ИНЖИНИРИНГ"
ООО "АСК ИНЖИНИРИНГ"

Отрасль:
Машиностроение, приборостроение

Внедренное типовое решение:
1С:Документооборот ПРОФ

Делопроизводство
Учет и хранение документов
Ведение номенклатуры дел
...

Внедрение «1С:Зарплата и управление персоналом 8 КОРП» в компании «ПБК»
ООО «Партнер Бухгалтер Консультант»

Отрасль:
Бухгалтерские услуги

Внедренное типовое решение:
1С:Зарплата и управление персоналом

- Интеграция продукта с базой данных оперативного учета Axapta;
- Доработка фу...

ООО "Эскорт-Центр"
ООО "Эскорт-Центр"

Отрасль:
Профессиональные услуги

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Сквозной учет затрат по объектам
- Бухгалтерский учет
- Расчет зарплаты...

ООО «ЛИГА-ТРАНС»
ООО «ЛИГА-ТРАНС»

Отрасль:
Профессиональные услуги, бытовое обслуживание

Внедренное типовое решение:
«1С:ERP Управление предприятием 2.1».

- Сделано ТЗ по автоматизации учета МСФО: - Разработана карта бюджета доходо...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение