Как запустить jmeter на windows

Содержание

  1. Установка Apache.JMeter
    1. Проверка целостности скачанного архива
  2. Запуск
  3. Плагины
  4. Настройка

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

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

(https://loadtestweb.wordpress.com/2018/11/16/jmeter-maven-plugin/)

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:

  • https://archive.apache.org/dist/jmeter/binaries/
    • apache-jmeter-5.0.zip

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

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

apache.jmeter.install.result

Установка завершена.

Перед запуском можно проверить целостность скачанного архива, а также установить 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 для проверки корректности подписи

apache.jmeter.gpg.check

Порядок проверки:

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

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

user@host MINGW64 /d/Distrib/Development/Apache.JMeter $ 
gpg --verify apache-jmeter-3.2.zip.asc apache-jmeter-3.2.zip
gpg: Signature made 9 апр 2017 г. 18:08:59 RTZ using RSA key ID 0612B399
gpg: Can't check signature: public key not found

user@host MINGW64 /d/Distrib/Development/Apache.JMeter $
gpg --keyserver pgpkeys.mit.edu --recv-key 0612B399
gpg: requesting key 0612B399 from hkp server pgpkeys.mit.edu
gpg: key 0612B399: public key "Milamber (ASF) <milamber@apache.org>" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)

user@host MINGW64 /d/Distrib/Development/Apache.JMeter $
gpg --verify apache-jmeter-3.2.zip.asc apache-jmeter-3.2.zip
gpg: Signature made 9 апр 2017 г. 18:08:59 RTZ using RSA key ID 0612B399
gpg: Good signature from "Milamber (ASF) <milamber@apache.org>"
gpg: aka "Milamber (Milamberspace) <milamberspace@gmail.com>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: C492 3F9A BFB2 F1A0 6F08 E88B AC21 4CAA 0612 B399

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

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

## Requirements

The following requirements exist for running Apache JMeter:

* Java Interpreter:

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:

  • C:\Program Files\Java\jre1.8.0_192\bin\keytool.exe

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

  • https://bz.apache.org/bugzilla/show_bug.cgi?id=61026

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

  • https://java.com/ru/download/manual.jsp
  • http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

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

  • http://www.oracle.com/technetwork/java/javase/downloads/2133151
  • http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

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

2. Запуск

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

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

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

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

jmeter.launch.warning

jmeter.launch.error

"findstr" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Not able to find Java executable or version. Please check your Java installation.
errorlevel=2
Для продолжения нажмите любую клавишу . . .

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

Чтобы C:\Windows\system32\ вернуть в PATH, можно модифицировать файл jmeter.bat добавив в него строку:

set PATH=C:\Windows\System32;%PATH%

jmeter.launch.fix

Или можно отредактировать значение переменной PATH для всей операционной системы, тогда починится не только скрипт jmeter.bat.

jmeter.launch.ok

Теперь скрипт jmeter.bat работает корректно и Apache.JMeter запускается.

2.2. Запуск JMeter в консольном режиме

2.3. Полезный командный файл для открытия теста

3. Плагины

3.1. Установка плагинов в Apache.JMeter

3.2. Часто используемые плагины

3.3. Дополнительные полезные плагины

4. Настройка

4.1. Настройка объёма оперативной памяти для java

4.2. Настройка кодировки по умолчанию для java

4.3. Настройки Apache.JMeter

4.4. Настройки логирования Apache.JMeter

Время на прочтение
6 мин

Количество просмотров 145K

imageСегодня я хочу рассказать о замечательном инструменте, название которого вынесено в заголовок статьи. Разумеется, моей целью не является написание подробного руководства по Apache JMeter. В своей статье я хочу лишь зафиксировать ряд, на мой взгляд, не очевидных моментов, с которыми мне пришлось столкнуться в своей повседневной работе. Я надеюсь, что моя статья будет полезна (сразу предупреждаю, картинок будет много). 

