Многопоточное тестирование производительности по методике APDEX (управляемые формы)








Каждый у кого нет сервера, мечтает его купить, а те, у кого сервер есть, мечтают, чтобы он был быстрее.
Но деньги на сервер выделяет руководство…

Эпиграф: 
Два мужчины в автобусе:
— Простите… если Вы позволите, я… с вашего позволения,
воспользуюсь…
— Повольте вам этого не позволить!
— Но позвольте!?
— Простите, но это непозволительно!!

© анекдоты про петербуржцев

Постановка задачи:

Прошлая статья Измерь его правильно! Краткое описание общепринятого метода оценки производительности DB серверов вызвала волну возмущения тру 1Сников.
Что как так можно мерять сервер 1С утилитой не на 1С написанной. И пусть весь мир подождет ей пользуется, это нам побоку.
С другой стороны, все приходящие на ум утилиты на 1С замеряют скорость в некоторых условных "попугаях".
Есть суперская конфигурация уважаемого Fragstera Многопоточное тестирование производительности сервера 1С — СУБД, но рассказать вышеупомянутому руководству, что "Эмпирическим путем получено число в 400-500 попугаев на поток (не учитывая временные таблицы), при котором работа терпима" это 100% вероятность уйти без финансирования.
Есть конфигурация тест Гилева, измеряющая на мой взгляд сферического коня в вакууме, но она четко продумана маркетологически. 
Можно стартануть ее на аплбуке шефа и потом, пустив скупую мужскую слезу показать результаты с сервера. Это работает.

Но если по честному, всех интересует с какой скоростью работают конкретные пользователи в конкретной конфигурации и в основном в рабочее время.
Это с достаточной долей достоверности показывает APDEX
встроенный во все актуальные типовые конфигурации.
APDEX не стыдно показать ни техническому специалисту, но совершенно далекому от всего вот этого главному бухгалтеру — он увидит в нем знакомые названия документов и придет к вам вподмогу, что да-да для ПТУ пять секунд это непозволительная роскошь.

Поэтому на другой стороне мы имеем КИП с его нагрузочным тестированием. Это стоит своих денег, но недешево. В некоторых случаях совсем недешево.

Решение:

Примерно по середине между этими тулзами и лежит моя обработка.
Она опирается на APDEX и кроме того она, в отличие от того же КИП не требует встраивания в конфигурацию, а в отличие от стандартного нагрузочного теста не только проводит документы, но и открывает окна справочников и документов.

К тому же она модульная и вы можете составить обработку тестирования и профиль замеров под свою специфику работы.
Для этого достаточно понимания языка запросов, чтобы создать свой вариант выборки объектов.

Порядок работы:

Внимание! Крайне нежелательно запускать в рабочей базе, не убрав из модуля тестирования блок копирования документов.

Агенты тестирования запускаются по Automation сервер, поэтому — windows, поменяете запуск на командную строку — можно запустить в linux. 

Общий принцип работы:
Обработка опирается на подсистему БСП Оценка производительности.
При создании она набирает массивы справочников и документов и случайным порядком открывает их окна, документы проводит или копирует.
Таким образом набирается статистика для APDEX примерно похожая на реальную работу.
Для оценки быстродействия должен быть создан профиль замера.

Предварительные действия перед запуском:

  1. Создан архив информационной базы (не обязательно, если это демо или тестовая конфигурация)
  2. У запускающего пользователя должна быть убрана защита от опасных действий
  3. Создано нужное количество виртуальных пользователей
  4. Создан профиль ключевых операций  БСП Оценка производительности (единственное отличие от типового — время открытия приложения увеличено)
  5. Очищен на текущий день как минимум регистр замеров времени
  6. Отключен контроль отрицательных остатков (если вы не убрали блок копирования документов)
  7. В ИБ подключена внешняя обработка агента тестирования

Все эти действия проходятся пошагово по кнопкам ( защита от опасных действий запускающего пользователя должна быть убрана раньше или база перезапущена)

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

По нажатию кнопки "Запустить тестирование" с  таймаутом запуска будут открыты базы 1С и в них запустится обработка агента тестирования.

Всю эту логику несложно поменять, по умолчанию выбраны справочники Контрагенты и Номенклатура и документы Поступление на расчетный счет, Списание с расчетного счета, Поступление товаров и услуг, Реализация товаров и услуг.

