Size: a a a

QA — Load & Performance

2020 July 20

KY

Kirill Yurkov in QA — Load & Performance
у меня 5к сделало 256,но там с большими файлами работа + smtp
источник

МВ

Максим Варанкевич... in QA — Load & Performance
У меня апишка и кролик был
источник

KY

Kirill Yurkov in QA — Load & Performance
Максим Варанкевич
У меня апишка и кролик был
в нем тестовые данные были?
источник

МВ

Максим Варанкевич... in QA — Load & Performance
Kirill Yurkov
в нем тестовые данные были?
Ага
источник

A

Aydan in QA — Load & Performance
@smirnovqa спасибо, попробую сделать так как описали)
источник
2020 July 21

SM

Sergey Minaev in QA — Load & Performance
Всем привет! Вопрос знатокам JMeter. Как лучше реализовать SSE трафик в скриптах? С бизнес-точки зрения - это обновления онлайн данных в виджетах: прилетают json  цифрами, с интенсивностью 2-4 раза в секунду. При переходе по страницам сайта открываются новые подключения по SSE, из старых какие-то прерываются, какие-то остаются и продолжают получать данные.
источник

SM

Sergey Minaev in QA — Load & Performance
Т.е. основная задача - реализовать получение данных в одном соединении по SSE, при этом продолжая в параллель выполнять пользовательские запросы.
источник

SM

Sergey Minaev in QA — Load & Performance
Пробовал штатными средствами (HTTP Sample + Parallel controller), но вложенные параллельные запросы вызывают exception при попытке получения context (точно сейчас не помню ошибку, могу воспроизвести и приложить, если нужно)
источник

VG

Viktor Ganeles in QA — Load & Performance
не стоит пытаться засунуть это в parallel controller, он для другого нужен.
источник

SM

Sergey Minaev in QA — Load & Performance
В общем, буду благодарен за наводку 😊
источник

VG

Viktor Ganeles in QA — Load & Performance
по сути решения два:
источник

VG

Viktor Ganeles in QA — Load & Performance
1) забить на параллельность, и просто последовательно реализовывать эти запросы.
У меня бизнес-кейс пользователем выполняется около 2х минут. Скрипт выполняет его за 5 секунд.

ВебСокетный асинхронный запрос кидается раз в 10 сек, значит я в своём скрипте тоже кидаю этот запрос 12 раз.
источник

VG

Viktor Ganeles in QA — Load & Performance
нагрузка на сервак соответствующая, не считая того, что сервак не успевает генерить push-и
источник

AG

Alex Grishutin in QA — Load & Performance
Я так понимаю, второй через циклы вайлы и тд?)
источник

AG

Alex Grishutin in QA — Load & Performance
хотя там никакой параллельности не будет...
источник

KY

Kirill Yurkov in QA — Load & Performance
ну да смысла в параллелизме нет
источник

VG

Viktor Ganeles in QA — Load & Performance
2) Завести отдельную тред-группу, которая выполняет всю асинхронщину.
Передавать ей токен аутентификации каким-нибудь образом. У нас это заглушка в которой хранятся ключ-значение, где ключ - ID пользака а значение - токен + время жизни.
Что бы токен обновлялся своевременно
источник

VG

Viktor Ganeles in QA — Load & Performance
@smirnovqa Слава выше много писал про ConcurrentHashMap
тоже подход, но я полагаю, что при распределённом тестировании (если у вас несколько жметров) данные между потоков будут ходить только внутри каждого инстанса жметра
источник

AG

Alex Grishutin in QA — Load & Performance
Kirill Yurkov
ну да смысла в параллелизме нет
ну тут и да и нет... с одной стороны на больших нагрузках нам важна суммарная статистика, поэтому вся эта парралелизация не особо решает и главное что бы образный опс сохранался, с другой стороны, если начнутся проблемы с перфом, то весь скрипт постепенно свернется в невалидный из-за увеличившихся респонсов и невыполнения опс....

Имхо, ответственность инженера)
источник

SM

Sergey Minaev in QA — Load & Performance
@Ganeles , Спасибо за ответ! Вариант №1 не годится, как мне кажется, по двум причинам: во-первых, запрос на открытие SSE висит 10мин, и его надо тогда как-то прерывать вручную, чтоб идти дальше по юзер-кейсу, а во-вторых, если не получать от сервака данные, то мы не эмулируем трафик и, возможно (нужно уточнять у разрабов) сервер будет хранить недополученные данные для отдачи их после восстановления соединения.
источник