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

01.09.21

База данных - HighLoad оптимизация

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Многопоточное тестирование производительности по методике APDEX (управляемые формы):
.epf 947,16Kb
30
30 Скачать (10 SM) Купить за 4 550 руб.
Многопоточное тестирование производительности по методике APDEX (управляемые формы) 1С:Документооборот:
.epf 938,72Kb
0
0 Скачать (10 SM) Купить за 4 550 руб.

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

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

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

Прошлая статья Измерь его правильно! Краткое описание общепринятого метода оценки производительности 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С и запускать обработки.

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

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

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

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

См. также

HighLoad оптимизация Программист Платформа 1С v8.3 Бесплатно (free)

Метод очень медленно работает, когда параметр приемник содержит намного меньше свойств, чем источник.

06.06.2024    8730    Evg-Lylyk    61    

43

HighLoad оптимизация Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Анализ простого плана запроса. Оптимизация нагрузки на ЦП сервера СУБД используя типовые индексы.

13.03.2024    4875    spyke    28    

49

HighLoad оптимизация Программист Платформа 1С v8.3 Бесплатно (free)

Оказывается, в типовых конфигурациях 1С есть, что улучшить!

13.03.2024    7241    vasilev2015    20    

42

HighLoad оптимизация Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Обработка для простого и удобного анализа настроек, нагрузки и проблем с SQL сервером с упором на использование оного для 1С. Анализ текущих запросов на sql, ожиданий, конвертация запроса в 1С и рекомендации, где может тормозить.

2 стартмани

15.02.2024    11842    226    ZAOSTG    76    

115

HighLoad оптимизация Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Принимать, хранить и анализировать показания счетчиков (метрики) в базе 1С? Почему бы нет? Но это решение быстро привело к проблемам с производительностью при попытках построить какую-то более-менее сложную аналитику. Переход на PostgresSQL только временно решил проблему, т.к. количество записей уже исчислялось десятками миллионов и что-то сложное вычислить на таких объемах за разумное время становилось все сложнее. Кое-что уже практически невозможно. А что будет с производительностью через пару лет - представить страшно. Надо что-то предпринимать! В этой статье поделюсь своим первым опытом применения СУБД Clickhouse от Яндекс. Как работает, что может, как на нее планирую (если планирую) переходить, сравнение скорости работы, оценка производительности через пару лет, пример работы из 1С. Все это приправлено текстами запросов, кодом, алгоритмами выполненных действий и преподнесено вам для ознакомления в этой статье.

1 стартмани

24.01.2024    5258    glassman    17    

40

HighLoad оптимизация Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Встал вопрос: как быстро удалить строки из ТЗ? Рассмотрел пять вариантов реализации этой задачи. Сравнил их друг с другом на разных объёмах данных с разным процентом удаляемых строк. Также сравнил с выгрузкой с отбором по структуре.

09.01.2024    12422    doom2good    49    