Конечно, я не первый, кто пишет про JMeter на Хабре, но практически во всех предыдущих статьях, акцент делается на нагрузочное тестирование. Хотя это и основное применение JMeter, но только им его возможности не ограничиваются. Давайте, просто посмотрим, по каким протоколам может работать этот продукт:

  • Web — HTTP, HTTPS
  • SOAP / REST
  • FTP
  • Database via JDBC
  • LDAP
  • Message-oriented middleware (MOM) via JMS
  • Mail — SMTP(S), POP3(S) and IMAP(S)
  • MongoDB (NoSQL)
  • Native commands or shell scripts
  • TCP

Таким образом, если перед вами стоит какая-то задача автоматизации и всё, что вам требуется, перечислено в этом списке, определённо стоит подумать об использовании JMeter, перед тем как с головой погрузиться в программирование на любимом Perl, Python или Java. Возможно, такой подход позволит сэкономить очень много времени.

Установка

С этим всё просто:

  1. Устанавливаем Java (если она еще не установлена)
  2. Выкачиваем и распаковываем свежую сборку JMeter
  3. Устанавливаем переменную среды JMETER_BIN на каталог с исполняемыми файлами JMeter (только для Windows)
  4. Запускаем jmeter.bat или jmeter.sh (в зависимости от операционной системы) из каталога bin

Единственная проблема, с которой я столкнулся на Windows, связана с тем, что значение переменной JMETER_BIN должно завершаться символом прямого или обратного слэша. Подробности можно посмотреть в запускаемом скрипте. Чтение инструкции также не будет лишним.

Запись скрипта

Это, пожалуй, самая эффектная возможность JMeter. Она уже описывалась ранее, но я повторюсь, поскольку в той статье речь шла об уже немного устаревшей версии. JMeter можно запустить в режиме proxy, таким образом, чтобы весь HTTP-трафик проходил через него. Все подробности взаимодействия будут автоматически записываться в выбранную Thread Group или Recording Controller. Для добавления новых узлов в дерево, просто нажимаем на правую кнопку мыши и выбираем требуемый тип из выпадающего меню:

Thread Group, управляющая такими настройками как количество потоков, используемых для тестирования и количество запросов в тесте, находится в категории Treads (Users), а сам HTTP(S) Test Script Recorder в Non-Test Elements.

Я выделил на рисунке настройки, на которые следует обратить внимание. Порт возможно придётся изменить, если на 8080 уже что-то поднято. В сложных случаях, в Test Plan придётся добавить HTTP Cookie Manager и HTTP Authorization Manager. После нажатия кнопки Start, идём в настройки любимого браузера:

Взаимодействие с Яндекс, внезапно, оказывается очень непростым:

Полученные запросы (HTTP Request) вместе с их настройками (HTTP Header Manager) можно перенести в любое место скрипта, используя любимые всеми команды Copy&Paste (Drag&Drop тоже работает). Даже если вы твердо уверены в том, что происходит на вашем сайте, Script Recorder может быть очень полезен, для того чтобы узнать подробности. Кроме того, автоматическая генерация скриптов куда веселее чем вбивание их руками. Более подробно процесс записи скриптов описан в этой инструкции.

Переменные

Для чего-то мало-мальски серьёзного, нам потребуется возможность параметризации. Для примера, предположим, что нам требуется задать таймауты, в течение которых JMeter будет ожидать ответа сервера. Вбивать их заново в каждый HTTP Request, при любом изменении, было бы слишком утомительно. Заодно определим настройки HTTP Proxy (если он используется):

В поле Password забито значение ${user_pass}, тут уж вам придётся поверить мне на слово. Сами настройки удобно держать в User Defined Variables (этот элемент можно найти в категории Config Element):

Пустые значения переменных проблемой не являются. В соответствующие настройки будут подставлены пустые строки, как того и требуется, в случае если HTTP Proxy не используется. Можно пойти ещё дальше и действительно разместить все HTTP-настройки в одном месте:

