Size: a a a

QA — Load & Performance

2020 February 04

NK

ID:0 in QA — Load & Performance
источник

AV

Andrey Vasiliev in QA — Load & Performance
Viktor Ganeles
@login40k идея с автостопом (или другой реакцией) теста на нарушение SLA - это очень здорово!
очень нехватает такого в гатлинге
источник

AV

Andrey Vasiliev in QA — Load & Performance
прям не истово
источник

VG

Viktor Ganeles in QA — Load & Performance
Viktor Ganeles
@login40k идея с автостопом (или другой реакцией) теста на нарушение SLA - это очень здорово!
У нас большинство тестов - регресс на поиск максперф.
Давно подумываю, что надо напилить автопоиск максперфа по итогам теста, но пока руки не доходили. В идеале думаю, что надо делать это либо в самом jmeter (jsr223?), либо в графане.

То есть хочется без внешних инструментов.
источник

VG

Viktor Ganeles in QA — Load & Performance
Вообще, в тестах на максперф я бы сказал, что стопить надо не сазу при нарушении, а если в паре ступенек подряд SLA нарушается.
А то даже в Славином примере была завалившаяся ступенька в середине теста :)
источник

VG

Viktor Ganeles in QA — Load & Performance
Ну и автогенерация отчёта сразу после теста - огонь.  Эту tearDown группу очень жду :)
источник

AV

Andrey Vasiliev in QA — Load & Performance
Viktor Ganeles
Ну и автогенерация отчёта сразу после теста - огонь.  Эту tearDown группу очень жду :)
да вобще килфича какая-то, мне тоже любопытно
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Viktor Ganeles
Вопросы:

@smirnovqa расскажи, как ты делаешь сравнения тестов без timeshift_proxy
Grafana может вывести рядом два набора данных в таблице, как одну строку если:

У них совпадает время,
У них совпадают теги

Тег у них общий:
Simulation, совпадает

А запуски были разные.

Но если сделать

Select last(X)-last(X)+first(X) as MeanRun1 from
(select mean("mean") as X from Gatling where run=$run1)

То получим метрику у момент 0. И также получаем вторую метрику по run2.

И вот они выводятся в соседних колонках таблицы.
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Для сравнения достаточно таблицы.
А time shift он для графиков -- это сложнее. И не нужно. У Кирилла в докладе сравнение было в таблице, например
источник

VG

Viktor Ganeles in QA — Load & Performance
@login40k

По твоему докладу - может так сделать:

- TestKiller группа не только считает таймер, а ещё смотрит на какой-то флажок (наличие файла или в пропертю или ещё куда), что бы можно было останавливать тест а не жёстко гасить жметер

В таком случае у тебя и тест бы останавливался при нарушении SLA, и автоотчёты генерились
источник

KY

Kirill Yurkov in QA — Load & Performance
Viktor Ganeles
У нас большинство тестов - регресс на поиск максперф.
Давно подумываю, что надо напилить автопоиск максперфа по итогам теста, но пока руки не доходили. В идеале думаю, что надо делать это либо в самом jmeter (jsr223?), либо в графане.

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

VG

Viktor Ganeles in QA — Load & Performance
Вячеслав Смирнов
Для сравнения достаточно таблицы.
А time shift он для графиков -- это сложнее. И не нужно. У Кирилла в докладе сравнение было в таблице, например
Сравнивать таблицы, где больше 2 столбцов - мучение. Антипаттерн :)
источник

KY

Kirill Yurkov in QA — Load & Performance
может я и сам перенесу это в скрипт
источник

KY

Kirill Yurkov in QA — Load & Performance
меня дико напрягает урезанное груви дженкинса
источник

VG

Viktor Ganeles in QA — Load & Performance
Kirill Yurkov
сам жметер тоже может свой лог читать в отдельном треде, напомни завтра я дам код на груви
Ну, если нагрузочных станций несколько - не получится.
источник

VG

Viktor Ganeles in QA — Load & Performance
Может в отдельной tg запрашивать агрегированную метрику из инфлакса?
Типа «покажи 90%% время отклика и % ошибок за промежуток ${начало_ступени} - ${конец
_ступени}
источник

KY

Kirill Yurkov in QA — Load & Performance
щас придумаю)
источник

KY

Kirill Yurkov in QA — Load & Performance
была идея, я подзабыл как хотел сделать
источник

VG

Viktor Ganeles in QA — Load & Performance
Вячеслав Смирнов
Grafana может вывести рядом два набора данных в таблице, как одну строку если:

У них совпадает время,
У них совпадают теги

Тег у них общий:
Simulation, совпадает

А запуски были разные.

Но если сделать

Select last(X)-last(X)+first(X) as MeanRun1 from
(select mean("mean") as X from Gatling where run=$run1)

То получим метрику у момент 0. И также получаем вторую метрику по run2.

И вот они выводятся в соседних колонках таблицы.
Надо пробовать, пока не очень понимаю...
Х это time ?

Select last(X)-last(X)+first(X) as MeanRun1 from
(select mean("mean") as X from Gatling where run=$run1)
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Viktor Ganeles
Сравнивать таблицы, где больше 2 столбцов - мучение. Антипаттерн :)
Можно посчитать разницу в Influxdb для двух выборок.

select MeanRun1-MeanRun2
Но через сложный хак опять.

К MeanRun1 добавляем 1 млн. Она становится заведомо больше MeanRun2.

Потом берём функции max as MeanRun1Hack и min as MeanTime2Hack от объединения расчётов настоящих, MeanRun1 и MeanRun2.

MeanRun1Hack-1 миллион это оригинальный MeanRun1. Но теперь он в одном наборе данных с MeanRun2.

....

Вот так через серию хаков получается сводка или разница среднего времени отклика двух запусков.

Потом также для другой метрики. Для другой. И так много часов )) А потом готово.
источник