Меню Рубрики

Установка jmeter на windows

JMeter-тестирование динамической нагрузки Restful API

Цель этой статьи — научить вас выполнять нагрузочное тестирование и измерение производительности Restful API при помощи JMeter до и после развёртывания, используя подход с конфигурированием. В этот тест мы также добавим сравнение характеристик производительности по конкретным бенчмаркам. В итоге вы сможете моделировать нагрузку различных сценариев и вывод данных производительности несколькими способами, включая CSV и HTML отчёты.

Установка Apache JMeter

Требования: Java 8 или Java 9 для Apache JMeter 5.1.1.

Для начала вам нужно загрузить JMeter с сайта Apache Jmeter . После загрузки zip-файла извлеките его в директорию, где будете с ним работать. Затем в распакованной директории откройте папку /bin и запустите исполняемый Jar-файл. Откроется Apache JMeter с GUI.

Создание плана теста

Прежде чем написать план, давайте посмотрим, что он из себя представляет. План теста можно рассматривать как контейнер для выполнения тестов. Он определяет, что тестировать и как. Правильный план будет иметь ряд элементов вроде следующих:

  • Группы потоков;
  • Логические контроллеры;
  • Таймеры;
  • Пре- и постпроцессоры;
  • Элементы конфигурации;
  • т.д.

Настройка плана теста

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

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

Установка элемента конфигурации

Для выполнения динамического тестирования нам также нужно создать CSV файл с перечислением деталей конечных точек, чтобы выполнять тест для каждой конечной точки по очереди.

Когда мы создадим CSV файл, нам понадобится настроить элемент конфигурации “CSV Data Set Config” в группе потоков, чтобы получать из CSV файлов следующие параметры:

  • testID (ID теста);
  • label (метка);
  • serverAddress (адрес сервера);
  • path (путь);
  • method (метод);
  • expectedCode (ожидаемый код);
  • payload (полезный данные).

В процессе настройки этого элемента конфигурации нужно указать путь к CSV файлу вместе с именами переменных согласно заданным в CSV файле колонкам, чтобы далее использовать всё это в подходящем месте.

Добавление HTTP Request сэмплера под Transaction Controller

