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

04.07.13

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

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

Скачать файл

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

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

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

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

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

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

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


&НаКлиенте

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

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

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

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

       
#Иначе

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

       
#КонецЕсли

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

    КонецЕсли;



    Попытка

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

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

       
#Иначе

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

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

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

       
#КонецЕсли

   
Исключение

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

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



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

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


&НаКлиенте

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



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

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

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

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

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

       
#Иначе

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

       
#КонецЕсли

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

    КонецЕсли;

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



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

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

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

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

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

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

    );



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

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

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

См. также

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

В статье описан алгоритм для включения документа или справочника в систему БСП. Будет полезно программистам 1С, начинающим работать с БСП.

24.10.2024    1100    PROSTO-1C    0    

12

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

В материале описан универсальный механизм работы с добавленными элементами на общую форму «ФормаОтчета». Думаю, облегчит работу многим разработчикам.

08.10.2024    978    PROSTO-1C    4    

10

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

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

04.10.2024    1830    MadRave    11    

24

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

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

10.09.2024    1823    MadRave    1    

17

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

А что, если долгожданная реализация Паузы в 1С смутно напоминает старую, проверенную? А?!

06.09.2024    1255    n_mezentsev    10    

8

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

Добавим дополнительные свойства в новый документ средствами БСП

02.09.2024    4107    John_d    10    

52

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

Всё больше организаций выбирает для серверов под 1С операционные системы Linux. Одним из отличий систем Windows и Linux является отсутствие COM объектов, которые зачастую использовались для формирования печатных форм офисных документов (Word). Конечно, можно выполнять печать и на клиенте, но есть риск импортозамещения. В работе у меня случались проблемы с зависанием процесса Word, поэтому я не люблю его использовать.

29.07.2024    5354    PROSTO-1C    12    

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