Size: a a a

QA — Load & Performance

2019 August 27

A

Artyom in QA — Load & Performance
Это что касаемо сценария
источник

A

Artyom in QA — Load & Performance
На тему параметризации потоков/ramp-up / длительности и тп - всегда выношу во внешние проперти ${__P(...)}
источник

A

Artyom in QA — Load & Performance
И там уже через -D / -J / -p аргументы
источник

DB

Denys Boiko in QA — Load & Performance
Viktor Ganeles
Ребята, а какие есть лайфхаки по jmeter, если постоянно меняются И скрипты И сценарии?
в LR эти сущности разделены, а в Jmeter - нет.

У нас нагрузка не очень высокая, запускаем тесты в GUI, так удобнее отслеживать, всё ли работает.
Пока придумал только вариант с выносом в параметры всего, что касается сценария (потоки/tps-ы) и запуск из консоли.
Здравствуйте. Можете пояснить чем отличаются "скрипты" и "сценарии"?
источник

VG

Viktor Ganeles in QA — Load & Performance
Скрипт - содержание тред-группы. Выполнение бизнес-кейса.

Сценарий - управление интенсивностью нагрузки
источник

DB

Denys Boiko in QA — Load & Performance
Сценарий/профильнагрузки удобно передавать через параметры --addprop при запуске jmeter.  Таких файлов может быть несколько - это позволяет отдельно настраивать профили для разных групп потоков.
источник

DB

Denys Boiko in QA — Load & Performance
источник

VG

Viktor Ganeles in QA — Load & Performance
для теста на максперф, где количество скриптов переваливает за 20 и а количество ступеней 5+, таких параметров будет... ну, дофига.

По каждой ступени не меньше 4х параметров: длительность разгона+размер разгона+длительность ступени+когда ступень начнётся.

итого 400 параметров текста.

не сказать, что с параметрами получтися суперудобно :)
источник

VG

Viktor Ganeles in QA — Load & Performance
Artyom
Видел девиации в виде отдельных jmx / include controller-ов
Это интереснее. Попробуем.
источник

DB

Denys Boiko in QA — Load & Performance
в таком случае вам подойдет https://jmeter-plugins.org/wiki/UltimateThreadGroup/
источник

DB

Denys Boiko in QA — Load & Performance
Example of load profile string: threads_schedule=spawn(15,1s,1s,1s,1s) spawn(40,1s,3s,1s,2s)
источник

DB

Denys Boiko in QA — Load & Performance
можно через параметр threads_schedule передавать профиль любой сложности
источник

KY

Kirill Yurkov in QA — Load & Performance
Viktor Ganeles
Ребята, а какие есть лайфхаки по jmeter, если постоянно меняются И скрипты И сценарии?
в LR эти сущности разделены, а в Jmeter - нет.

У нас нагрузка не очень высокая, запускаем тесты в GUI, так удобнее отслеживать, всё ли работает.
Пока придумал только вариант с выносом в параметры всего, что касается сценария (потоки/tps-ы) и запуск из консоли.
у меня сценарии привязаны к катушкам или к группам катушек. при запуске из jenkins ввожу только 1 параметр (что-то типо max,stab,stress) и тд, это парсит jsr223 в самом начале и запускает только нужные катушки. когда много проектов и разных скриптов для них фиг запомнишь где какие тпсы нужны или сколько тредов
источник

VG

Viktor Ganeles in QA — Load & Performance
поделись примером, плз.
источник

ЕЕ

Евгений Евгений in QA — Load & Performance
Denys Boiko
Сценарий/профильнагрузки удобно передавать через параметры --addprop при запуске jmeter.  Таких файлов может быть несколько - это позволяет отдельно настраивать профили для разных групп потоков.
А как этот файл подсунуть JMeter? Там можно указать переменные?
источник

VG

Viktor Ganeles in QA — Load & Performance
Denys Boiko
Example of load profile string: threads_schedule=spawn(15,1s,1s,1s,1s) spawn(40,1s,3s,1s,2s)
То, что 400 параметров можно сгруппировать - это хорошо.
Но всё равно не супер.

Пока вариант с include controller мне кажется самым удобным.

С ним кто-то работал? Подводных камней нет?
в листнерах всё отображается и т.д.?
источник

VG

Viktor Ganeles in QA — Load & Performance
в JMX: ${__P(variableName,)}
в CMD: jmeter -JvariableName=0
источник

VG

Viktor Ganeles in QA — Load & Performance
Евгений Евгений
А как этот файл подсунуть JMeter? Там можно указать переменные?
выше строчкой :)
источник

KY

Kirill Yurkov in QA — Load & Performance
Viktor Ganeles
поделись примером, плз.
пример не могу, могу расписать логику.
внутри каждой катушки стоят проперти, которые в зависимости от переданного значения из женкинса -JscenarioType=... выставляет каждому набору катушек ненулевые значения. допустим передали туда "max" - тогда в  case сработает условие if (param==max) и выставятся параметры props.put("ThreadsMAX",100) props.put("RampMAX",60) props.put("LoopMAX",12000)
props.put("Throughput",122)
и запустятся только катушки в которых стоят проперти ${__P(ThreadsMAX,0)} и тд
источник

DB

Denys Boiko in QA — Load & Performance
Viktor Ganeles
в JMX: ${__P(variableName,)}
в CMD: jmeter -JvariableName=0
Не совсем.  будет  --addprop=threadgroup1.properties --addprop=threadgroup2.properties ....
источник