Так как в конфигурации CSV у нас есть несколько конечных точек, нам нужно установить ‘Transaction Controller’ (Контроллер транзакций) для выполнения всех их последовательно, согласно заданному в CSV файле порядку. При этом мы можем использовать динамическое имя контроллера, как вы видите на изображении ниже. Имя устанавливается на основе определённых пользователем переменных, извлечённых из CSV файла (т.е. $ — $<_ThreadGroupName>/($

Следом за настройкой Transaction Controller, нам нужно под ним настроить ‘HTTP Request’ сэмплер, являющийся наиболее важной частью сценария этого теста. Итак, чтобы активировать динамическое выполнение, необходимо параметризовать этот сэмплер на основе определённых в элементе конфигурации переменных, которые извлекаются из файла конфигурации CSV:

Для выполнения конечных точек Post нам нужно передать Payload в формате JSON с заголовками запросов, чтобы создавать или обновлять любой объект. Для этого необходимо определить Content_Type для JSON payload в ‘HTTP Header Manager’ , установив значение как ‘application/json’. Если же вы не определите Content_Type, тогда payload будет передана в виде текстового значения, что приведёт к плохому запросу при выполнении конечной точки API.

Установка утверждений

В тесте производительности вы можете применить утверждения на основе предоставленных бенчмарков. Эти утверждения можно применить в теле ответа, коде ответа, данных запроса и т.д., но в данном случае я применяю его в коде ответа только в отношении ожидаемого кода ответа, заданного в CSV файле для каждой конечной точки.

Настройка Teardown Thread Group

Это особая форма группа потоков, используемая для совершения нужных действий после завершения выполнения обычной группы потоков. Поведение потоков, указанных под Teardown Thread Group не отличается от стандартного.

Здесь я использую эту группу потоков для генерации HTML отчёта, применив сэмплер Beanshell после выполнения всех тестов. Более того, вы можете использовать её для отправки результата по e-mail с помощью сэмплера SMTP.

Генерирует HTML отчёт через Beanshell Sampler

Beanshell является одним из наиболее продвинутых встроенных компонентов JMeter. Он поддерживает синтаксис Java и расширяет его такими скриптовыми возможностями, как слабые типы, команды и замыкания методов. Здесь я использую Beanshell для генерации HTML отчёта, выполняя команды cmd. Эти команды содержат URL-адреса директорий, поступающие из файла конфигурации CSV, что даёт возможность прочитать результаты CSV и разместить HTML отчёт. Помимо этого, для истории скрипт создаёт сжатый файл HTML отчёта с текущей временной меткой.

cmdObject = Runtime.getRuntime().exec(“C:/Windows/System32/cmd.exe /c $ & cd $ & jmeter -g $ -o $ & jar -cMf $HTMLReport_%time:

Слушатели

Слушатель (Listener) — это компонент, показывающий результаты сэмплов. Результаты могут быть показаны в виде дерева, таблиц, графиков или просто записаны в файл журнала. Для просмотра содержимого ответа от любого заданного сэмплера добавьте слушателя “View Results Tree” или “Summary Report”, чтобы просмотреть результат внутри плана теста, либо “Simple Data Writer” для записи результатов в CSV файл.

Запуск нагрузочного теста

Теперь, когда мы всё настроили как надо, пришло время запускать нагрузочный тест. Для этого нам нужно переконфигурировать элемент Thread Group в Test Plan так, чтобы он имел несколько свойств, относящихся к Thread. Кликните по Thread Group и добавьте в неё перечисленные ниже свойства. Т.к. мы осуществляем нагрузочное тестирование, нам следует предоставить тяжёлую нагрузку на конечную точку API. Изменение следующих параметров Thread Group позволяет JMeter правильно выполнить тест с нагрузкой.

Этими изменяемыми значениями являются три особо важных свойства, влияющих на тест:

Number of Threads (users) : число пользователей, которых симулирует JMeter.

Ramp-Up Period (in seconds): общее количество времени, в течение которого JMeter будет распределять запуск всех потоков.

Loop Count: число выполнений теста.

Сохранив план теста, вы можете запустить его из консоли, кликнув по кнопке Play. После запуска вы сможете увидеть мгновенные результаты теста в добавленных слушателях или ознакомиться с ними позже в HTML отчёте. Однако в целях повышения производительности рекомендуется запускать план теста из командной строки, а не из режима GUI.

Просмотр результата в слушателях

Результаты теста будут выглядеть аналогично представленным ниже:

Источник

Ставим JAVA + JMeter

JAVA — это объектно-ориентированный язык программирования.

Для того, чтобы запустить приложение написанное на java, необходимо установить окружение: «Java Development Kit» или «Java Runtime Environment».

  • Java Development Pack (сокр. JDK) – комплект разработки приложений для работы с языком программирования java. Включает в себя: интерпретатор, облегченный интерпретатор jre, компилятор, отладчик, java библиотеки классов, программу сбора документации, диcассемблер, программу архивации и сжатия jar, программу просмотра апплетов и т.д…
  • Java SE Runtime Environment (сокр. JRE) – это java окружение для исполнения Java-приложений. jre входит в jdk.

Apache JMeter — инструмент для проведения нагрузочного тестирования, который способен проводить нагрузочные тесты для соединений: http, ftp, pop3, imap, ldap, soap, jms, jdbc и tcp.

В статье мы рассмотрим установку Java + Jmeter для: Windows, Linux (Ubuntu), Mac OS

Установка под Windows

Установка Java Development Pack (JDK)

2. Перезагружаем Windows.

3. Теперь нам необходимо добавить переменные окружения, если они не появились сами после перезагрузки операционной системы Windows.

Открываем: ПускНастройкиПанель управленияСистемаДополнительные параметрыДополнительно (вкладка)Переменные среды

4. Нажимаем на кнопку «Создать», заполняем имя переменной: JAVA_HOME , устанавливаем значение переменной, например: C:\Program Files\Java\jdk1.7.0_71

Значение переменной — путь куда был установлен JDK.

5. Добавляем в значение переменной окружения Path строку: ;%JAVA_HOME%bin

Устанавливаем JMeter в Windows

1. Скачиваем Apache JMeter: https://archive.apache.org/dist/jmeter/binaries/ и распаковываем. Кстати, переименовывать поддиректории JMeter — нежелательно.

2. Добавляем переменную окружения: JMETER_HOME и устанавливаем ей значение, например:

C:\Program Files (x86)\apache-jmete-2.9\

Значение окружение в нашем случае — каталог, в который был распакован JMeter.

3. Добавляем в значение переменной окружения Path строку: ;%JMETER_HOME%bin

Для запуска JMeter запускаем файлик jmeter.bat — C:\Program Files (x86)\apache-jmete-2.9\bin\jmeter.bat

Ubuntu

Устанавливаем java в Ubuntu

Обычно в Ubuntu JAVA установлена сразу, даже на виртуальной машине VirtualBox, но не всегда. Проверяем командой в терминале:

На скрине видно, что java не установлена, следовательно будем устанавливать.

1. Добавляем репозиторий, выполняем команду в терминале:

2. Обновляем информацию о пакетах:

3. Ставим Oracle Java 7 (наиболее стабильная на сегодняшний день):

Oracle Java 6

Oracle Java 8

Для подтверждения нажимаем «Д», затем «Enter».

В процессе установки, Вас попросят принять лицензионное соглашение компании Oracle. После чего начнется установка.

Очень забавно наблюдать, как в терминале происходит установка. Обожаю этот момент.

Теперь проверяем все ли сделали правильно, вводим команду в терминале:

Устанавливаем JMeter в Ubuntu

Выполняем команду в терминале:

Запускаем JMeter командой, как на скрине:

Устанавливаем Jmeter на Mac OS

Для того, чтобы установить Jmeter на Mac OS — есть несколько решений, я как всегда, выбрал для себя самое быстрое и самое изящное, с помощью — «Homebrew».

1. Открываем терминал

2. Проверяем установлена ли «Java (JDK)» на ПК, для этого в терминале вводим команду:

Если Java установлена, вы увидите вывод, как на рисунке ниже

Если Java JDK на Mac OS — не установлена, установите по ссылочке:

3. Устанавливаем «Homebrew». Homebrew — менеджер недостающих пакетов для OS X. Для установки достаточно ввести команду в терминале:

4. Устанавливаем Jmeter, вводим команду в терминале:

5. Запускаем Jmeter

Если остались вопросы, пишите в комментариях к статье. Подписывайтесь на обновления блога, чтобы не пропустить моё мнение по очередному вопросу.

Источник

Установка и настройка Apache.JMeter

Содержание

В текущей статье описан простой быстрый способ настройки Apache.JMeter: скачать, распаковать, настроить.

Для каждодневного использования, более профессионального, рекомендую автоматизировать скачивание и настройку Apache.JMeter с использованием Apache Maven.

1. Установка Apache.JMeter

Дистрибутив JMeter берётся по ссылке со страницы Download Releases.

Скачиваются два файла:

  1. apache-jmeter-5.0.zip (zip)
  2. apache-jmeter-5.0.zip.asc (pgp)

Zip-файл скачивается с ближайшего зеркала, а подпись скачивается с сервера Apache.

Можно оба файла скачать с сервера Apache, тогда проверка подписи особо не нужна. Также с сервера Apache берётся дистрибутив прежних версий, например, версии 3.1:

Архив нужно распаковать, например, в каталог:

  • D:\tools\apache-jmeter-5.0\

Перед запуском можно проверить целостность скачанного архива, а также установить java нужной версии.

Назначение каталогов и файлов:

  • bin — исполняемые файлы Apache.JMeter
    • ApacheJMeter.jar — java-сборка Apache.JMeter
    • heapdump.cmd, heapdump.sh
    • jmeter.bat, jmeter.sh, jmeter
    • jmeter-n.cmd
  • docs — документация
  • extras — дополнительные скрипты и утилиты
  • lib — библиотеки
  • licenses — лицензии
  • printable_docs — документация
  • LICENSE — лицензия Apache 2.0 на Apache.JMeter (перевод, описание)
  • NOTICE — примечание
  • README.md — описание, требования, инструкция по установке и сборке

1.1. Проверка целостности скачанного архива (опционально)

Удобно использовать консоль git-клиента в Windows, так как по умолчанию в MinGW есть утилита gpg для проверки корректности подписи

  1. Проверить pgp-подпись с помощью утилиты gpg.
  2. Если RSA ключ не был найден, то
    1. скачать указанный ключ с сервера pgpkeys.mit.edu с помощью утилиты gpg.
    2. проверить pgp-подпись с помощью утилиты gpg снова.

Если подпись корректна, то будет видна строчка «Good signature».

1.2. Установка Java

Выдержка из файла README.md гласит, что нужна Java 8:

The following requirements exist for running Apache JMeter:

A fully compliant Java 8 Runtime Environment is required for Apache JMeter to execute. A JDK with keytool utility is better suited for Recording HTTPS websites. Java 9 is not yet supported as of version 3.3.

И рекомендуется установить JDK, а не просто JRE.

Утилита keytool нужна, чтобы Apache.JMeter мог перехватывать и расшифровывать трафик по протоколу HTTPS, работая в режиме прокси.

Рекомендация, что нужно именно JDK сомнительная, так как в JRE тоже есть утилита keytool:

Считаю, что требование JDK для работы keytool — ошибка Apache.JMeter, которая уже исправлена, но в документации ещё не отражена:

Java (JRE) скачивается с сайта:

Java (JDK), Java SE Development Kit 8, скачивается с сайта:

На текущий момент, актуальная версия 8 Update 192.

2. Запуск

2.1. Первый запуск JMeter в Windows 7

Для запуска JMeter в графическом режиме используются скрипты:

  • bin
    • jmeter.bat — для Windows
    • jmeter.sh — для Linux

После первого запуска Apache.JMeter GUI в Windows 7 вероятно вы увидите предупреждение и затем ошибку:

На самом деле всё в порядке. По какой-то причине каталог C:\Windows\system32\ в Windows 7 — Windows 10 пропал из переменной окружения PATH . Всегда там был и с одним из обновлений пропал, или какая-то неумелая программа его удалила оттуда.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Установка jlr sdd 139 на windows 10
  • Установка jbpm в windows
  • Установка java на windows 10 64 bit
  • Установка java на windows 7 x64
  • Установка java jdk на windows 7