Обработка тестирования и профиль ключевых операций включены как макеты двоичных данных.

Время и многие вещи набиты хардкодом, в свое оправдание хочу заметить, что и профили ключевых операций у 1С набиты аналогично и не всегда совпадают с названием метаданных документа (это потому что разработчики подсистем редко встречаются друг с другом).
И например Документ: РеализацияТоваровУслуг, а название ключевой операции ПроведениеРеализацияТоваровИУслуг.
 

Требования к запуску обработки:

Обработка предназначена для использования с актуальными типовыми конфигурациями:

для России:

  1. Бухгалтерия предприятия, редакция 3.0 (проверена на редакциях 3.0.66.70)

      Легко доработается под Управление торговлей 11 и актуальные типовые.

Также возможна адаптация отчета под любую имеющуюся у пользователя типовую или нетиповую конфигурацию. 

Установка и использование обработки:

  1. Обработка выполнена с использованием управляемых форм, соответственно, для конфигураций с обычным интерфейсом требует для работы включения в конфигурацию либо запуска в управляемом интерфейсе.
  2. Может использоваться платформа  8.3.12.х и старше

 

         Поддержка отчета, лицензирование:

  1. Обработка не имеет ограничений по периоду действия, количеству организаций и информационных баз.
  2. При возникновении вопросов по работе с отчетом, их можно обсудить в комментариях к публикации, личных сообщениях либо по e-mail, указанному в письме с отчетом.

   

Продолжает серию обработок:

Использовалась в статьях:

   

Не верю, что мне приходится писать для пользователей этого сайта, но как оказалось нужно.

Если вы не представляете: что такое 1С Предприятие,  файл и зачем вам нужна эта кухня.

Все файлы из интернет считаете зараженными вирусом.

Если физиологические, моральные, религиозные или другие причины не позволяют вам заполнять справочники, документы, настраивать отчеты 1С и запускать обработки.

А платить вы за это не будете так как программист с десятилетним стажем.

Закройте эту страницу не продолжая чтения дальше.

Для адекватных людей:

Если оно есть у вас или предложения по улучшению — пишите.

