Опыт использования подсистемы "Оценка производительности" в УТ11

04.07.13

Разработка - БСП (Библиотека стандартных подсистем)

Опыт внедрения и использования подсистемы "Оценка производительности" из БСП 2.0 в Управлении торговлей 11 (11.0.8). Отчет по статистике проведенных замеров с отбросом статистических выбросов.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Отчет статистика замеров быстродействия
.erf 12,94Kb
23 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Подсистема встраивалась в УТ 11.0.8; в данной версии в типовой конфе она отсутствовала.
Не буду описывать как технически осуществляется интеграция, описания можно найти в интернете, например http://programmist1s.ru/ustanovka-podsistemyi-bsp-otsenka-proizvoditelnosti/

Остановлюсь вот на чем: в найденных мною описаниях речь идет о ранних версиях БСП, а её использование было несколько изменено начиная с БСП 2.0.1.

Цитирую: "Изменен тип объекта КлючевыеОперации - теперь это справочник. Необходимо перенести все ключевые операции из перечисления в справочник и в режиме 1С:Предприятия задать приоритет и целевое время для каждой операции. Для замеров времени больше не используется параметр сеанса ТекущийЗамерВремени, вместо него на клиенте используется глобальная переменная модуля управляемого или обычного приложения ОценкаПроизводительностиЗамерВремени."

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

Опять же в интернете приведен пример интеграции замера в интерактивное проведение документа (замена стандартной кнопки OK).
Вот мой код кнопки "Провести и закрыть" применительно к БСП 2.0.


&НаКлиенте

Процедура _OK(Команда)

    Если
ОценкаПроизводительностиПовтИсп.ВыполнятьЗамерыПроизводительности() Тогда

       
#Если ТолстыйКлиентОбычноеПриложение Тогда

           
КлючеваяОперация = Справочники.КлючевыеОперации.ПроведениеЗаказаКлиента;

       
#Иначе

           
КлючеваяОперация = ПредопределенноеЗначение("Справочник.КлючевыеОперации.ПроведениеЗаказаКлиента");

       
#КонецЕсли

       
ОценкаПроизводительностиКлиентСервер.НачатьЗамерВремени(КлючеваяОперация);

    КонецЕсли;



    Попытка

       
#Если ТолстыйКлиентОбычноеПриложение Тогда

           
ЗаписатьВФорме(РежимЗаписиДокумента.Проведение);

       
#Иначе

           
ПараметрыЗаписи = Новый Структура("РежимЗаписи");

           
ПараметрыЗаписи.РежимЗаписи = РежимЗаписиДокумента.Проведение;

           
ЭтаФорма.Записать(ПараметрыЗаписи);

       
#КонецЕсли

   
Исключение

    КонецПопытки;

   
ЭтаФорма.Закрыть();



КонецПроцедуры

Далее пример того, чего не находил в интернетах - замер времени открытия динамического списка (от нажатия пользователем на ссылку в интерфейсе). Изменяем код обработчика команды открытия списка Заказы клиентов.


&НаКлиенте

Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)



   
//==========================

    //замер времени открытия списка заказов клиентов

   
Если ОценкаПроизводительностиПовтИсп.ВыполнятьЗамерыПроизводительности() Тогда

       
#Если ТолстыйКлиентОбычноеПриложение Тогда

           
КлючеваяОперация = Справочники.КлючевыеОперации.ОткрытиеСпискаЗаказовКлиентов;

       
#Иначе

           
КлючеваяОперация = ПредопределенноеЗначение("Справочник.КлючевыеОперации.ОткрытиеСпискаЗаказовКлиентов");

       
#КонецЕсли

       
ОценкаПроизводительностиКлиентСервер.НачатьЗамерВремени(КлючеваяОперация);

    КонецЕсли;

   
//================



    //стандартный код

   
ОткрытьФорму("Документ.ЗаказКлиента.Форма.ФормаСпискаДокументов",

        ,
// ПараметрыФормы,

       
ПараметрыВыполненияКоманды.Источник,

       
ПараметрыВыполненияКоманды.Уникальность,

       
ПараметрыВыполненияКоманды.Окно

    );



КонецПроцедуры

Ну и поскольку пока цель - накопление статистики, а не анализ его по APDEX (в отсутствие целевых эталонных времен) -  реализован отчет на СКД, который показывает в виде диаграмм количество, максимальное и среднее время выполнения операций в разрезе подразделений (у нас территориально распределенная сеть).

Особенность отчета - для вариантов "среднее время операций", "максимальное время выполнения операций" отбрасываются 10% минимальных и максимльных значений замеров внутри дня и ключевой операции. Это нужно для исключения случайных выпадений. Например пользователь выполняет замеряемую операцию, внутри который имеется интерактивный диалог - а вместо ответа "Да/Нет" пользователь вышел покурить / отвечает на телефонный звонок и т.п. или случился "затык" канала связи и время вместо 8 секунд стало 70 :).

Вступайте в нашу телеграмм-группу Инфостарт

См. также