71
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Gilev.Vyacheslav 1917 09.01.19 17:48 Сейчас в теме
чтобы это всё из бреда превратилось в нечто осмысленное Вам (0) стоит отказаться от апдекса в пользу секунд, т.е. перейти на статистику длительности операций, потому что апдекс как раз и есть маркетинг
ProgrammistC; surikateg; +2 Ответить
8. Region_64 36 01.03.19 11:14 Сейчас в теме
(1) Возьмите регистр сведений Замеры времени, и смотрите сколько хотите на колонку время выполнения в секундах. Даже отчет можете свой написать. Другое дело, что для корректного замера производительности в той или иной конфигурации, в которой поддерживается такой замер (если мы говорим про APDEX от 1С), нужно внимательно отнестись к настройке профиля ключевых операций. Что касается текущего теста, то его плюс в том, что он реально пытается имитировать работу пользователей. Не нравиться какие действия делает стандартная обработка - измените алгоритм (о чем автор пишет) с учетом вашей специфики. Но это не синтетический тест, который заполняет таблицы минимальным набором данных и потом циклом прогоняет запросы к этим данным. Это тест, с помощью которого можно создать условия, очень похожие на боевые. А что касается "попугаев", то для сравнения одного кластера серверов с другим, например, неважно какую единицу измерения использовать.
9. capitan 2492 01.03.19 11:18 Сейчас в теме
(8)Спасибо на добром слове)
Все точно так и есть.
И сам APDEX не на пустом месте появился - он как раз пытается не только учитывать секунды, но и психологию - порог терпения пользователей.
Он же изначально применялся для оценки скорости открытия страниц веб-сайта и сколько человек его дождутся
Region_64; +1 Ответить
11. Gilev.Vyacheslav 1917 01.03.19 15:01 Сейчас в теме
(9) вот психологию он как раз и не учитывает, если вы опытней клиента, то с помощью апдекса выставив правильные значений легко "пустите пыль в глаза", скроете например пиковые отклонения за большим количеством средних значений
12. capitan 2492 01.03.19 15:13 Сейчас в теме
(11)Вячеслав, я как раз не внедренец, я с полей.
И мои работы подписанием акта не заканчиваются, если я как вы выразились "пущу пыль в глаза" то меня эти же люди порвут как тузик грелку
Да и у вас наверняка есть какие то гарантии.
16. Gilev.Vyacheslav 1917 02.03.19 01:16 Сейчас в теме
(12) переходите к нам работать
KroVladS; +1 Ответить
10. Gilev.Vyacheslav 1917 01.03.19 14:59 Сейчас в теме
(8) сделать можно всё, автор спрашивает что конкретно надо сделать
а вот вы пишите теоретически - конечно
"внимательно отнестись"
можно, но это субъективно, а не объективный критерий

Это тест, с помощью которого можно создать условия, очень похожие на боевые
ставлю что вы сами не понимаете критерий боевых, например вы сможете дать оценку тому функционалу, который компания планирует написать и внедрить в ближайший месяц текущим тестом? знаете сколько вас таких "умных" ...
ProgrammistC; +1 Ответить
13. Region_64 36 01.03.19 16:55 Сейчас в теме
(10)
ставлю что вы сами не понимаете критерий боевых, например вы сможете дать оценку тому функционалу, который компания планирует написать и внедрить в ближайший месяц текущим тестом? знаете сколько вас таких "умных" ...


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

Позволю заметить (уже опасаюсь очередных ярлыков), что конкретно этот тест рассчитан на типовую конфигурацию. И боевые условия - высоконагруженная работа конкретно в этой конфигурации в моем понимании. А не написание и внедрение нового функционала. А уж если говорить о новом функционале, то очень интересно как может тест, проводящий замеры времени шаблонных операций, помочь дать оценку новому функционалу.
14. capitan 2492 01.03.19 17:17 Сейчас в теме
(13)У Вячеслава такая манера общаться, привыкайте )

На самом деле все это легко измеряется даже количественно - простым пересчетом сотрудников и созданных документов за период
Маловероятно, что с вводом новой базы и/или нового оборудования их число изменится.
15. Region_64 36 01.03.19 17:55 Сейчас в теме
(14)
У Вячеслава такая манера общаться, привыкайте )

Это странно.

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


Примерно это я имел ввиду, когда говорил "внимательно отнестись" - т.е. собрать профиль их числа самых распространенных операций и расставить приоритеты исходя из имеющейся статистики.
18. Gilev.Vyacheslav 1917 02.03.19 01:23 Сейчас в теме
(15) сами говорите что не обсуждаем личности и тут же обсуждаете "мою манеру общения"
вы прям как пендосы с двойными стандартами: вам можно, мне - нет
20. Region_64 36 02.03.19 08:04 Сейчас в теме
(18)я не обсуждал, а ответил тс

