Size: a a a

QA — Load & Performance

2021 July 08

VG

Viktor Ganeles in QA — Load & Performance
Один из вариантов, да
источник

VG

Viktor Ganeles in QA — Load & Performance
Если интенсивность больше 1 tps и времена отклика сильно не колбасит - throughput shaping timer будет удобнее

Но у нас есть и то и то, так что мы себе сделали такую конструкцию:

- Есть текстовый файл, где сказано:
*  какой скрипт сколько операций в час должен выдавать
* время, которое надо выделить на выполнение операции

- есть блок user defined variable, где сказано:
* время разгона на первую ступень (например, 5 минут)
* процент профиля на первой ступени (100%)
* длительность первой ступени
* размер дополнительных ступеней (+10%)
* время разгона на доп. ступени
* длительность доп.ступеней

- есть setupThreadGroup, которая читает это всё и сама рассчитывает vu/pacing и кладёт в проперти

В итоге, чтобы запустить тест нужно просто задать % ступеней в одном месте, а всё остальное посчитается само
источник

VG

Viktor Ganeles in QA — Load & Performance
Такое в LR сделать сложнее
источник

VG

Viktor Ganeles in QA — Load & Performance
Хотя.. для LR я делал автогенератор сценариев с такими же результатами:
- дай мне тест на ступени 100% +5 ступеней по 10%

Клик.. вот сценарий, забирай :)

А коллеги делали такое же для PC
источник

DG

Daniil Giamba in QA — Load & Performance
я пока нуб, про throughput shaping timer не знал, буду изучать. пока сделал как в статье что ты скидывал.  setupThreadGroup тоже еще хз что такое выглядит как обычна ThreadGroup буду изучать тоже. автоматизировать такой процесс прикольная тема займусь у себя на проекте
источник

VG

Viktor Ganeles in QA — Load & Performance
Могу поделиться паком всего нужного
источник

DG

Daniil Giamba in QA — Load & Performance
давай, буду благодарен!
источник

VG

Viktor Ganeles in QA — Load & Performance
Чуть позже, до дома доберусь
источник

DG

Daniil Giamba in QA — Load & Performance
окей, спасибо
источник

NM

NoEndOutcry💡🔋🚓 Mikst... in QA — Load & Performance
А что там нужного? может мне тоже надо?
источник

VG

Viktor Ganeles in QA — Load & Performance
Выглядит так
источник

VG

Viktor Ganeles in QA — Load & Performance
источник

VG

Viktor Ganeles in QA — Load & Performance
Если тест без гуи - просто в эти ячейки проперти вписать и передать в них цифры на старте
источник

AA

Artem Astaxov in QA — Load & Performance
о круто, а разве он эти проперти не будет хранить в самом jmx или иначе работает?
источник

VG

Viktor Ganeles in QA — Load & Performance
На скрине параметры захардкожены - хранятся в jmx

Но можно прописать там {__P(“propname”)} вместо хардкода

И запуская жметер передать значение propname в параметрах запуска
источник

AA

Artem Astaxov in QA — Load & Performance
{__P(“propname”)} о таким пользовался знаю
источник

VG

Viktor Ganeles in QA — Load & Performance
Я, кажется, налажал в синтаксисе

${__P(foo,)}
источник

VG

Viktor Ganeles in QA — Load & Performance
Вот так пишется
источник

VG

Viktor Ganeles in QA — Load & Performance
А при запуске жметра писать -Jfoo=bar

(Исправил по совету JagaJaga)
источник

AA

Artem Astaxov in QA — Load & Performance
не, верно, в запросах такое использовал
${__P(UC_Token${num})}
источник