Size: a a a

QA — Load & Performance

2020 July 21

VG

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

SM

Sergey Minaev in QA — Load & Performance
Вариант №2 (с отдельной тред группой) интереснее, надо попробовать. То есть предлагаете в одной группе эмулировать все асинхронки по всем юзерам? Предварительно рассчитав пропорции запросов на SSE?
источник

VG

Viktor Ganeles in QA — Load & Performance
Sergey Minaev
Вариант №2 (с отдельной тред группой) интереснее, надо попробовать. То есть предлагаете в одной группе эмулировать все асинхронки по всем юзерам? Предварительно рассчитав пропорции запросов на SSE?
можно обойтись даже без пропорций, просто прикиньте, сколько реальных пользователей живёт одновременно и гоняет эту асинхронщину.
И запускайте столько тредов.

Как я понимаю, запросы, бегающие по SSE выполняются по таймеру или инициируются со стороны сервера - значит запросы по таймеру отправляйте сами, а остальное инициирует сервак.
источник

SM

Sergey Minaev in QA — Load & Performance
Однако, будет весело: х2 тредов придется поднять ))) Пойду считать необходимы мощности😄
источник

SM

Sergey Minaev in QA — Load & Performance
Кстати, а что скажете за Gatling? Сам еще не пробовал, но ходят слухи, что там яко бы SSE и вообще асинхронка как-то легко решается.
источник

VG

Viktor Ganeles in QA — Load & Performance
Можно облегчить №2 в плане количества тредов (но усложнить расчёты) - запускать не столько тредов, сколько пользователей, а всего лишь столько, сколько нужно, что бы пропихнуть нужное количество сообщений на сервер.

Сообщения слать плотненько, как бы сразу от десятка пользаков в одном треде.

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

SM

Sergey Minaev in QA — Load & Performance
Viktor Ganeles
Можно облегчить №2 в плане количества тредов (но усложнить расчёты) - запускать не столько тредов, сколько пользователей, а всего лишь столько, сколько нужно, что бы пропихнуть нужное количество сообщений на сервер.

Сообщения слать плотненько, как бы сразу от десятка пользаков в одном треде.

Плюсы: меньше потоков и геммороя.
Минусы: снижение нагрузки на систему, связанной с поддержкой большого количества коннектов сервером и генерацией всех этих пушей сервером.
Ну и усложнение расчётов.
Пообщаюсь с разрабами, чтоб понять, как лучше. Конечно, самое простое - сделать х2 потоков и все. Но заманчиво выполнить расчеты, сделав ровно столько запросов, сколько надо и ожидая ответов столько, сколько нужно (с учетом прерываний подключений при переходе по страницам), что позволит уменьшить число потоков. Возможно... Надо считать.
В любом случае - спасибо за советы.
источник

SM

Sergey Minaev in QA — Load & Performance
Если кто скажет что-то позитивное за гатлинг в разрезе SSE, буду очень признателен😎
источник

VG

Viktor Ganeles in QA — Load & Performance
погуглил - sse, в отличие от WebSocket, это однонаправленный протокол (только с сервера к клиенту), а обратные сообщения ходят обычным образом.
Ну, тут нужно решать, важно ли вам эмулировать нужное количество этих SSE-соединений
если нужно - то нельзя экономить на №2.
источник

SM

Sergey Minaev in QA — Load & Performance
Viktor Ganeles
погуглил - sse, в отличие от WebSocket, это однонаправленный протокол (только с сервера к клиенту), а обратные сообщения ходят обычным образом.
Ну, тут нужно решать, важно ли вам эмулировать нужное количество этих SSE-соединений
если нужно - то нельзя экономить на №2.
Ага, ушел к разрабам обсуждать :)
источник

A

Artem in QA — Load & Performance
всем привет! Подскажите плиз по private WEBPAGETEST, как добавить в скрипт (не в мануал часть) ignoreSSL?
источник

SM

Sergey Minaev in QA — Load & Performance
В продолжение темы с SSE in JMeter: а кто-нибудь пробовал вот это решение от BLaze? https://www.blazemeter.com/blog/how-to-load-test-sse-services-with-jmeter
источник

AG

Alex Grishutin in QA — Load & Performance
Artem
всем привет! Подскажите плиз по private WEBPAGETEST, как добавить в скрипт (не в мануал часть) ignoreSSL?
Привет,
юзай флаг --ignore-certificate-errors
источник

AG

Alex Grishutin in QA — Load & Performance
если стартуешь через апишку, то это в cmdline суется
источник

A

Artem in QA — Load & Performance
Понял, спасибо
источник

A

Artem in QA — Load & Performance
а если не через апишку?
источник

AG

Alex Grishutin in QA — Load & Performance
источник

AG

Alex Grishutin in QA — Load & Performance
источник

A

Artem in QA — Load & Performance
не, это то понятно
источник

A

Artem in QA — Load & Performance
а в скрипт табе можно прописать, чтобы только скрипт выполнялся?
источник