Size: a a a

QA — Load & Performance

2020 September 02

KY

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

KY

Kirill Yurkov in QA — Load & Performance
либо коннект к инфлюксу делать в SetUp - его передавать через пропсы в Listener
источник

KY

Kirill Yurkov in QA — Load & Performance
тоже должно ускорить
источник

s

sergeyHa in QA — Load & Performance
Привет!
У меня db oracle и надо как то извлекать глобальные параметры
В pl/sql пишется так, кто-нибудь знает как получить параметр через jdbc?

Без создания своей функции в которой возвращаешь значение и dbms_output
источник

S7

Sam 7 in QA — Load & Performance
А что если из джиметра слать в рэббит, а из рэббита будет забирать воркер и прокидывать в инфюкс?
источник

K

Klim in QA — Load & Performance
Kirill Yurkov
оказалась не самая производительная штука, вопрос изучил: во-первых конечно выставляйте chache compiled script if available, во-вторых если количество ошибок большое скорее всего часть будет отлетать при создании коннекта с флюксом
По факту мне просто надо время которое прошло после выполнения запроса и писать его в инфлакс и таких листенеров будет несколько так как мне надо замерять после нескольких запросов время, насчет производительности тоже думал, и сам ен уверен имеет смысл добавлять эту метрику или нет, просто сейчас у меня замеряется время через backend lisntner но оно не отражает реальной картины
источник

KY

Kirill Yurkov in QA — Load & Performance
Klim
По факту мне просто надо время которое прошло после выполнения запроса и писать его в инфлакс и таких листенеров будет несколько так как мне надо замерять после нескольких запросов время, насчет производительности тоже думал, и сам ен уверен имеет смысл добавлять эту метрику или нет, просто сейчас у меня замеряется время через backend lisntner но оно не отражает реальной картины
время, после запроса и до чего?
источник

K

Klim in QA — Load & Performance
У меня в системе используется sse, сами http запросы просто инициализируют какую либо работу на сервере ( например запуск процесса в hadoop) после нужно ждать пока работа завершится на сервере при этом ответ jmeter соответсвенно получает мгновенно, у меня в скрипте я делаю паузу треда(дабы следующие опеарации не выполнялись, так как они зависят от предыдущей) пока не придет нужный ответ по sse вот это время ожидания ответа я и замеряю (замеряю просто с момента начала jsr223 postprocessor и до его окончания внутри него я и реализую эту паузу)в целом я сейчас сделал запись еще через библу influxdb-java но вот вопрос производительности еще стоит
источник

KY

Kirill Yurkov in QA — Load & Performance
мне кажется ты перемудрил, оберни этуькрнструкцию в транзакцию
источник

KY

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

KY

Kirill Yurkov in QA — Load & Performance
и все запишет красиво
источник

K

Klim in QA — Load & Performance
А понял типо сам запрос в transaction controller
источник

K

Klim in QA — Load & Performance
да чет не подумал
источник

KY

Kirill Yurkov in QA — Load & Performance
Klim
А понял типо сам запрос в transaction controller
ага
источник

K

Klim in QA — Load & Performance
Ну да, нормально я так велосипеды поделал))) Спасибо
источник

KY

Kirill Yurkov in QA — Load & Performance
ю велкам)
источник

TK

Timofey Kharchenko in QA — Load & Performance
Viktor Ganeles
А, ну так для нагрузки это просто 2 запроса
Второй url является неким эндпоинтом, который накапливает все ответы, и при отправке ответа на GET запрос возвращает информацию о всех полученных ответах
источник

AK

Anton Kramarev in QA — Load & Performance
Ядрен-батон, я люблю флакс
Как посчитать отношение упавших запросов к тоталу?

Ну вот как-то так вот:

total = from(bucket: "raw_gatling")
 |> range(start: dashboardTime, stop: upperDashboardTime)
 |> filter(fn: (r) => r._measurement == "requests" and r._field == "duration")
 |> count(column: "_value")
 |> drop(columns: ["_start", "groups", "name", "nodeName", "result", "simulation", "testId"])
 |> sum()
 |> duplicate(column: "_stop", as: "_time")
 |> drop(columns: ["_stop"])
 |> map(fn: (r) => ({
   r with
   _field: "requestCount"
 }))
 |> tableFind(fn: (key) => key._field == "requestCount")
 |> getRecord(idx: 0)

