jmeter — это Java-приложение, предназначенное для нагрузочного тестирования и оценки производительности. Типы, которые он может тестировать, включают
-
Web - HTTP,HTTPS
-
Служба SOAP/REST
-
FTP
-
База данных через JDBC
-
LDAP
-
ПО промежуточного слоя, ориентированное на сообщения, на основе JMS
-
Почта — SMTP(s), POP3(s) и IMAP(s)
-
сценарий оболочки
-
TCP
-
Java-объект
Ниже приведены в основном TCP
Знакомство с графическим интерфейсом
скачатьПосле завершения jmeter войдите в исходный каталог jmeter.
⇒ ls
LICENSE NOTICE README.md bin docs extras lib licenses printable_docs
Выполнить команду в текущем каталоге./bin/jmeter
Вы можете увидеть графический интерфейс
концепция jmeter
ThreadGroup
Группа потоков является отправной точкой для всех планов тестирования. Все контроллеры и сэмплеры должны находиться в группе потоков.Другие элементы, такие как прослушиватели, могут быть размещены непосредственно под планом тестирования, и в этом случае он применяется ко всем группам потоков. управление группой потоков
-
количество потоков
-
Пора запускать все темы
-
сколько раз тест проводился
Pre-Processor
Выполняется перед запросом сэмплера, обычно используется для изменения настроек или обновления некоторых переменных.
Samplers
Используется для отправки запроса на сервер и ожидания результата. Sampler JMeter включает в себя
-
FTP request
-
HTTP request
-
JDBC request
-
java object request
-
JMS request
-
JUnit Test request
-
Mail request
-
OS Process request
-
TCP request
Assertion
Вернуть результаты запроса на проверку
configuration
он будет добавлен к запросу или изменен запросом
Post-Processor
Выполнить после выполнения сэмплера
logic controller
Настройте некоторую логику обработки jmeter при отправке запросов.
Listener
Используется для получения информации, собранной jmeter во время выполнения, например прослушиватель Graph Result, используемый для рисования времени возврата.
Timer
Перед выполнением каждого семплера задержите выполнение на определенный период времени.
Properties
Свойства JMeter определены в jmeter.properties, который является глобальным.
variables
Он является локальным для каждого потока, и если его изменить в потоке, то он влияет только на этот поток.
Область Jmeter
Структура теста jmeter является как иерархической, так и последовательной.Некоторые элементы строго иерархичны, например (слушатели, элементы конфигурации, постпроцессоры, препроцессоры, утверждения, таймеры), а некоторые расположены последовательно, например (контроллеры, сэмплеры). )
-
Типичное дерево тестов по порядку выглядит следующим образом, а его порядок запросов — один, два, три, четыре.
-
На дерево тестов влияет иерархия, утверждение № 1 предназначено только для одного, а утверждение № 2 — для двух и трех.
-
После добавления таймера таймер №1 будет использоваться для двух/трех/четырех, утверждение №1 будет использоваться только для трех, а таймер №2 повлияет на все запросы.
Кратко можно понять, что функция подмножества может использоваться только каталогом и его подмножествами на том же уровне, что и он, а остальные выполняются по порядку.
Описание последовательности выполнения
В общем, порядок выполнения
-
Configuration elements
-
Pre-Processors
-
Timers
-
Sampler
-
Постпроцессоры (если SampleResult не равен нулю)
-
Утверждения (если SampleResult не равен нулю)
-
Слушатели (если SampleResult не равен нулю)
Например, следующий план тестирования
-
Controller
-
Post-Processor 1
-
Sampler 1
-
Sampler 2
-
Timer 1
-
Assertion 1
-
Pre-Processor 1
-
Timer 2
-
Post-Processor 2
-
Его заказ выполнения
Pre-Processor 1
Timer 1
Timer 2
Sampler 1
Post-Processor 1
Post-Processor 2
Assertion 1
Pre-Processor 1
Timer 1
Timer 2
Sampler 2
Post-Processor 1
Post-Processor 2
Assertion 1
графический интерфейс
После сохранения результатов, настроенных через графический интерфейс, можно пройти./bin/jmeter -t xxx.jmx
способ открыть.
Чтобы сохранить конфигурацию, нужно найти каталог приложения Файл -> сохранить план тестирования как
Запустите тестовую операцию следующим образом
Операция проверки остановки выглядит следующим образом. Расширение и свертывание также предусмотрены для левого столбца. Интерфейс группы потоков выглядит следующим образомЕсли вы хотите запустить через неграфический интерфейс, вы можете использовать ./bin/jmeter-server для выполнения, а удаленное тестирование может добавить -Jremote_hosts для добавления списка сервисов.Нажмите здесь, чтобы узнать подробности удаленного тестирования
Результаты мониторинга
Если вам нужно автоматически сгенерировать результаты графического интерфейса после завершения теста, вы можете выполнить
./jmeter -n -t ~/Desktop/MyServerHandler.jmx -l ~/Desktop/MyServerHandlerLog.txt -e -o ~/Desktop/MyserverHandlerReport
-
~/Desktop/MyServerHandlerLog.txt — это пустой файл, в котором хранятся результаты
-
~/Desktop/MyserverHandlerReport — это пустое пространство, в котором хранятся результаты мониторинга.
-
~/Desktop/MyServerHandler.jmx Настройте сгенерированный план нагрузочного тестирования через интерфейс
Если он был выполнен, журнал помещается в MyServerHandlerLog.txt, который может быть сгенерирован непосредственно командой
/bin/jmeter -g MyServerHandlerLog.txt -o ./MyserverHandlerReport
Связанный контент можно настроить в файле bin/user.properties.
Тестовый пример опыта jmeter
служба длинных соединений nettyServerПредоставляет простые сервисы пульса и эха, запускаяНастроил jmx
Вы можете увидеть соответствующий интерфейс, а затем начать испытание давлением