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

Содержание:

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С:Бухгалтерия 8 ПРОФ

Расчет зарплаты
Подбор кадров
Кадровый учет
Анализ кадрового состава...

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

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

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

Документооборот (ECM):
- Учет рабочего времени;
Управление персоналом и ка...

Апгрейд 1С:Бухгалтерия 8 ПРОФ (USB) до версии 1С:Бухгалтерия 8 КОРП (USB)
ООО «Ява Строй»

Отрасль:
Строительство

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

- Создание чистых конфигураций. Внесение изменений в БД ЗУП и новая расчетна...

ООО «ПЛЮСПЭЙ»
ООО «ПЛЮСПЭЙ»

Отрасль:
Организацией расчетов посредством электронных средств платежа

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

- Разработка подсистемы оперативного учета транзакций...

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

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

Внедренное типовое решение:
1С:Управление торговлей

Управление цепочками поставок Оптовая торговля ...

ООО «ЛукБелОйл»
ООО «ЛукБелОйл»

Отрасль:
Нефтегазовая отрасль

Внедренное типовое решение:

- Обследовании бизнес-процессов «Документооборот», «Казначейство и Бюджети...

ХИТЕК-ГРУП
ХИТЕК-ГРУП

Отрасль:
Продажа парикмахерского инструмента и аксессуаров

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

Документооборот (ECM)
• Делопроизводство
Управление бизнес-процессами и И...

МИР ХОББИ
МИР ХОББИ

Отрасль:
Торговля. Интернет магазин

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

Оформление заказов поставщикам
Взаиморасчеты с покупателями
Оформление...

ООО «ДАФ Тракс Рус» (DAF Trucks Rus)
ООО «ДАФ Тракс Рус» (DAF Trucks Rus)

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

Внедренное типовое решение:
«1С:Управление корпоративными финансами»

- Осуществлена разработка матрицы прав и ролей для финансового подразделени...

Автоматизация интеграции с информсистемами клиентов на базе «1С:Предприятие 8. WMS Логистика. Управление складом»
ОАО «Фрейт Линк»

Отрасль:
Логистика и грузоперевозки

Внедренное типовое решение:
«1С:Предприятие 8. WMS Логистика. Управление складом»

– Управление складскими запасами;
– Оформление заказов покупателей;
– ...

Внедрение системы финансового учета БИТ:Финанс
ООО «Алькор и Ко» (Л’Этуаль)

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

Внедренное типовое решение:
БИТ.Финанс

- Финансовый учет;
- Поддержка проекта внедрения МСФО;
- Регламентные рабо...

Внедрение 1С:Управление торговлей
ООО «Амперсенд»

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

Внедренное типовое решение:
1С:Управление торговлей

- Оформление заказов поставщикам;
- Управление отношениями с поставщиками;...

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

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

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

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