Size: a a a

QA — Load & Performance

2020 August 30

♪_Ω_©mm™_Ω_♪... in QA — Load & Performance
Дмитрий Кононов
Основы ЯП, теория тестирования (нужна в любом случае), инструменты
Работаю python AQA (middle). Сказали в синьёры нужно знать НТ. Вот собираюсь учить ))
источник

♪_Ω_©mm™_Ω_♪... in QA — Load & Performance
Спасибо за ответ
источник

ДК

Дмитрий Кононов... in QA — Load & Performance
Дмитрий Кононов
Основы ЯП, теория тестирования (нужна в любом случае), инструменты
+ стандарт apdex, формула Литтла
источник

♪_Ω_©mm™_Ω_♪... in QA — Load & Performance
Дмитрий Кононов
+ стандарт apdex, формула Литтла
Благодарю
источник

ΙΤ

Ιωάννης Τσεκούρι... in QA — Load & Performance
Дмитрий Кононов
Извините, за вопрос, может и можно нагуглить, но честно говоря, нет времени. Кто знает, как в лоадраннере сделать автоsave, комп перезагрузился и все изменения кода того...
Гит
источник

ΙΤ

Ιωάννης Τσεκούρι... in QA — Load & Performance
♪_Ω_©mm™_Ω_♪
Всем привет. С чего посоветуйте начать изучение нагрузки?
В шапке полно материалов
источник

A

Alexander in QA — Load & Performance
Привет всем, пытаюсь реализовать на jmeter  сценарий - тест ограничен временем, запрос А отправляется в Loop, а теперь мне нужно параллельно запросу А отправлять запрос B и сделать отправку именныо столько раз, сколько был отправлен запрос А. Загвоздка в том, что не могу управлять Loop Counter, а тест должен идти именно заданное время. C jmeter не новичок, но никак не могу найти нормального решения. Может кто сталкивался с подобной задачей?
источник

ВС

Вячеслав Смирнов... in QA — Load & Performance
Простой вариант - отказаться от Loop. Сделать итерации. Если будет сценарий на два запроса
- А
- Б

И для сценария будет 1000 итераций. И 5 потоков.
То запросы А и Б с определенной вероятностью будут выполняться параллельно, с паралельностью средней 2,5 (если запросы обрабатываются одинаково долго).
источник

LR

Little Raccoon in QA — Load & Performance
Вячеслав Смирнов
Опыта нет. Вот неплохая статья по архитектуре Seibel. http://rusiebel.ru/?p=124 Думаю, надо мониторить веб-серверы, серверы приложений и сервер БД. Для начала просто системные метрики

Нашел источник:
* Архитектура: https://docs.oracle.com/cd/E63029_01/books/PerformTun/performtun_archinfra.htm#i1032250
* Мониторинг: https://docs.oracle.com/cd/E63029_01/books/PerformTun/performtun_monitor.htm#g1149364
дополню что есть вот такая штука
Siebel AppDynamics Monitoring, но она отдельно ставится и покупается как отдельный продукт
источник

A

Alexander in QA — Load & Performance
Вячеслав Смирнов
Простой вариант - отказаться от Loop. Сделать итерации. Если будет сценарий на два запроса
- А
- Б

И для сценария будет 1000 итераций. И 5 потоков.
То запросы А и Б с определенной вероятностью будут выполняться параллельно, с паралельностью средней 2,5 (если запросы обрабатываются одинаково долго).
Спасибо, думал об этом, но мне по сути нужны асинхронные запрос. А отправляет запрос, запрос Обрабатывается, Б запрос получает результат обработки. Т. Е по сути Б завсит от А, поэтому мне нужен контроль над отправлением Б - их должно быть столько, сколько А
источник

A

Alexander in QA — Load & Performance
Но при этом еще и параллельно. Те не могу сначала все А отправить, а потом все Б
источник

ВС

