Size: a a a

QA — Load & Performance

2020 September 17

ВП

Вячеслав Поляков... in QA — Load & Performance
Kirill Yurkov
вообще кейс со сдвигом тредов неправильный, это лоадраннервские всё проблемы :)
Мы уже как-то выяснили что это профдеформация)
источник

ВП

Вячеслав Поляков... in QA — Load & Performance
Но как без этого подать равномерную нагрузку я хз 🤷‍♂
источник

v

vasiliy in QA — Load & Performance
Всем привет.

Есть тема - заказать бесплатно перевод англ статей для публикации на хабре , на тему нагрузочного тестирования , производительности

Может кому то попадались интересные статьи - пришлите, пожалуйста
@smirnovqa @Ganeles может вам что-то попадалось
источник

VG

Viktor Ganeles in QA — Load & Performance
Egor Parkhomenko
Добрый вечер, коллеги!
Подскажите пожалуйста, гугл мне не помог.
Как с помощью loadrunner vugen в response с огромным кол-вом одинаковых данных в формате JSON вытащить нужный мне id, где условием является наличие "enable": true.
Web_reg_save_param_ex цепляет первый попавшийся id.
У меня же условие enable true в json response находится ниже чем необходимый мне id.

Есть ли у вас какой-нибудь пример?
Есть ещё один вариант решения твоей проблемы:
Если JSON реально огромный, использование JSON-парсеров создаёт некоторую проблему - сперва нужно преобразовать весь ответ в объект, потом в нём искать. Это удобно, если нужно искать массив ID с сложными параметрами поиска.

Если же вам нужен один ID - проще воспользоваться текстовым поиском.
- либо регуляркой сразу найти нужный ID
- либо, если сходу не получается - можно сделать это в два приёма: сперва достать в переменную подходящий вам кусок ответа (например, с помощью web_reg_save_param)
а потом искать регуляркой уже внутри него (lr_save_param_regexp)

Пользоваться ею нужно так:
 lr_save_param_regexp (
   lr_eval_string("{Part_of_Json}"),
   strlen(lr_eval_string("{Part_of_Json}")),
   "RegExp=ТУТ_РЕГУЛЯРКА",
   "Ordinal=All",
   "ResultParam=param_name_ID",
   LAST);
источник

VG

Viktor Ganeles in QA — Load & Performance
vasiliy
Всем привет.

Есть тема - заказать бесплатно перевод англ статей для публикации на хабре , на тему нагрузочного тестирования , производительности

Может кому то попадались интересные статьи - пришлите, пожалуйста
@smirnovqa @Ganeles может вам что-то попадалось
Сходу не вспомнить ничего :(
источник

KY

Kirill Yurkov in QA — Load & Performance
Вячеслав Поляков
Но как без этого подать равномерную нагрузку я хз 🤷‍♂
прокачиваем воображение, урок первый:
-представь себе тысячу потоков и все они ничего не делают. есть ли разница в том, не делают ничего 1000 потоков или 10 тысяч поток, или 100500 тысяч потоков не делают ничего? разницы нет - почему? потому что потоки сами по себе ничто в нашем мире
урок второй:
-представь, что та же самая тысяча потоков делает всего 1 запрос за час. она делает его одновременно? нужно ли их сдвигать друг от друга чтобы они не делали его одновременно? нет, этот запрос сделает всего 1 счастливый поток, в какой то момент времени, который никак не будет зависеть от других потоков.
последний урок на пути к совершенству:
-представь 1000 потоков, которые делают 10 запросов в секунду, для единовременных 10 запросов в секунду, нужно всего 10 потоков, а это значит что 990 не делают в этот момент ничего и подключаются только тогда когда видят, что те 10 отважных потоков которые делали запросы в первую секунду, не успели освободиться чтобы сделать еще 10, тогда на помощь приходят еще 10. и опять ситуация в которой сдвигать ничего не нужно, никто не подает нагрузку всей волной, сколько бы там не было потоков. потоки не нужно рассинхронизировать потмоу что они не синхронны!
теперь ты излечился от скверны!)
источник

A

Alexander in QA — Load & Performance
Kirill Yurkov
прокачиваем воображение, урок первый:
-представь себе тысячу потоков и все они ничего не делают. есть ли разница в том, не делают ничего 1000 потоков или 10 тысяч поток, или 100500 тысяч потоков не делают ничего? разницы нет - почему? потому что потоки сами по себе ничто в нашем мире
урок второй:
-представь, что та же самая тысяча потоков делает всего 1 запрос за час. она делает его одновременно? нужно ли их сдвигать друг от друга чтобы они не делали его одновременно? нет, этот запрос сделает всего 1 счастливый поток, в какой то момент времени, который никак не будет зависеть от других потоков.
последний урок на пути к совершенству:
-представь 1000 потоков, которые делают 10 запросов в секунду, для единовременных 10 запросов в секунду, нужно всего 10 потоков, а это значит что 990 не делают в этот момент ничего и подключаются только тогда когда видят, что те 10 отважных потоков которые делали запросы в первую секунду, не успели освободиться чтобы сделать еще 10, тогда на помощь приходят еще 10. и опять ситуация в которой сдвигать ничего не нужно, никто не подает нагрузку всей волной, сколько бы там не было потоков. потоки не нужно рассинхронизировать потмоу что они не синхронны!
теперь ты излечился от скверны!)
Прямо дзен
источник

