Pull to refresh

Comments 7

Всем привет! Меня зовут Александр Наумов,

А как отчество, если не секрет? Я типа такой же )

Я, Андреевич. Полностью совпали ?

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

Статистика только одного пода это конечно хорошо, но имхо стоит также и все поды нагрузить дабы увидеть как совместно они эту нагрузку делят

Доброго дня! Нет, это было сделано разово, что бы пережить запуск акции. Так делать точно не стоит, мы понимали риски связанные с таким экспериментом, поэтому мы очень тщательно подошли к выбору времени проведения и потратили много времени на анализ, Shift-Left так сказать.


Если у вас есть время на сборку стенда подобного PROD среде, то лучше сделать такой изолированный стенд. Тогда вы сможете увидеть всю картину в целом, как поды поднимаются, как отключается какова вся картина при высокой нагрузке. Но времени не было. Сейчас у меня есть доступ к нужным метрикам и команда следит за нагрузкой.

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

Нехватило технических деталей самих тестов чтоли. Делали вызов эндпоинта просто или полный путь пользователя через рекордер? Столкнулись ли с ограничениями jmetra на память, если да то как распаралеливали?

"Делали вызов эндпоинта просто или полный путь пользователя через рекордер? "

BlazeMeter - позволяет записывать путь клиента с web-сайта. Когда мы разобрали CJM на атомы, получили карту путей пользователя, увидели какие страницы посещаются. Записали эти пути. Совет, не брезгуйте кнопкой "Steps", лучше потратить одну минуту на описание шага там, чем потом разбирать спагетти из запросов и страниц.

Далее начали делать тесты универсальными.

  1. Создали тестовых пользователей на которых будем обкатывать. (В Jmeter их можно передать как эксель файлом, так и забить в настройку пользователей).

  2. Использовали тулы и параметры самого Jmeter. Посмотрите какие есть доступные тулы. Система сама может в JSON находить данные и передавать их в переменную в следующий запрос. Это позволяет делать запросы от каждого пользователя уникальными. Либо подготовить такие данные пользователя и все передать в эксель файле, разметив там переменные.

  3. Каждый сценарий надо обернуть в определенный тред юзерс

"Столкнулись ли с ограничениями Jmeter на память, если да то как распараллеливали? "

Столкнулся.

  1. Офисный ПК не подходит под проведение нагрузки, отладка на 1-5 потоков окей, но на полноценный запуск, категорически нет. По возможности обзаведитесь виртуальной машиной, без GUI и управляйте запуском через консоль. Гайды есть, у Jmeter обширная документация.

  2. Если вы столкнулись с ошибкой " out of memory", это говорит что выделяемой памяти под jmeter не хватает. Это правится в bat- файле через который вы запускаете Jmeter. Посмотрите сколько у вас прописано памяти JVM memory в разделе Heap.
    Строка "-Xms1g - Xmx1g -XX:MaxMetaspaceSize=256m"
    Поменять параметры: "-xms1g - Xmx6g -XX:MaxMetaspaceSize=256m"
    В этом файле таких мест 2, внесите изменения, сохраните файл и запускайте Jmeter.

А сколько ресурсов у вас на под в этом проекте выделено? Почему спрашиваю, звучит немного оверкилом на такой трафик 7 подов, но надо смотреть на реально доступные ресурсы.

Sign up to leave a comment.