24 Comments

  1. Gilev.Vyacheslav

    чтобы это всё из бреда превратилось в нечто осмысленное Вам (0) стоит отказаться от апдекса в пользу секунд, т.е. перейти на статистику длительности операций, потому что апдекс как раз и есть маркетинг

    Reply
  2. MuI_I_Ika

    В последних редакциях УТ/ERP название документа ПоступлениеТоваровУслуг изменено на ПриобретениеТоваровУслуг

    Reply
  3. capitan

    (2)А у меня Бухгалтерия предприятия , редакция 3.0 если присмотреться )

    Но за загрузку спасибо.

    Напишите как там в ERP живется

    Reply
  4. MuI_I_Ika

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

    Reply
  5. capitan

    (4)Камень в огород)

    Но при скачивании было написано примерно следующее:

    Предупреждение! Файлы за стартмани не являются готовым решением. Это примеры, шаблоны, алгоритмы, «стройматериалы» для вашей учетной системы. Нет гарантии работоспособности. Вы скачиваете и используете на свой страх и риск. Готовые решения с техподдержкой находятся в каталоге софтмагазина.

    Ну в принципе достаточно ведь переименовать и все заработало ?

    Reply
  6. MuI_I_Ika

    (5) не ну впринципе разобрался, сейчас запустим

    Reply
  7. capitan

    (6)Напишите в почту. У меня есть доработка чтобы с каждого рабочего места запускать пользователей со своими префиксами

    Если нужно конечно

    Reply
  8. Region_64

    (1) Возьмите регистр сведений Замеры времени, и смотрите сколько хотите на колонку время выполнения в секундах. Даже отчет можете свой написать. Другое дело, что для корректного замера производительности в той или иной конфигурации, в которой поддерживается такой замер (если мы говорим про APDEX от 1С), нужно внимательно отнестись к настройке профиля ключевых операций. Что касается текущего теста, то его плюс в том, что он реально пытается имитировать работу пользователей. Не нравиться какие действия делает стандартная обработка — измените алгоритм (о чем автор пишет) с учетом вашей специфики. Но это не синтетический тест, который заполняет таблицы минимальным набором данных и потом циклом прогоняет запросы к этим данным. Это тест, с помощью которого можно создать условия, очень похожие на боевые. А что касается «попугаев», то для сравнения одного кластера серверов с другим, например, неважно какую единицу измерения использовать.

    Reply
  9. capitan

    (8)Спасибо на добром слове)

    Все точно так и есть.

    И сам APDEX не на пустом месте появился — он как раз пытается не только учитывать секунды, но и психологию — порог терпения пользователей.

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

    Reply
  10. Gilev.Vyacheslav

    (8) сделать можно всё, автор спрашивает что конкретно надо сделать

    а вот вы пишите теоретически — конечно

    «внимательно отнестись»

    можно, но это субъективно, а не объективный критерий

    Это тест, с помощью которого можно создать условия, очень похожие на боевые

    ставлю что вы сами не понимаете критерий боевых, например вы сможете дать оценку тому функционалу, который компания планирует написать и внедрить в ближайший месяц текущим тестом? знаете сколько вас таких «умных» …

    Reply
  11. Gilev.Vyacheslav

    (9) вот психологию он как раз и не учитывает, если вы опытней клиента, то с помощью апдекса выставив правильные значений легко «пустите пыль в глаза», скроете например пиковые отклонения за большим количеством средних значений

    Reply
  12. capitan

    (11)Вячеслав, я как раз не внедренец, я с полей.

    И мои работы подписанием акта не заканчиваются, если я как вы выразились «пущу пыль в глаза» то меня эти же люди порвут как тузик грелку

    Да и у вас наверняка есть какие то гарантии.

    Reply
  13. Region_64

    (10)

    ставлю что вы сами не понимаете критерий боевых, например вы сможете дать оценку тому функционалу, который компания планирует написать и внедрить в ближайший месяц текущим тестом? знаете сколько вас таких «умных» …

    Странный у вас подход. Вы дискутируете или переходите на личности?

    Позволю заметить (уже опасаюсь очередных ярлыков), что конкретно этот тест рассчитан на типовую конфигурацию. И боевые условия — высоконагруженная работа конкретно в этой конфигурации в моем понимании. А не написание и внедрение нового функционала. А уж если говорить о новом функционале, то очень интересно как может тест, проводящий замеры времени шаблонных операций, помочь дать оценку новому функционалу.

    Reply
  14. capitan

    (13)У Вячеслава такая манера общаться, привыкайте )

    На самом деле все это легко измеряется даже количественно — простым пересчетом сотрудников и созданных документов за период

    Маловероятно, что с вводом новой базы и/или нового оборудования их число изменится.

    Reply
  15. Region_64

    (14)

    У Вячеслава такая манера общаться, привыкайте )

    Это странно.

    На самом деле все это легко измеряется даже количественно — простым пересчетом сотрудников и созданных документов за период

    Примерно это я имел ввиду, когда говорил «внимательно отнестись» — т.е. собрать профиль их числа самых распространенных операций и расставить приоритеты исходя из имеющейся статистики.

    Reply
  16. Gilev.Vyacheslav

    (12) переходите к нам работать

    Reply
  17. Gilev.Vyacheslav

    (13) но вы ушли от ответа: что такое «тест боевой базы»? как вы отличаете боевую от не боевой

    Reply
  18. Gilev.Vyacheslav

    (15) сами говорите что не обсуждаем личности и тут же обсуждаете «мою манеру общения»

    вы прям как пендосы с двойными стандартами: вам можно, мне — нет

    Reply
  19. Region_64

    (17) В моем случае «боевая база» — это база, в которой работает компания. С типовой конфигурацией и реализованным доп. функционалом.

    В общем случае — достаточно первого предложения.

    Reply
  20. Region_64

    (18)я не обсуждал, а ответил тс

    (18)про пендосов — смешно.

    Reply
  21. Gilev.Vyacheslav

    (19) вы вообще не вкуриваете о чем речь

    Reply
  22. Region_64

    (21) Многозначительно.

    Reply
  23. Botofill

    Здравствуйте, всё хорошо, тест запускается, в каждом окне агента показывает количество циклов, которое он будет исполнять, но вот можно ли это количество настроить до того, как тест запуститься не влезая в конфигуратор?

    А ещё у меня после теста результаты не показывает =(

    Reply
  24. capitan

    (23) Не влезая в конфигуратор — нет (

    Результаты теста можно встроенной типовой обработкой посмотреть — Просмотр замеров производитеьности.

    вы их включить не забыли ?

    Reply

Leave a Comment

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