KY

Kirill Yurkov in QA — Load & Performance
меня еще можно переубедить, если рассказать мне зачем сдвигать потоки, но в свое кунг-фу я очень сильно уверовал - это будет тяжело!
источник

VG

Viktor Ganeles in QA — Load & Performance
Kirill Yurkov
прокачиваем воображение, урок первый:
-представь себе тысячу потоков и все они ничего не делают. есть ли разница в том, не делают ничего 1000 потоков или 10 тысяч поток, или 100500 тысяч потоков не делают ничего? разницы нет - почему? потому что потоки сами по себе ничто в нашем мире
урок второй:
-представь, что та же самая тысяча потоков делает всего 1 запрос за час. она делает его одновременно? нужно ли их сдвигать друг от друга чтобы они не делали его одновременно? нет, этот запрос сделает всего 1 счастливый поток, в какой то момент времени, который никак не будет зависеть от других потоков.
последний урок на пути к совершенству:
-представь 1000 потоков, которые делают 10 запросов в секунду, для единовременных 10 запросов в секунду, нужно всего 10 потоков, а это значит что 990 не делают в этот момент ничего и подключаются только тогда когда видят, что те 10 отважных потоков которые делали запросы в первую секунду, не успели освободиться чтобы сделать еще 10, тогда на помощь приходят еще 10. и опять ситуация в которой сдвигать ничего не нужно, никто не подает нагрузку всей волной, сколько бы там не было потоков. потоки не нужно рассинхронизировать потмоу что они не синхронны!
теперь ты излечился от скверны!)
ты ведь всё через Throughput Shaping Timer делаешь?
тредгруппы обычные или кастомные?
источник

KY

Kirill Yurkov in QA — Load & Performance
Viktor Ganeles
ты ведь всё через Throughput Shaping Timer делаешь?
тредгруппы обычные или кастомные?
да через него, тред группа самая дефолтная
источник

A

Alexander in QA — Load & Performance
Я начинал с jmeter 2.3, тогда не советовали использовать troughput timer для большого количества потоков, считалось ненадежным
источник

KY

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

KY

Kirill Yurkov in QA — Load & Performance
и не дай бог постпроцессоры тяжелые)
источник

ВП

Вячеслав Поляков... in QA — Load & Performance
Kirill Yurkov
прокачиваем воображение, урок первый:
-представь себе тысячу потоков и все они ничего не делают. есть ли разница в том, не делают ничего 1000 потоков или 10 тысяч поток, или 100500 тысяч потоков не делают ничего? разницы нет - почему? потому что потоки сами по себе ничто в нашем мире
урок второй:
-представь, что та же самая тысяча потоков делает всего 1 запрос за час. она делает его одновременно? нужно ли их сдвигать друг от друга чтобы они не делали его одновременно? нет, этот запрос сделает всего 1 счастливый поток, в какой то момент времени, который никак не будет зависеть от других потоков.
последний урок на пути к совершенству:
-представь 1000 потоков, которые делают 10 запросов в секунду, для единовременных 10 запросов в секунду, нужно всего 10 потоков, а это значит что 990 не делают в этот момент ничего и подключаются только тогда когда видят, что те 10 отважных потоков которые делали запросы в первую секунду, не успели освободиться чтобы сделать еще 10, тогда на помощь приходят еще 10. и опять ситуация в которой сдвигать ничего не нужно, никто не подает нагрузку всей волной, сколько бы там не было потоков. потоки не нужно рассинхронизировать потмоу что они не синхронны!
теперь ты излечился от скверны!)
Ух.. Долго же ты писал
источник

ВП

Вячеслав Поляков... in QA — Load & Performance
Теперь это нужно осознать.
источник

A

Alexander in QA — Load & Performance
У меня сегодня такая проблема возникла - jmeter - один тред, один сэмплер, keep alive активно, 800 запросов в секунду. В какой-то момент получаю ошибку adreess already in use. Кто-то сталкивался с этим?
источник

A

Alexander in QA — Load & Performance
Обращение было к REST Api на 8080
источник

KY

Kirill Yurkov in QA — Load & Performance
Alexander
У меня сегодня такая проблема возникла - jmeter - один тред, один сэмплер, keep alive активно, 800 запросов в секунду. В какой-то момент получаю ошибку adreess already in use. Кто-то сталкивался с этим?
на вебсокетах столкнулся - думал это пробелма вебсокетов
источник

KY

Kirill Yurkov in QA — Load & Performance
а какие тайминги?
источник

KY

Kirill Yurkov in QA — Load & Performance
у меня около 4 часов иногда без этого живет, а иногда и 10 бежит
источник