Элемент HTTP Request Defaults, также как и User Defined Variables расположен в категории Config Element.

Отладка

Теперь, было бы неплохо видеть, что происходит при выполнении сценария. Различного вида визуализаторы размещаются в категории Listener. Нам понадобится View Results Tree. Добавим его и запустим сценарий на выполнение командой Run/Start (Ctrl+R). Можно видеть, что ответ сервера также бывает непростым:

Такая картина наблюдается, если адрес редиректит нас на другую страницу и с этим может быть связана одна проблема. Если мы попытаемся анализировать ответ сервера (как это делать я покажу ниже), нам будет доступен лишь последний ответ (той страницы на которую произошёл redirect). Если ответ с предыдущей страницы нам также интересен, автоматический redirect придётся отключить. За это отвечает настройка Follow Redirects элемента HTTP Request. Разобрав ответ, мы сможем получить адрес целевой страницы и выполнить повторный запрос вручную.

Есть ещё один элемент, крайне полезный для отладки сценариев. Он находится в категории Sampler и называется Debug Sampler. Каждый раз, когда до него доходит управление, он выводит текущие значения всех переменных. Добавим его в Thread Group и запустим сценарий ещё раз (для того, чтобы очистить вывод предыдущего запуска, удобно использовать комбинацию клавиш Ctrl+E):

Все переменные как на ладони. Удобно.

JDBC Request

Этот Sampler открывает нам доступ в любую базу данных, поддерживающую протокол JDBC. Для начала, добавим в Test Plan конфигурационный элемент с настройками подключения к серверу БД (JDBC Connection Configuration):

Помимо собственно настроек подключения к БД, здесь важно заполнить поле Variable Name. Это имя будет использоваться в JDBC Request (Sampler) для доступа к пулу сессий:

Если вам интересны результаты select-а, придётся заполнить Variable Names. Сам JMeter парсить SQL-запросы на предмет имён столбцов не умеет. Можно перечислять имена столбцов через запятую и пропускать столбцы, не давая им имени. Вставляем Debug Sampler и смотрим, что получилось:

