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

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

Итак, есть веб-приложение с авторизацией и кучей сложных (под капотом) страниц. Надо нагрузить страницу, на которой просто выводится список объектов (она у нас долго грузится) Я записала сценарий - в Only Once Controller процесс авторизации (сам логин мне нагружать не надо), в отдельном Transaction Controller - переход на нужную страницу. И все этой в одном Thread Group

Первый непонятный мне момент - как определить, какие запросы надо включить в сценарий.

При переходе на нужную страницу происходит много разных запросов (гет и пост). В них нет передачи каких-то параметров между запросами, это просто подтягивание разных данных про аккаунт, некоторые настройки, которые влияют на отображение меню и страниц объектов (типа язык аккаунта, получение значений каких-то ключей, какие флаги включены и доступны опции, что-то непонятное и тд) Надо все эти запросы включить в сценарий? Или достаточно по прямой ссылке перейти на нужную страницу? Достаточно ли мне одной пары логин-пароль?

Второй момент - настройки Thread Group, как настроить нагрузку и понять отчет

Я так понимаю, что Number of Threads - это сколько всего сценариев запустится выполняться (включая логин), а loop Count - сколько в каждом потоке одновременных открытий страницы, а логин один раз за круг? Number of Threads = 5, а loop Count = 3 - это сценарий пройдет полностью 5 раз - логин и 3 параллельных сценария открытия страницы. Так? Или как? Но мне же нужно только определенную страницу померить - мне не нужно нагружать логин. Можно/нужно авторизацию убрать из нагрузочного сценария? И все этой под одной парой логин-пароль. Это валидный тест будет? Открытие этой страницы будет каждый раз "как первый"?

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

Третий момент - как вообще подойти к такому тестированию

Это самые первые тесты системы. Я так понимаю - c помощью Thread group я могу узнать предельную нагрузку (не понимаю пока как это делать только), при которой страница будет грузиться. А потом можно что-то еще померить, уже отталкиваясь от цифр предельной нагрузки - при пиковых нагрузках, например. Как подбираются эти цифры? Что указывается в отчетах и как объяснить результат (все хорошо или не очень хорошо с загрузкой страницы)?

В общем, я в тупняке(( Объясните, пожалуйста)))

Всем лучики добра


Ответы (1 шт):

Автор решения: Dmitri T

У вас тут 14 вопросов, какой ответ вы ожидаете? Книгу?

  • Надо все эти запросы включить в сценарий?

    да, но не все. только те, которые относятся к вашему приложению, внешние ресурсы (картинки с tumblr, видосы с youtube, шрифты с googleapis и т.д.) включать не нужно

  • Number of Threads = 5, а loop Count = 3 - это сценарий пройдет полностью 5 раз - логин и 3 параллельных сценария открытия страницы.

    не совсем, JMeter запустит 5 виртуальных пользователей и каждый пользователь начнет выполнять запросы (Samplers) сверху вниз. Когда все запросы закончатся пользователь начнет следующую итерацию. Таким образом каждый пользователь выполнит все запросы 3 раза (кроме тех, которые под Once Only Controller, те будут выполнены 1 раз). То, сколько пользователей будет одновременно открывать ту или иную страницу зависит от многих факторов, преимущественно от времени отклика страницы.

  • И вот тут я вообще не могу понять - ни как эти числа подбирать, ни как понимать отчеты.

    если у вас нету ни SLA ни NFR - сделайте Stress Test, начните с одного пользователя и постепенно увеличивайте нагрузку. Обращать внимание на следующие графики:

    Скорее всего в первой фазе теста время отклика будет одинаковым, а количество транзакций в секунду будет расти пропорционально количеству пользователей. В определенный момент время отклика начнет расти и соответственно количество транзакций в секунду начнет падать. Обратите внимание на количество пользователей в тот момент времени - вот столько поддерживает ваше приложение

  • c помощью Thread group я могу узнать предельную нагрузку

    с помощью Thread Group вы задаете сколько виртуальных пользователей запустить, насколько быстро и на какое время. "цифры" зависят от типа теста, который вы выполняете. Случай со стресс тестом и то, как интерпретировать результаты описан в предыдущем пункте.

→ Ссылка