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

Содержание:

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С:Управление торговлей"
ООО «ТЕЛЕВЕС РУСС»

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

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

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

Внедрение блока бухгалтерского учета «1С:Управление производственным предприятием»
ОАО «Издательство «Просвещение»

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

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

Бухгалтерский учет:
- Завершение периода;
- Регламентированная отчетнос...

ООО "Смена"
ООО "Смена"

Отрасль:
Торговля, склад, логистика, транспорт

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

Банк и касса
Расчеты с контрагентами
Торговые операции
Взаиморасчеты с...

1с-РАРУС МСК
1с-РАРУС МСК

Отрасль:
Разработка компьютерного программного обеспечения

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

- Совместная работа по внедрению разных решений, в том числе «1С:ERP Управление...

ООО "АСТАРМЕДИКА КЛИНИКА МИКРОХИРУРГИИ ГЛАЗА"
ООО "АСТАРМЕДИКА КЛИНИКА МИКРОХИРУРГИИ ГЛАЗА"

Отрасль:
Деятельность больничных организаций

Внедренное типовое решение:
БИТ:Управление медицинским центром 8

- Управление отношениями с клиентами (CRM)
- Делопроизводство
- Ведение но...

Автоматизации учета затрат и расчета себестоимости с использованием конфигурации «Koderline: Управление проектами строительства скважин»
ООО «Буровая сервисная компания «ГРАНД»

Отрасль:
Нефтесервис

Внедренное типовое решение:
«Koderline: Управление проектами строительства скважин»

Учет и планирование:
- собственную разработку компании «Кодерлайн» – конф...

Автоматизация учета на базе ПП "1С:Комплексная автоматизация 8" в ЗАО "Крюгер-Гранд"
ЗАО «Крюгер-Гранд»

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

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

- Создание интерфейсов и наборов прав пользователей;
- Отражению временных ...

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

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

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

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

Внедрение ПП «1С:Предприятие 8. Аренда и управление недвижимостью на базе "1С:Бухгалтерия 8"» в компании «Бутово Молл»
ООО «Бутово Молл»

Отрасль:
Недвижимость

Внедренное типовое решение:
1С:Аренда и управление недвижимостью на базе «1С:Бухгалтерия 8»

Управление продажами, логистикой и транспортом (SFM, WMS, TMS):
- Оформление зак...

ООО «Иви.ру»
ООО «Иви.ру»

Отрасль:
Медиаиндустрия

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

Подсистема казначейства
Модуль бюджетного контроля по ДДС ...

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

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

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

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

ООО «ПраксисКом»
ООО «ПраксисКом»

Отрасль:
Аутсорсинг бухгалтерских услуг

Внедренное типовое решение:
1С:Управление небольшой фирмой 8 ПРОФ

- Взаиморасчеты с поставщиками
- Учет прихода ТМЦ
- Взаиморасчеты с поку...

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

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

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

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