Видим, что документация не врёт. Появились переменные urls_1 и urls_2 (количество строк, как и обещали, в urls_#). В этом месте, стоит соблюдать осторожность. Записи выбираются не по одной, а все сразу и прочитав >1000 строк можно легко отожрать слишком много памяти. Теперь, было бы неплохо обойти полученные адреса в цикле:

Да, именно вот так заковыристо. Набор переменных urls перебираем от 0 до ${urls_#} и текущее значение помещаем в url. Сам ForEach Controller можно найти в категории Logic Controller. Внутри него создадим параметризованный HTTP Request. Запускаем, смотрим:

Всё работает.

Регулярные выражения

Теперь, результаты обращений к Web-серверам хотелось бы проанализировать. Для этого, нам предоставлена вся мощь регулярных выражений. Regular Expression Extractor можно найти в Post Processors. Добавим его в HTTP Request и сконфигурируем:

Здесь, нас интересует только код ответа по HTTP (но, по иллюстрации видно, что можно обрабатывать и содержимое ответа). Будем извлекать цепочку цифр (Regular Expression) и помещать результат применения шаблона (Template) в переменную http_result (Reference Name):

Как и ожидалось, получаем 200. Заодно, можно видеть, каким образом осуществляется захват в переменные регулярным выражением.

Что-то там внутри

Теперь, допустим, что нас интересует время, в течение которого выполнялся HTTP-запрос. И интересует оно нас не просто для статистики, а мы его хотим как-то использовать в сценарии (например сложить в БД). С этой задачей поможет справиться BeanShell. Конкретно, мы используем его Pre — и PostProcessor-ы.

В первом будем получать timestamp:

Long t = ctx.getPreviousResult().currentTimeInMillis();
vars.put("timestamp", t.toString());

А во втором, получать с его помощью временную задержку:

Long d = ctx.getPreviousResult().currentTimeInMillis() - Long.parseLong(vars.get("timestamp"));
vars.put("delay", d.toString());

В общем, это тоже работает:

Но здесь следует сделать важное замечание. Поскольку, в настоящий момент, я занимаюсь не нагрузочным тестированием, производительность этой конструкции для меня не очень важна. Если в вашем случае это не так, стоит ознакомиться со следующей статьёй.

Запуск

Если бы не было этой возможности, не стоило бы и весь этот разговор заводить. В случае нагрузочного тестирования, сценарий можно запускать из GUI, нет проблем. Но если нас интересует автоматизация, необходимо уметь запускать его молча (например по cron-у). Разумеется такая возможность тоже есть:

./jmeter.sh -n -t test.jmx -l test.log

Сохраняем сценарий в файл с расширением jmx (внутри это XML) и запускаем эту команду. Сценарий отрабатывает без запуска GUI и заодно пишет результаты своей работы в лог. Всё просто и удобно.

The Apache JMeter™ application is open-source software, a 100% pure Java application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions. It can be used to simulate a heavy load on a server, group of servers, network, or object to test its strength or to analyze overall performance under different load types. In this article, we will see how to install Apache Jmeter on Windows. Here we will use windows10 and the process is similar for other versions of windows. JMeter is a purely Java-based application, so it is mandatory to have Java 8 or a higher version of java to work with JMeter.

Note: To install Apache JMeter on Linux refer to this article How to Install Apache JMeter on Linux?

Step by Step Implementation

Step 1. Checking Version of Java

If Java is already installed in your system, type the following command in the console to check the version of java

 java -version

If Java is not present in your system refer to this article and follow the steps to install Java and then continue with Jmeter installation steps. You can see the version of Java as follows. If your Java version is greater than 8 as shown then you can proceed to the next step.

 Checking Version of Java

Step 2. Download the latest version of JMeter

To download the latest version of Jmeter visit the Apache JMeter Website. We can see two different files in the Binaries section download the “apache-jmeter-5.4.3.zip” file as shown in the following image.

Download the latest version of JMeter

Step 3. Installing JMeter

After downloading the zip file extract the elements of the zip file to the folder of your choice. Then open the folder you can see the following list of files.

Installing JMeter

Step 4. Launch JMeter

Now to open the Jmeter in GUI mode open the bin folder and search for the jmeter.bat which is a windows batch file as shown in the image and click on the file.

Launch JMeter

You can see a new window of Jmeter is opened as follows.

Everything is set and now you can start working in the JMeter application and every time to launch JMeter follow Step 4.

Last Updated :
15 Mar, 2022

Like Article

Save Article

JMeter isn’t particularly hard to install. But that’s easy to say when you’ve done it many times.

Basically if you want to get started with JMeter on Windows. That’s great because this guide is for you! Let’s see how to install JMeter on Windows.

Install Java

Check Java Version

JMeter is a Java program: the Java Virtual Machine must be installed prior to installing JMeter.

To check if Java is installed properly:

  • Open a Command-Line console by clicking on the start menu then type cmd,
  • Enter the command: java -version.

Java Version

Checking Installed Java Version

It should display something like:

1
2
3
java version "1.8.0_144"
Java(TM) SE Runtime Environment <build 1.8.0_144-b01>
Java HotSpot(TM) Client VM <build 25.144-b01, mixed mode, sharing>

Java Setup

If it’s not the case (like showing java command not found, then Java must be installed.

Install Java

Java Installation Website

To install Java:

  • Open the Open JDK in your browser,
  • Download the appropriate executable setup file,
  • Run the executable setup file,
  • And follow instructions.

Once Java is installed, make sure the java -version command works properly.

JMeter Setup

Now that Java is installed, we’re going to install JMeter:

Unzip Archive

  • First, Download JMeter: prefer ZIP archive format,
  • Using the Explorer, Open the folder,
  • Right-click on JMeter’s ZIP archive and select Extract to apache-jmeter-xx\.

Extract JMeter Archive

Extract JMeter Archive

JMeter Directories

JMeter Root Files

JMeter Root Files

Great! Now we have successfully downloaded and unzipped JMeter. You should see the following files within the apache-jmeter-XX folder:

  • backups: contains the backups of JMX files (also known as JMeter projects) you edited within JMeter,
  • bin: contains the executable files to launch JMeter, and configuration files to tweak JMeter settings,
  • docs: JMeter’s documentation in HTML format,
  • extras: some useful side tools like excel sheets to compute graphs from JTL result files,
  • lib: JMeter’s libraries which are mostly Java JAR files,
  • printable_docs: documentation in printable format.

It’s now time to see how to launch JMeter.

Run JMeter

The screenshot below shows what JMeter’s bin/ folder contains. It’s a bunch of configuration and executable files.

JMeter Bin Folder

JMeter bin/ folder

to run JMeter:

  • Browse to bin/ folder by double-clicking on it,
  • double-click on jmeter.bat to run it,
  • It should open both a command-line terminal and JMeter’s UI.

JMeter UI

Congratulations! JMeter is installed and running.

The screenshot above shows JMeter 4.0 graphical interface with the new dark theme. As said before, it wasn’t difficult at all, but sometimes it’s always pleasant to have someone help you to install and run JMeter.

Upgrading JMeter

When a new JMeter version is available, the new JMeter version must be installed in a fresh new folder.

Please do not unzip a new JMeter version over a previous one.

Simply repeat the steps above to install a new version.

Removing JMeter

Simply delete the apache-jmeter-XX folder and you’re done. Yes, it’s that simple!

Всем привет!

Apache JMeter — инструмент для проведения нагрузочного тестирования, разрабатываемый Apache Software Foundation.

В данной заметке я хочу расписать по шагам процедуру запуска Apache JMeter первый раз на операционной системе Windows 8.1.

1. Устанавливаем JAVA. Загружаем последнюю версию с сайта, устанавливаем. Установочная папка в моем случае — «C:\Program Files (x86)\Java«.

2. Устанавливаем Apache JMeter. Из раздела «Binaries» скачиваем zip-архив. Распаковываем содержимое в какую-либо папку. В моей случае — «E:\Soft\jmeter«

3. Добавляем 3 переменных окружения.

  1. Перетащить курсор мыши в правый нижний угол экрана
  2. Щелкнуть на значке «Поиск» и введите: панель управления
  3. Выбрать Control Panel (Панель управления) -> System (Система)-> Advanced (Дополнительные параметры системы)
  4. Выбрать Environment Variables (Переменные среды).
  5. В разделе «Системные переменные» нажать кнопку «Создать».
  6. Добавить переменную со значениями: 
    1. Имя переменной — «JMETER_BIN«, 
    2. Значение переменной — «E:\Soft\apache-jmeter-2.11\bin» (в моем случае). Ок.
  7. Аналогично п. 5-6 добавить переменную среды:
    1. Имя переменной — «JM_LAUNCH«
    2. Значение переменной  — «C:\Program Files (x86)\Java\jre7\bin\java.exe«
  8. Найти в разделе «Системные переменные» переменную среды «Path«, нажать кнопку «Изменить». В поле «Значение переменной» через знак «;» добавить еще одно значение «C:\Program Files (x86)\Java\jre7\bin«. ОК.
  9. Нажать «ОК» в окне «Переменные среды».

4. Запускаем файл «E:\Soft\apache-jmeter-2.11\bin\jmeter.bat«.

  • Как запустить ios приложение на windows 10
  • Как запустить gcc на windows
  • Как запустить ex machina на windows 10
  • Как запустить ini файл на windows 10
  • Как запустить freelancer на windows 10 64 bit