БСП (Библиотека стандартных подсистем) Программист Платные (руб)

Синтакс-помощник БСП - cправочник по библиотекам стандартных подсистем и электронных документов. В состав справочника входит описание экспортных процедур и функций, размещенных в областях кода ПрограммныйИнтерфейс БСП и БЭД.

1800 руб.

21.11.2024    8825    41    24    

45

Нейросети БСП (Библиотека стандартных подсистем) Инструментарий разработчика Программист 1С v8.3 1С:Библиотека стандартных подсистем Бесплатно (free)

Telegram-бот для разработчиков 1С, работающих с БСП. Если не знаете нужный под задачу метод или не помните название, то опишите боту задачу и получите список подходящих экспортных методов из общих модулей БСП.

02.09.2025    3534    krasnov322    19    

35

Анализ учета БСП (Библиотека стандартных подсистем) 1С v8.3 1С:Библиотека стандартных подсистем Бесплатно (free)

Расширение для конфигураций на базе БСП 3.х. Позволяет создавать новые отчеты путем соединения или объединения других отчетов.

22.05.2025    3083    112    seperblunt    8    

22

Работа с интерфейсом БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Программист 1С v8.3 1C:ERP Бесплатно (free)

В этой статье я расскажу, как в конфигурации 1С:ERP 2.5 при начале работы системы настроить открытие своих нетиповых форм (в том числе и из внешних обработок). Данную методику можно использовать как на тонком клиенте, так и на мобильном или веб-клиенте, а также в мобильном приложении.

12.05.2025    3396    PROSTO-1C    2    

17

БСП (Библиотека стандартных подсистем) Роли и права Программист 1С v8.3 1С:Библиотека стандартных подсистем Бесплатно (free)

Наткнулся на костыль по работе с ролями. Хочу поделиться, как не попасть на это странное поведение БСП.

07.05.2025    6880    dsdred    32    

88

БСП (Библиотека стандартных подсистем) Обновление 1С Программист 1C:ERP Бесплатно (free)

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

29.04.2025    3437    krasnoshchekovpavel    7    

19

БСП (Библиотека стандартных подсистем) Механизмы платформы 1С Программист 1С v8.3 Бесплатно (free)

Описание способа создания глобального обработчика оповещений (событие формы), не привязанного к какой-то конкретной форме.

01.04.2025    2461    krasnoshchekovpavel    0    

10

БСП (Библиотека стандартных подсистем) Программист 1С v8.3 1С:Библиотека стандартных подсистем Россия Бесплатно (free)

Как создать внешнюю печатную форму для конфигураций на базе БСП с желанной всеми разработчиками фишкой - автоматическим открытием обработки в конфигураторе с остановкой отладчика внутри процедуры Печать() при выполнении интерактивной команды печати.

24.03.2025    3121    GeraltSnow    6    

34
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. AlX0id 04.07.13 12:53 Сейчас в теме
Эм... А где же сам "опыт" использования-то? Ну там оценки - типа подсистема "г" или не "г", подходит в таких-то случаях, в таких-то не подходит..
EvgeniyOlxovskiy; +1 Ответить
2. Vlad_M 80 04.07.13 13:00 Сейчас в теме
(1) хм... действительно. Внедрили - собираем статистику. Инструмент нормальный с той точки зрения что пытается именно с точки зрения пользователя замерить. До выполнения отчетов пока не добрались, хотя мысли есть. Внятных скачков быстродействия не заметили, заметили что масштабируемости у нас пока хватает - т.е. при увеличинии работы пользователей и количества операций среднее время фактически не изменяется.
3. bendarik 28.11.14 18:26 Сейчас в теме
У меня внутренний конфликт.
С одной стороны я понимаю, что необходимо цепляться, как в вашем случае, за кнопку "ОК", а с другой стороны не могу найти аргументов против того чтобы цепляться за обработчики событий (начать с "ПередЗаписью" и закончить "ПослеЗаписи").
Возможно фитча в том, чтобы полностью возродить пользовательское "клацанье", но где же взять пруф тому что от клацанья до момента вызова первого обработчика че-то происходит? Логично предположить, что происходит в этот промежуток как раз вызов обработчика )), но стоит ли описывать новую команду ради замера вызова обработчика?
Помогите...
4. mxs89 31 03.02.16 11:27 Сейчас в теме
как происходит сохранение результатов замера? в РС ЗамерыВремени?
5. Vlad_M 80 29.03.16 10:23 Сейчас в теме
(4) mxs89, Да в данном регистре
6. free11 12 07.12.16 11:03 Сейчас в теме
Не понял, в какой момент происходит фиксация окончания замера?
mrgraph; emakei; +2 Ответить
7. RailMen 830 26.03.18 10:52 Сейчас в теме
Владислав, тему описал наинтереснейшую. Лайкую!
Что мешало выложить скриншоты отчета со статистикой? Ну это же статья на инфо ресурсе, надо же больше графических материалов выкладывать.
Для отправки сообщения требуется регистрация/авторизация