Size: a a a

QA — Load & Performance

2020 March 16

AP

Anton Popov in QA — Load & Performance
Подскажите, пожалуйста
Как настроить JMeter так, чтобы проект можно было запустить с разных ОС?
Имеется в виду использование типа джавовской System.properties(“user.dir”)
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Anton Popov
Подскажите, пожалуйста
Как настроить JMeter так, чтобы проект можно было запустить с разных ОС?
Имеется в виду использование типа джавовской System.properties(“user.dir”)
Использую Maven и jmeter-maven-plugin.

Инструкция по настройке есть в документации к плагину:
https://github.com/jmeter-maven-plugin/jmeter-maven-plugin
https://github.com/jmeter-maven-plugin/jmeter-maven-plugin/wiki

Примеры:
https://github.com/polarnik/testJson - уже устарел (вышла новая версия jmeter и jmeter-maven-plugin), но не очень старый.
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Это позволяет быстро начать подавать нагрузку с агента. Из командной строки. С любой операционной системы.

Нужно, чтобы был maven:
https://maven.apache.org/download.cgi

Java.

JMeter и его плагины сами скачаются с их помощью.
источник

AP

Anton Popov in QA — Load & Performance
Вячеслав Смирнов
Использую Maven и jmeter-maven-plugin.

Инструкция по настройке есть в документации к плагину:
https://github.com/jmeter-maven-plugin/jmeter-maven-plugin
https://github.com/jmeter-maven-plugin/jmeter-maven-plugin/wiki

Примеры:
https://github.com/polarnik/testJson - уже устарел (вышла новая версия jmeter и jmeter-maven-plugin), но не очень старый.
Спасибо, посмотрю👍🏻
источник

ЕЕ

Евгений Евгений in QA — Load & Performance
Anton Popov
Подскажите, пожалуйста
Как настроить JMeter так, чтобы проект можно было запустить с разных ОС?
Имеется в виду использование типа джавовской System.properties(“user.dir”)
Для путей использую ${__groovy(import org.apache.jmeter.services.FileServer; FileServer.getFileServer().getBaseDir();)}${__BeanShell(File.separator,)}
источник

KY

Kirill Yurkov in QA — Load & Performance
Anton Popov
Подскажите, пожалуйста
Как настроить JMeter так, чтобы проект можно было запустить с разных ОС?
Имеется в виду использование типа джавовской System.properties(“user.dir”)
а с какими проблемами столкнулись?
источник

AP

Anton Popov in QA — Load & Performance
Kirill Yurkov
а с какими проблемами столкнулись?
У меня пути к моим, например, csv файлам забиты с формате Win10, начиная от диска, на котором лежит файл
Такой вариант не запуститься, к примеру, на macOS
источник

KY

Kirill Yurkov in QA — Load & Performance
понял, можно этого избежать положив csv в корень и указав только его наименование в пути
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
сделать можно примерно так:

cd ~/Projects/loadTest1/
~/tools/jmeter/bin/jmeter.sh


или

cd ~/Projects/loadTest1/
~/tools/jmeter/bin/jmeter.sh -t test.jmx


Где ~/Projects/loadTest1/ - каталог проекта
источник

R

Rita Greyreality 🌈 in QA — Load & Performance
привет) у нас тут спор назрел о том при каком количестве контейнеров сервисов проводить тестирование.

разработчики рекомендуют начальную конфигурацию нашей системы для заканчика такую: 4 контейнера для  gateway, 2 for payment, 1 for agent. заканчики на проде вообще используют 5-6 контейнеров. примерно сохраняя соотношение контейнеров в рекомендованной.

а мы для поиска baseline используем 2 контейнера для gateway т.к. все апи работают через эти ворота, а мы хотим нагрузить payment. и payment оставляем 1 контейнером. при этом вызываем апи которое сначала проходит gateway, затем payment, затем запрaшаивает данные еще с 3х сервисов включая agent.

спор о том использовать ли рекомендованную конфигурация при поиске baseline или оставить как есть - все сервисы =1контейнер. кроме gateway.

что вы думаете об этой ситуации?хД
скоро махач будет уже хД
источник

A

Artyom in QA — Load & Performance
смотрите утилизацию на проде, есть ли проблемы
тестируете 1к1 на тест стенде - смотрите есть ли корреляция с продом и вашими тестами
намечаете что нужно\можно срезать, выделяете assumption-ы\подсвечиваете риски, даете кастомеру на аппрув
источник

A

Artyom in QA — Load & Performance
перед этим задаете вопрос дейтвительно ли важно так срезать кол-во контейнеров сервисов или можно оставить prod-like
источник

AP

Anton Popov in QA — Load & Performance
Kirill Yurkov
понял, можно этого избежать положив csv в корень и указав только его наименование в пути
Действительно, работает
Но теперь я задумался о потенциальной проблеме, что при отсутствии нужного плагина на другой машине, сценарий не запустится
Выходит, всё-таки нужен maven, как предлагали выше?
источник

M

Max in QA — Load & Performance
Anton Popov
Действительно, работает
Но теперь я задумался о потенциальной проблеме, что при отсутствии нужного плагина на другой машине, сценарий не запустится
Выходит, всё-таки нужен maven, как предлагали выше?
maven/docker/таскайте папку с jmeter и всеми плагинами
источник

ЕЕ

Евгений Евгений in QA — Load & Performance
Я держу jmeter с плагинами в гите
источник

KY

Kirill Yurkov in QA — Load & Performance
мы решаем образами докера, можно мавеном, на крайний можно и папочку перекидывать без заморочек
источник

A

Artyom in QA — Load & Performance
Artyom
смотрите утилизацию на проде, есть ли проблемы
тестируете 1к1 на тест стенде - смотрите есть ли корреляция с продом и вашими тестами
намечаете что нужно\можно срезать, выделяете assumption-ы\подсвечиваете риски, даете кастомеру на аппрув
ну и главное - дело ведь не только в кол-ве контейнеров, но и настройках (--cpus, --memory)
идеально чтобы ваш перф поднимался с той же автоматизации, что и прод
источник

AP

Anton Popov in QA — Load & Performance
Ага, всем спасибо за советы, сейчас буду думать
источник

R

Rita Greyreality 🌈 in QA — Load & Performance
Artyom
ну и главное - дело ведь не только в кол-ве контейнеров, но и настройках (--cpus, --memory)
идеально чтобы ваш перф поднимался с той же автоматизации, что и прод
спасибо. эт вы описали каким образом убрать кол-во контейнеров на проде.

но такой проблемы у нас не стоит.
задача решить сколько контейнеров использовать при performance testing API при поиске baseline.

варианты 1) использовать рекомендованное кол=во контейнеров разрабами 2) тестировать всйо с 1 контейнером...
а cpu/memory для контейнеров у нас как опять же рекомендовано разрабами. на проде те же лимиты. это сделано верно.
источник

A

Artyom in QA — Load & Performance
это я описал, сколько бы контейнеров я использовал при performance testing API для получения бейзлайна
1 к 1 с продом
источник