[ Вопрос дня ] Как правильно организовать замер времени открытия форм?

Отдельного курса по БСП на нашем проекте нет, но многие ее подсистемы изучаются как самостоятельные темы в рамках различных курсов.

Так, например, в рамках курса Ускорение и оптимизация систем на 1С:Предприятие 8.3 + подготовка на 1С:Эксперт по технологическим вопросам слушатели знакомятся с подсистемой БСП «Оценка производительности», предназначенной для оценки интегральной производительности системы по методике APDEX.

Вопрос

Как правильно организовать замер времени открытия форм? В каких обработчиках правильнее делать вызов процедур: НачатьЗамерВремени и ЗакончитьЗамерВремени?

Ответ

Для замера времени открытия формы, пожалуй, наиболее точный результат будет, если начать замер самой первой строкой обработчика события ПриСозданииНаСервере, а заканчивать замер – последней строкой обработчика события ПриОткрытии.

С другой стороны, ещё точнее замер будет, если последней строкой обработчика события ПриОткрытии выполнить бесконтекстный серверный вызов (&НаСервереБезКонтекста) и именно там завершить замер (вызов только для завершения замера и никаких в нем дополнительных операций).

Также следует иметь в виду, что цель замеров Apdex – замер реакции системы на интерактивные события (клик и т.п.). Если открытие формы вызывается из другой формы (возможно, что помимо открытия производится ряд других операций), то имеет смысл начать замер сразу после возникновения события-инициатора.

Комментарии / обсуждение (5):

  1. Дмитрий

    На мой взгляд немного не корректно, завершаться замер должен в сотоянии покоя формы, а это не факт что последняя строка ПриОткрытии. Правильней подключать обработчик ожидания а событии ПриОтрытии и завершать замер в нем

    • Шемякин Александр

      Добрый день, Дмитрий!
      При вашем варианте к времени замера будет добавлено время через которое обработчик ожидания должен получить управление + время на выполнение подключения обработчика + время на выполнения входа в процедуру подключенную обработчиком.

      • Дмитрий

        Все правильно, и по отношению к апдекс и пользователю – это справедливо.

      • Дмитрий

        Вас ведь нужно реальное время, как будто форма открывается для ползователя? А не бесполезная синтетика.

        • Шемякин Александр

          Да, но то, что вы предлагаете будет гарантировано больше чем время открытия формы (а если система была в этот момент чрезмерно нагружена – обработчик ожидания отрабатывает не всегда, т.е. можно получить 2 * время периода вызова обработчика). На поверку эта “синтетика” оказывается наиболее точной.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Вход на сайт

Зарегистрироваться

Подтверждение регистрации будет отправлено на указанный e-mail.

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

Восстановить доступ

E-mail или логин

Ссылка на создание нового пароля будет отправлена на указанный e-mail.