Size: a a a

QA — Load & Performance

2020 November 27

AK

Alexey Kübler-Ross in QA — Load & Performance
Svetlana
Всем привет!
У меня есть набор запросов, объединенных в Thread Group. Есть файл csv, в котором 3 значения для Параметр1. Мне нужно, чтобы все время выполнялось 2 потока для каждого значения из файлика. Т.е. запустились по 2 потока для каждого значения, далее когда завершится первый из них например для значения1, должен сразу появиться новый поток для этого значения. Как завершится второй - сразу появится еще один. И так на протяжении определенного времени.
Верно ли сделала? Или нужно как-то по-другому?
А что в цсв дата сет конфигах, как они настроены?
источник

AK

Alexey Kübler-Ross in QA — Load & Performance
Svetlana
Всем привет!
У меня есть набор запросов, объединенных в Thread Group. Есть файл csv, в котором 3 значения для Параметр1. Мне нужно, чтобы все время выполнялось 2 потока для каждого значения из файлика. Т.е. запустились по 2 потока для каждого значения, далее когда завершится первый из них например для значения1, должен сразу появиться новый поток для этого значения. Как завершится второй - сразу появится еще один. И так на протяжении определенного времени.
Верно ли сделала? Или нужно как-то по-другому?
Нет смысла создавать каждый раз новый поток, это очень дорого, просто созданный поток итеративно выполняет заданные действия - так дешевле по ресурсам выходит
источник

AK

Alexey Kübler-Ross in QA — Load & Performance
Svetlana
Всем привет!
У меня есть набор запросов, объединенных в Thread Group. Есть файл csv, в котором 3 значения для Параметр1. Мне нужно, чтобы все время выполнялось 2 потока для каждого значения из файлика. Т.е. запустились по 2 потока для каждого значения, далее когда завершится первый из них например для значения1, должен сразу появиться новый поток для этого значения. Как завершится второй - сразу появится еще один. И так на протяжении определенного времени.
Верно ли сделала? Или нужно как-то по-другому?
Настройку по действию при получении ошибки я выставляю в "старт Некст итерейшн" - но это зависит от того, какое поведение вы ждете
источник

S

Svetlana in QA — Load & Performance
в цсв один столбец с нужным количеством строк, в данном случае 3. Это значение используется в качестве параметра в запросе
источник

МК

Михаил Краснов... in QA — Load & Performance
Svetlana
Всем привет!
У меня есть набор запросов, объединенных в Thread Group. Есть файл csv, в котором 3 значения для Параметр1. Мне нужно, чтобы все время выполнялось 2 потока для каждого значения из файлика. Т.е. запустились по 2 потока для каждого значения, далее когда завершится первый из них например для значения1, должен сразу появиться новый поток для этого значения. Как завершится второй - сразу появится еще один. И так на протяжении определенного времени.
Верно ли сделала? Или нужно как-то по-другому?
если 1 поток завершает работу и тут же начинает работу другой то чем это отличается от того что первый поток тут же начнет работу опять, по моему абсолютно ни чем.
через csv вы эту задачу, расположив данные в столбик не решите, так как будет построчное чтение и в зависимости от того какой из потоков отработает быстрее он может взять не то значение параметра с которым работал ранее (можно конечно сильно извратиться но не нужно)
проще завести 3 thread group по 2 потока и каждая группа будет работать со своим значением переменной.
источник

МК

Михаил Краснов... in QA — Load & Performance
Svetlana
в цсв один столбец с нужным количеством строк, в данном случае 3. Это значение используется в качестве параметра в запросе
если прямо ну ооочень хочется через csv то проще значения переменной расположить в 1 строку
var1,var2,var3
и работать уже с ними как с 3 разными переменными
источник

ВС

Вячеслав Смирнов... in QA — Load & Performance
Svetlana
Всем привет!
У меня есть набор запросов, объединенных в Thread Group. Есть файл csv, в котором 3 значения для Параметр1. Мне нужно, чтобы все время выполнялось 2 потока для каждого значения из файлика. Т.е. запустились по 2 потока для каждого значения, далее когда завершится первый из них например для значения1, должен сразу появиться новый поток для этого значения. Как завершится второй - сразу появится еще один. И так на протяжении определенного времени.
Верно ли сделала? Или нужно как-то по-другому?
Сделайте две независимые катушки. И в них добавьте два CSV Data Set Config которые указывают на один файл
источник

МК

Михаил Краснов... in QA — Load & Performance
Вячеслав Смирнов
Сделайте две независимые катушки. И в них добавьте два CSV Data Set Config которые указывают на один файл
в таком случае есть вероятность что с 1 значением будет работать более 2 потоков одновременно
источник

M

Max in QA — Load & Performance
Поправьте меня плиз )
Есть задача, если в пару слов, то Увеличить скорость загрузки выдачи

Как правильней сравнивать результаты, по каким метрикам ?

Как я вижу это сейчас:
1. запускаю нагрузочной тест, с постепенным увеличением нагрузки, до точки деградации и до точки отказа
Фиксирую кол-во отработанных запросов и их среднее выполнение, кол-во запущенных пользователей