(18)про пендосов - смешно.
17. Gilev.Vyacheslav 1917 02.03.19 01:21 Сейчас в теме
(13) но вы ушли от ответа: что такое "тест боевой базы"? как вы отличаете боевую от не боевой
19. Region_64 36 02.03.19 08:00 Сейчас в теме
(17) В моем случае "боевая база" - это база, в которой работает компания. С типовой конфигурацией и реализованным доп. функционалом.
В общем случае - достаточно первого предложения.
21. Gilev.Vyacheslav 1917 02.03.19 13:39 Сейчас в теме
(19) вы вообще не вкуриваете о чем речь
22. Region_64 36 02.03.19 16:51 Сейчас в теме
2. MuI_I_Ika 1115 27.02.19 16:46 Сейчас в теме
В последних редакциях УТ/ERP название документа ПоступлениеТоваровУслуг изменено на ПриобретениеТоваровУслуг
3. capitan 2492 27.02.19 16:51 Сейчас в теме
(2)А у меня Бухгалтерия предприятия , редакция 3.0 если присмотреться )
Но за загрузку спасибо.
Напишите как там в ERP живется
4. MuI_I_Ika 1115 27.02.19 16:54 Сейчас в теме
(3) Я обычно полагаюсь на колонку справа, где принято описывать конфигурации с которыми работает разработка.
Прикрепленные файлы:
5. capitan 2492 27.02.19 16:56 Сейчас в теме
(4)Камень в огород)
Но при скачивании было написано примерно следующее:
Предупреждение! Файлы за стартмани не являются готовым решением. Это примеры, шаблоны, алгоритмы, "стройматериалы" для вашей учетной системы. Нет гарантии работоспособности. Вы скачиваете и используете на свой страх и риск. Готовые решения с техподдержкой находятся в каталоге софтмагазина.

Ну в принципе достаточно ведь переименовать и все заработало ?
6. MuI_I_Ika 1115 27.02.19 17:06 Сейчас в теме
(5) не ну впринципе разобрался, сейчас запустим
7. capitan 2492 27.02.19 17:15 Сейчас в теме
(6)Напишите в почту. У меня есть доработка чтобы с каждого рабочего места запускать пользователей со своими префиксами
Если нужно конечно
23. Botofill 44 15.03.19 17:20 Сейчас в теме
Здравствуйте, всё хорошо, тест запускается, в каждом окне агента показывает количество циклов, которое он будет исполнять, но вот можно ли это количество настроить до того, как тест запуститься не влезая в конфигуратор?

А ещё у меня после теста результаты не показывает =(
24. capitan 2492 15.03.19 17:42 Сейчас в теме
(23) Не влезая в конфигуратор - нет (
Результаты теста можно встроенной типовой обработкой посмотреть - Просмотр замеров производитеьности.
вы их включить не забыли ?
30. Dizel 29.10.21 12:05 Сейчас в теме
(24)
Просмотр замеров производитеьности.

А не подскажете как обработка называется точно? Регистры то есть, а обработку не нашел. И что будет если APDEX будет ниже порогового значения?
31. Dizel 29.10.21 12:14 Сейчас в теме
(30)Отчет нашел "Оценка производительности".
32. capitan 2492 29.10.21 14:12 Сейчас в теме
(31)Наверняка приятно иметь дело с толковым человеком )
25. titanium2008 46 23.04.21 13:22 Сейчас в теме
Добрый день, а для ЗУП 3.1 есть что то похожее. нужно ключевые операции оттестировать на 100 тыс сотрудниках.
26. capitan 2492 23.04.21 13:26 Сейчас в теме
Добрый день, для ЗУП 3.1.
Будет для докуменооборота.
Для ЗУП 3.1 вы можете сами сделать используя эту обработку как шаблон.
Могу попробовать дать вам скидку при покупке )
27. titanium2008 46 23.04.21 13:37 Сейчас в теме
еще вопрос, у нас сервер 1с на Linux CentOS - будет работать?
Я готов сделать для ЗУП 3.1 , если не придется ее переписывать
Если скидка будет - было бы супер))
28. capitan 2492 23.04.21 13:55 Сейчас в теме
(27)Под Linux не сработает, там строка запуска приложения под windows
29. titanium2008 46 23.04.21 14:02 Сейчас в теме
Оставьте свое сообщение