Java-приложение с открытым исходным кодом, предназначенное для измерения производительности и нагрузочного тестирования приложений.
Фонд программного обеспечения Apache
Apache JMeter может измерять производительность и тестировать статические и динамические веб-приложения.
Его можно использовать для моделирования большой нагрузки на сервер, группу серверов, сеть или объект для проверки его прочности или для анализа общей производительности при различных типах нагрузки.
Полная мобильность и 100% Java.
Многопоточность позволяет выполнять одновременную выборку многими потоками и одновременную выборку различных функций отдельными группами потоков.
Возможность загружать и тестировать производительность многих типов приложений/серверов/протоколов:
Полнофункциональная среда разработки тестов, которая позволяет быстро записывать план тестирования (из браузеров или собственных приложений), создавать и отлаживать файлы .
Режим командной строки (без графического интерфейса / безголовый режим) для загрузки теста из любой Java-совместимой ОС (Linux, Windows, Mac OSX,...)
Полный и готовый к представлению динамический HTML-отчет.
Оперативная отчетность в сторонние базы данных, такие как InfluxDB или Graphite.
Простая корреляция благодаря возможности извлекать данные из наиболее популярных форматов ответов, HTML, JSON, XML или любого текстового формата.
Подробную информацию о последней версии можно найти на веб-сайте проекта JMeter Apache Project.
Для запуска Apache JMeter существуют следующие требования:
Java-интерпретатор:
Для работы Apache JMeter требуется полностью совместимая среда выполнения Java 17. JDK с утилитой keytool
лучше подходит для записи веб-сайтов HTTPS.
Дополнительные баночки:
Некоторые банки не включены в JMeter. При необходимости их следует загрузить и поместить в каталог lib.
Java-компилятор ( НЕОБЯЗАТЕЛЬНО ):
Компилятор Java не требуется, поскольку в дистрибутив входит предварительно скомпилированный двоичный архив Java.
Обратите внимание , что для создания плагинов для Apache JMeter требуется компилятор.
Обратите внимание , что пробелы в именах каталогов могут вызвать проблемы.
Выпуск сборок
Распакуйте двоичный архив в подходящую структуру каталогов.
bin
jmeter
(Un*x) или jmeter.bat
(Windows).Для Windows есть и другие сценарии, на которые можно перетащить файл JMX:
jmeter-n.cmd
— запускает файл как тест без графического интерфейса.jmeter-nr.cmd
— запускает файл как удаленный тест (клиент-сервер) без графического интерфейса.jmeter-t.cmd
— загружает файл, готовый запустить его в качестве теста графического интерфейса. Документация, доступная на момент выпуска этого выпуска, также включена в формате HTML в каталог printable_docs, и ее можно просматривать, начиная с файла index.html.
См. Отслеживание проблем.
Распакуйте исходный архив в подходящую структуру каталогов. Большинство файлов сторонних библиотек можно извлечь из двоичного архива, распаковав его в ту же структуру каталогов.
Любые дополнительные jar-файлы (см. выше) следует размещать в lib/opt
и/или lib
.
Файлы jar в lib/opt
будут использоваться для сборки JMeter и запуска модульных тестов, но не будут использоваться во время выполнения.
Это полезно для тестирования того, что произойдет, если дополнительные файлы jar не будут загружены другими пользователями JMeter.
Если вы используете прокси, вы можете установить несколько свойств сборки в ~/.gradle/gradle.properties
, чтобы Gradle использовал прокси:
systemProp.http.proxyHost =proxy.example.invalid
systemProp.http.proxyPort =8080
systemProp.http.proxyUser =your_user_name
systemProp.http.proxyPassword =your_password
systemProp.https.proxyHost =proxy.example.invalid
systemProp.https.proxyPort =8080
systemProp.https.proxyUser =your_user_name
systemProp.https.proxyPassword =your_password
JMeter создан с использованием Gradle и использует цепочки инструментов Gradle для проектов JVM для подготовки JDK. Это означает, что код будет искать необходимые JDK локально или загружать их, если они не найдены.
По умолчанию код будет использовать JDK 17 для целей сборки, однако целевой выпуск будет установлен на 8, поэтому полученные артефакты будут совместимы с Java 8.
Следующая команда собирает и тестирует JMeter:
./gradlew build
Если вы хотите использовать собственный JDK для сборки, вы можете установить -PjdkBuildVersion=11
и выбрать -PjdkTestVersion=21
если хотите использовать другой JDK для тестирования.
Вы можете просмотреть доступные параметры сборки, выполнив
./gradlew parameters
Если в системе нет графического интерфейса, то:
./gradlew build -Djava.awt.headless=true
Выходные артефакты (файлы jar, отчеты) помещаются в папку build
. Например, двоичные артефакты можно найти в src/dist/build/distributions
.
Следующая команда скомпилирует приложение и позволит вам запустить jmeter
из каталога bin
.
Обратите внимание , что он полностью обновляет содержимое
lib/
, поэтому пользовательские плагины будут удалены, если они установлены вlib/
. Однако это сохранитlib/ext/
plugins нетронутыми.
./gradlew createDist
В качестве альтернативы вы можете заставить Gradle запустить графический интерфейс:
./gradlew runGui
Создание и участие подробно объяснено на страницах создания JMeter и CONTRIBUTING.md. Дополнительную информацию о задачах, доступных для сборки JMeter с помощью Gradle, можно найти на сайте gradle.md.
Код можно получить:
Юридическую информацию и информацию о лицензировании можно найти в следующих файлах:
Этот дистрибутив может включать программное обеспечение, разработанное для использования с криптографическим программным обеспечением. Страна, в которой вы в настоящее время проживаете, может иметь ограничения на импорт, владение, использование и/или реэкспорт в другую страну программного обеспечения для шифрования. ПЕРЕД использованием любого программного обеспечения для шифрования, пожалуйста, ознакомьтесь с законами, правилами и политиками вашей страны, касающимися импорта, владения или использования и реэкспорта программного обеспечения для шифрования, чтобы узнать, разрешено ли это. См. https://www.wassenaar.org/ для получения дополнительной информации.
Министерство торговли США, Бюро промышленности и безопасности (BIS), классифицировало это программное обеспечение как контрольный номер экспортного товара (ECCN) 5D002.C.1, что включает в себя программное обеспечение информационной безопасности, использующее или выполняющее криптографические функции с асимметричными алгоритмами. Форма и способ распространения этого дистрибутива Apache Software Foundation позволяют экспортировать его в соответствии с исключением License Exception ENC Technology Software Unrestricted (TSU) (см. Правила администрирования экспорта BIS, раздел 740.13) как для объектного, так и для исходного кода.
Ниже представлена более подробная информация о включенном программном обеспечении, на которое может распространяться экспортный контроль криптографического программного обеспечения:
Apache JMeter взаимодействует с API Java Secure Socket Extension (JSSE) для обеспечения
Интерфейсы Apache JMeter (через Apache HttpClient4) с API расширения криптографии Java (JCE) для предоставления
Apache JMeter не включает в себя какую-либо реализацию JSSE или JCE.
Благодарим вас за использование Apache JMeter.
Примечание для mxparser:
Этот продукт включает программное обеспечение, разработанное Университетом Индианы Extreme! Лаб. Для получения дополнительной информации посетите http://www.extreme.indiana.edu/.