Size: a a a

QA — Load & Performance

2021 October 02

KY

Kirill Yurkov in QA — Load & Performance
Это пример итоговой нагрузки N юзеров
источник

KY

Kirill Yurkov in QA — Load & Performance
Внутри бегают сессии и айдишники
источник

I

I-1 in QA — Load & Performance
А в jmeter это как реализуется? Через что
источник

I

I-1 in QA — Load & Performance
Каждый шаг своя тредгруппа? В jmeter
источник

KY

Kirill Yurkov in QA — Load & Performance
Throughput controller + loop
источник

I

I-1 in QA — Load & Performance
Понятно
Тут, наверное, каждый шаг - это свой сценарий + redis
источник

KY

Kirill Yurkov in QA — Load & Performance
Скорее всего наложение сценариев с повторами внутри
источник

KY

Kirill Yurkov in QA — Load & Performance
Чтобы без редиса
источник

I

I-1 in QA — Load & Performance
Кстати редис очень хорош для сессий, можно делать таймер к каждому ключу когда он удалиться должен
источник

KY

Kirill Yurkov in QA — Load & Performance
Увы редис на больших нагрузках очень плохо работает
источник

KY

Kirill Yurkov in QA — Load & Performance
Он однопоточный
источник

KY

Kirill Yurkov in QA — Load & Performance
Ну и ресурсы под него разворачивать для таких простых вещей кощунство)
источник

I

I-1 in QA — Load & Performance
Это интересно - подумать
Как такое вообще реализовать, чтобы без особых костылей
источник

I

I-1 in QA — Load & Performance
Самое забавное что тулза написана на go, а там для такого прям специально каналы сделаны
источник

I

I-1 in QA — Load & Performance
Но скрипты на js
источник

KY

Kirill Yurkov in QA — Load & Performance
Ну это типичная проблема. Инструменты пилятся под то чтобы реализация нагрузки была через подход есть сценарий юзера - делаем тыщу юзеров - получаем нагрузку.
А когда у тебя подход сразу: "вижу действия тыщи пользователей" то начинается боль
источник

I

I-1 in QA — Load & Performance
А какие данные при этом шарятся между шагами, типа - id товара, id сессии.
Интересно логику понять как и что они шарят.
источник

I

I-1 in QA — Load & Performance
Аа я понял, кажется!
Если соотношение
10 аворизация
15 взять
5  купить
10 проверка
То мы просто принимаем это за 1
Запускаем как сценарий из 4х шагов

Но в каждом шаге делаем параллел контроллер, который работает в k6 реально как параллел, запуская прям одновременно, как я понял

Тогда и проблема с шэрингом решается

А количество параллельно запускаемых запросов параметризуется
источник

I

I-1 in QA — Load & Performance
Сейчас ещё скину пару ссылок про это
источник

I

I-1 in QA — Load & Performance
То есть регулируем нагрузку вузерами и количеством параллельных запусков каждого шага
источник