Size: a a a

QA — Load & Performance

2021 February 24

P

Pavel-D in QA — Load & Performance
Ну простите, больше не стану
источник

VG

Viktor Ganeles in QA — Load & Performance
Степа Фомичев
У нас только jagga может ругаться в сообществе, согласен
Джага вроде без мата ругается :)
источник

M

Mike in QA — Load & Performance
Привет.
Есть вопрос. Запускаю тесты на Jmeter получаю результаты. Тестирование идет одного endpoint
Результаты RT 4sec и 1.8rps
Разрабы написали скрипт где используют Python тесты на asyncio - стандартная питоновская либа + aiohttp, чтобы запросы посылать. асинхронное программиование в общем.
И вот у них результаты лучше 4-5rps, a RT 2.5-3.5sec
Как так? Может я что-то не так делаю? Тесты запускаем удаленно из одной подсети.
источник

СФ

Степа Фомичев... in QA — Load & Performance
Если вы увеличиваете количество тредов рпс не растёт?
источник

KK

Konstantin Kalinin in QA — Load & Performance
Касательно Response Time предлагаю сопоставить все компоненты этого составного (по крайней мере в случае Jmeter) значения. Убедиться, что питонячий скрипт плюсует всё то же самое и логика работы, например, с подключениями, аналогична.
источник

M

Mike in QA — Load & Performance
Степа Фомичев
Если вы увеличиваете количество тредов рпс не растёт?
растет вначале потом падате как поднимается нагрузка
источник

VG

Viktor Ganeles in QA — Load & Performance
Mike
Привет.
Есть вопрос. Запускаю тесты на Jmeter получаю результаты. Тестирование идет одного endpoint
Результаты RT 4sec и 1.8rps
Разрабы написали скрипт где используют Python тесты на asyncio - стандартная питоновская либа + aiohttp, чтобы запросы посылать. асинхронное программиование в общем.
И вот у них результаты лучше 4-5rps, a RT 2.5-3.5sec
Как так? Может я что-то не так делаю? Тесты запускаем удаленно из одной подсети.
Стоит попробовать подавать нагрузку большим количеством потоков и с большего количества тачек

Мы тут напарывались на то, что ресурсы потрачены не все, но для увеличения rps нужно использовать больше нагрузочных станций
источник

СФ

Степа Фомичев... in QA — Load & Performance
И вы и они используете равное количество юзеров (логин/пароль)?
источник

VG

Viktor Ganeles in QA — Load & Performance
Степа Фомичев
И вы и они используете равное количество юзеров (логин/пароль)?
И настройки кэширования
И переиспользования коннектов
источник

M

Mike in QA — Load & Performance
нет. они используют постоянную нагрузку 4rps
источник

M

Mike in QA — Load & Performance
изменяют только 2 показателя РТ и ошибки
источник

M

Mike in QA — Load & Performance
при постоянной нагрузке
источник

M

Mike in QA — Load & Performance
Viktor Ganeles
Стоит попробовать подавать нагрузку большим количеством потоков и с большего количества тачек

Мы тут напарывались на то, что ресурсы потрачены не все, но для увеличения rps нужно использовать больше нагрузочных станций
с чем это может быть связано?
если я запускаю тот же тест с локальной машины у меня таже фигня но машина вообще не нарягается.
источник

M

Mike in QA — Load & Performance
Viktor Ganeles
Стоит попробовать подавать нагрузку большим количеством потоков и с большего количества тачек

Мы тут напарывались на то, что ресурсы потрачены не все, но для увеличения rps нужно использовать больше нагрузочных станций
да это я пробую, но как только увеличивается количество юзеров, то сразу появляются ошибки
источник

VG

Viktor Ganeles in QA — Load & Performance
Mike
с чем это может быть связано?
если я запускаю тот же тест с локальной машины у меня таже фигня но машина вообще не нарягается.
Вообще, это конечно, очень интересный кейс.
источник

VG

Viktor Ganeles in QA — Load & Performance
Очевидно, что объекту тестирования не важно, какой инструмент подаёт нагрузку.

Важны параметры этой подаваемой нагрузки.
источник

VG

Viktor Ganeles in QA — Load & Performance
Ну и параметры должны быть «как на проде», особенно если это так влияет на производительность.
источник

VG

Viktor Ganeles in QA — Load & Performance
Очевидно, что сервер проделывает разную работу в этих тестах. Либо jmeter перегружает, либо питон недогружает.

Навскидку - ответы питону могут почему-то кэшироваться на стороне сервера.
Ещё стоит проверить, что под его нагрузкой НА САМОМ ДЕЛЕ выполняются полезные действия. Ведь корректный http-ответ ещё не гарантирует, что выполнена работа.

Я бы обратил внимание на:

- нагрузку на сеть (mb/sec)
- нагрузку на сеть (packets/sec)
- нагрузку на сеть (количество коннектов от нагрузочных станций на app)
- количество коннектов с app на сервер базы данных
- пулы данных (может в жметре вы заходите под «старыми» пользователями, по которым нужно вытянуть много инфы из бд, а питон под новыми, пустыми)
- параметризация (может жметер каждый раз заходит под новым пользователем, а питон под одним и тем же.
- корреляции (может жметер использует новые сессии, а из питона всё делается из под одного sessionID или типа того)
- переиспользование cache / cookie (включите/выключите очистку данных в cache / cookie manager)
- переиспользование tcp-коннектов (включается в jmeter.property)
- переиспользование https-сессий (включается в jmeter.property)
- наличие корректных заголовков
источник

VG

Viktor Ganeles in QA — Load & Performance
Кстати, вполне может быть, что в jmeter забыли доделать какую-то корреляцию, и для сервака вся работа из jmeter делается под одним пользователем и всё упирается в это.
источник

M

Mike in QA — Load & Performance
Viktor Ganeles
Кстати, вполне может быть, что в jmeter забыли доделать какую-то корреляцию, и для сервака вся работа из jmeter делается под одним пользователем и всё упирается в это.
Вот это как?
Тесты писал я, точно запускаю несколько пользователей для них  подгружаются данные из csv и точно видно по результатам в самой системе что было несколько пользователей
источник