from(bucket: "raw_gatling")
 |> range(start: dashboardTime, stop: upperDashboardTime)
 |> filter(fn: (r) => r._measurement == "requests" and r._field == "duration" and r.result == "KO")
 |> count(column: "_value")
 |> drop(columns: ["_start", "groups", "name", "nodeName", "result", "simulation", "testId"])
 |> sum()
 |> duplicate(column: "_stop", as: "_time")
 |> drop(columns: ["_stop"])
 |> map(fn: (r) => ({r with _value: float(v: r._value) / float(v: total._value) * 100.0}))


Это, если что, моя кастомная приблуда пишет данные, так что под стандартный вариант не подойдет. Просто пример для примера
источник

ΙΤ

Ιωάννης Τσεκούρι... in QA — Load & Performance
Anton Kramarev
Ядрен-батон, я люблю флакс
Как посчитать отношение упавших запросов к тоталу?

Ну вот как-то так вот:

total = from(bucket: "raw_gatling")
 |> range(start: dashboardTime, stop: upperDashboardTime)
 |> filter(fn: (r) => r._measurement == "requests" and r._field == "duration")
 |> count(column: "_value")
 |> drop(columns: ["_start", "groups", "name", "nodeName", "result", "simulation", "testId"])
 |> sum()
 |> duplicate(column: "_stop", as: "_time")
 |> drop(columns: ["_stop"])
 |> map(fn: (r) => ({
   r with
   _field: "requestCount"
 }))
 |> tableFind(fn: (key) => key._field == "requestCount")
 |> getRecord(idx: 0)

from(bucket: "raw_gatling")
 |> range(start: dashboardTime, stop: upperDashboardTime)
 |> filter(fn: (r) => r._measurement == "requests" and r._field == "duration" and r.result == "KO")
 |> count(column: "_value")
 |> drop(columns: ["_start", "groups", "name", "nodeName", "result", "simulation", "testId"])
 |> sum()
 |> duplicate(column: "_stop", as: "_time")
 |> drop(columns: ["_stop"])
 |> map(fn: (r) => ({r with _value: float(v: r._value) / float(v: total._value) * 100.0}))


Это, если что, моя кастомная приблуда пишет данные, так что под стандартный вариант не подойдет. Просто пример для примера
👍
источник

VG

Viktor Ganeles in QA — Load & Performance
Anton Kramarev
Ядрен-батон, я люблю флакс
Как посчитать отношение упавших запросов к тоталу?

Ну вот как-то так вот:

total = from(bucket: "raw_gatling")
 |> range(start: dashboardTime, stop: upperDashboardTime)
 |> filter(fn: (r) => r._measurement == "requests" and r._field == "duration")
 |> count(column: "_value")
 |> drop(columns: ["_start", "groups", "name", "nodeName", "result", "simulation", "testId"])
 |> sum()
 |> duplicate(column: "_stop", as: "_time")
 |> drop(columns: ["_stop"])
 |> map(fn: (r) => ({
   r with
   _field: "requestCount"
 }))
 |> tableFind(fn: (key) => key._field == "requestCount")
 |> getRecord(idx: 0)

from(bucket: "raw_gatling")
 |> range(start: dashboardTime, stop: upperDashboardTime)
 |> filter(fn: (r) => r._measurement == "requests" and r._field == "duration" and r.result == "KO")
 |> count(column: "_value")
 |> drop(columns: ["_start", "groups", "name", "nodeName", "result", "simulation", "testId"])
 |> sum()
 |> duplicate(column: "_stop", as: "_time")
 |> drop(columns: ["_stop"])
 |> map(fn: (r) => ({r with _value: float(v: r._value) / float(v: total._value) * 100.0}))


Это, если что, моя кастомная приблуда пишет данные, так что под стандартный вариант не подойдет. Просто пример для примера
источник