2. Разработчики делают правки, я снова запускаю такой же нагрузочный тест, и сравниваю отчет с предыдущем ?
была ли точка деградации, оттянулась или приблизилась, тоже самое с точкой отказа, увеличилось или уменьшилось кол-во запросов и среднее время ?

У кого есть опыт, подскажите пожалуйста начинающему в НТ, на какие метрики вы бы обращали внимание ?
источник

ВС

Вячеслав Смирнов... in QA — Load & Performance
Михаил Краснов
в таком случае есть вероятность что с 1 значением будет работать более 2 потоков одновременно
Да, но автор вопроса же этого и хочет:
> Мне нужно, чтобы все время выполнялось 2 потока для каждого значения из файлика.
источник

ВС

Вячеслав Смирнов... in QA — Load & Performance
Max
Поправьте меня плиз )
Есть задача, если в пару слов, то Увеличить скорость загрузки выдачи

Как правильней сравнивать результаты, по каким метрикам ?

Как я вижу это сейчас:
1. запускаю нагрузочной тест, с постепенным увеличением нагрузки, до точки деградации и до точки отказа
Фиксирую кол-во отработанных запросов и их среднее выполнение, кол-во запущенных пользователей

2. Разработчики делают правки, я снова запускаю такой же нагрузочный тест, и сравниваю отчет с предыдущем ?
была ли точка деградации, оттянулась или приблизилась, тоже самое с точкой отказа, увеличилось или уменьшилось кол-во запросов и среднее время ?

У кого есть опыт, подскажите пожалуйста начинающему в НТ, на какие метрики вы бы обращали внимание ?
JMeter нагрузит Backend. Если узкое место во Frontend-е, то измерять нужно в момент нагрузки, но с помощью
* https://developers.google.com/speed/pagespeed/insights/?hl=ru
* https://www.webpagetest.org/
* Google Ligthhouse

Можете изучить вот эти видео:
* https://www.youtube.com/channel/UCH_PvxSiuETI_ecbeAmb7_w
источник

МК

Михаил Краснов... in QA — Load & Performance
Вячеслав Смирнов
Да, но автор вопроса же этого и хочет:
> Мне нужно, чтобы все время выполнялось 2 потока для каждого значения из файлика.
выполнялось 2 потока, а не 3
а если будет 2 катушки то к примеру в первой
t1v1, t2v2,t3v3, и к примеру во второй точно так же.
в первой катушке первым работу завершает t2 и он берет значение v1 и получаем что с v1 работают:
t1v1 t2v1 из первой группы и t1v1 из второй, Всего 3 потока а не 2
источник

МК

Михаил Краснов... in QA — Load & Performance
то есть получается есть вероятность что с 1 значением будет работать 0..4 потока одновременно, а не именно 2
источник

S

Svetlana in QA — Load & Performance
Михаил Краснов
если 1 поток завершает работу и тут же начинает работу другой то чем это отличается от того что первый поток тут же начнет работу опять, по моему абсолютно ни чем.
через csv вы эту задачу, расположив данные в столбик не решите, так как будет построчное чтение и в зависимости от того какой из потоков отработает быстрее он может взять не то значение параметра с которым работал ранее (можно конечно сильно извратиться но не нужно)
проще завести 3 thread group по 2 потока и каждая группа будет работать со своим значением переменной.
а если этих значений 10.
источник

МК

Михаил Краснов... in QA — Load & Performance
Svetlana
а если этих значений 10.
ну тогда в 1 катушке (если вы используете потоков максимум в половину от количества значений) пересечений не будет, имею в виду что 1 значение не будет использоваться в 2 потоках в рамках одной группы
источник

МК

Михаил Краснов... in QA — Load & Performance
вся проблема в том что ваши значения из csv вычитываются последовательно до конца файла а дальше (если стоит опция) начинают читаться снова последовательно 123123123123...
источник

M

Max in QA — Load & Performance
Вячеслав Смирнов
Да, но автор вопроса же этого и хочет:
> Мне нужно, чтобы все время выполнялось 2 потока для каждого значения из файлика.
В моём случае нужно проверить именно Backend. Вот так как я описал сравнение результатов, обычно так делается ?)
источник

S

Svetlana in QA — Load & Performance
Михаил Краснов
выполнялось 2 потока, а не 3
а если будет 2 катушки то к примеру в первой
t1v1, t2v2,t3v3, и к примеру во второй точно так же.
в первой катушке первым работу завершает t2 и он берет значение v1 и получаем что с v1 работают:
t1v1 t2v1 из первой группы и t1v1 из второй, Всего 3 потока а не 2
Всем спасибо. Оказалось достаточно такого распределения
источник

ТШ

Тимур Шарафутдинов... in QA — Load & Performance
А precise throughput timer будет корректно отрабатывать по запросам если они лежат в транзакшен контроллере в тред группе?
источник

ТШ

Тимур Шарафутдинов... in QA — Load & Performance
в таком виде
источник