Вячеслав Смирнов... in QA — Load & Performance
Alexander
Спасибо, думал об этом, но мне по сути нужны асинхронные запрос. А отправляет запрос, запрос Обрабатывается, Б запрос получает результат обработки. Т. Е по сути Б завсит от А, поэтому мне нужен контроль над отправлением Б - их должно быть столько, сколько А
Да, и если А и Б отправляются последовательно в одном сценарии, то Б и зависит от А. Просто сделайте несколько потоков. И несколько итераций вместо циклов
источник

A

Alexander in QA — Load & Performance
Вячеслав Смирнов
Да, и если А и Б отправляются последовательно в одном сценарии, то Б и зависит от А. Просто сделайте несколько потоков. И несколько итераций вместо циклов
Задача стоит запускать тесты по времени, например 12 часов. Поэтому пока не рассматриваю итерации, сложно просчитать, сколько итераций мнн нужно, чтобы тест шел 12 часов
источник

DS

Dmytro Slobodianiuk in QA — Load & Performance
Alexander
Задача стоит запускать тесты по времени, например 12 часов. Поэтому пока не рассматриваю итерации, сложно просчитать, сколько итераций мнн нужно, чтобы тест шел 12 часов
всегда есть воркэраунд с написанием собственного плагина и собственного подсчета метрик.
источник

A

Alexander in QA — Load & Performance
Dmytro Slobodianiuk
всегда есть воркэраунд с написанием собственного плагина и собственного подсчета метрик.
Быстро не справлюсь с написанием плагина, есть пара идей как получить желаемое, сижу пробую. Если получится, напишу коротко как сделал
источник

VG

Viktor Ganeles in QA — Load & Performance
Alexander
Задача стоит запускать тесты по времени, например 12 часов. Поэтому пока не рассматриваю итерации, сложно просчитать, сколько итераций мнн нужно, чтобы тест шел 12 часов
Не нужно считать, сколько итераций должно отработать за 12 часов
Нужно посчитать, с какой интенсивностью должны выполняться итерации
источник

A

Alexander in QA — Load & Performance
Viktor Ganeles
Не нужно считать, сколько итераций должно отработать за 12 часов
Нужно посчитать, с какой интенсивностью должны выполняться итерации
Спасибо, но не совсем понял идею
источник

VG

Viktor Ganeles in QA — Load & Performance
Alexander
Спасибо, но не совсем понял идею
Можно выполнять операции в течение 12 часов без пауз вовсе (как можно больше, в один или несколько потоков)

Но это очень редко нужно.

Обычно в тесте моделируется ситуация с прода, где в единицу времени выполняется Х операций (например, 100 операций в час)
источник

DS

Dmytro Slobodianiuk in QA — Load & Performance
Alexander
Спасибо, но не совсем понял идею
У вас, судя по вашему описанию нет асинхронности.
У вас отсылается А, возвращается респонс, с учетом этого респонса строится Б, отсылается Б. Все это единый блок. Посчитайте сколько времени в среднем тратится на эту операцию и создавайте луп на основе этого
источник

A

Alexander in QA — Load & Performance
Dmytro Slobodianiuk
У вас, судя по вашему описанию нет асинхронности.
У вас отсылается А, возвращается респонс, с учетом этого респонса строится Б, отсылается Б. Все это единый блок. Посчитайте сколько времени в среднем тратится на эту операцию и создавайте луп на основе этого
Попробую чуть подробнее. Между А и Б нет связи на уровне теста кроме того, что в конце теста из должно быть отправлено равное количество. А отправляются сами по себе. Параллельно им отправляются сами по себе Б, но с небольшой задержкой относительно А, например поток 1 А1, 5 секкунд пауза, поток 2 Б1. Мне не нужно ждать Б1, чтобы отправить А2 в потоке 1. Елинственное, на чем застрял, мне нужно, чтобы поток 2 отправил в течение теста ровно такое же количество запросов Б, какое количество А отправил поток 1. Грубо говоря синхронизировать их по количеству между собой.
источник