К основному содержимому
performance⁠-⁠testing.ru

Инструменты

Сравнимые поля вместо прозы. Язык, лицензия и активность взяты из репозиториев на дату сверки, а не из чужих обзоров.

Сравнение генераторов нагрузки
ИнструментЯзыкСценарииЛицензияПротоколыСтатус
Apache JMeterApache Software FoundationJavaGUI и XML-план, скрипты на Groovy через JSR223Apache-2.0HTTPБДОчереди развивается
ArtilleryArtillery SoftwareJavaScriptYAML для сценария, JavaScript для расширенийMPL-2.0HTTPWebSocket развивается
GatlingGatling CorpScalaDSL на Scala, Java или KotlinApache-2.0HTTPWebSocketОчереди развивается
k6Grafana LabsGoJavaScript и TypeScriptAGPL-3.0HTTPgRPCWebSocketБраузер развивается
LocustPythonPython — сценарий это обычный класс с методамиMITHTTP развивается
PandoraЯндексGoКонфигурация в YAML, произвольные сценарии — своими «пушками» на GoMPL-2.0HTTPgRPC развивается
VegetaGoСписок целей текстом, либо подключение как библиотеки на GoMITHTTP развивается
wrkCАргументы командной строки, скрипты на Lua для нестандартных случаевModified Apache 2.0 LicenseHTTP только поддержка
Yandex.TankЯндексPythonКонфигурация в YAML, сценарии готовит подключённый генераторApache-2.0HTTP развивается

Apache JMeter

Старейший из живых открытых генераторов нагрузки. Работает и через графический интерфейс, и в консоли, план теста хранится в XML. Помимо HTTP умеет ходить в базы через JDBC и в очереди через JMS, остальное добирается плагинами через Plugins Manager.

Сайт проектаРепозиторий: язык, лицензия, активность

сверено 2026-08-07

Artillery

Сценарий описывается в YAML, а логика доносится вставками на JavaScript. Порог входа ниже, чем у инструментов с полноценным кодом: простой тест пишется без единой строчки программы. Обратная сторона та же, что у любого YAML-сценария — когда логики становится много, конфиг перестаёт читаться.

Сайт проектаРепозиторий: JavaScript, MPL-2.0, коммиты свежие на 2026-08

сверено 2026-08-07

Gatling

Написан на Scala, сценарии описываются кодом на Scala, Java или Kotlin. Асинхронный движок позволяет держать много виртуальных пользователей на одной машине. У открытой версии есть коммерческое продолжение — Gatling Enterprise.

Сайт проектаРепозиторий: язык, лицензия, активность

сверено 2026-08-07

k6

Движок на Go, сценарии на JavaScript. Задуман под CI: пороги описываются прямо в сценарии и превращаются в код возврата, поэтому тест падает сам, без разбора отчёта глазами. Умеет HTTP, gRPC, WebSocket и браузерные сценарии.

Сайт проектаРепозиторий: язык, лицензия AGPL-3.0, активность

сверено 2026-08-07

Locust

Сценарий пишется на Python как обычный код, без DSL и без XML. За счёт этого расширяется под любой протокол: если из Python к системе можно обратиться, Locust её нагрузит. Есть веб-интерфейс с живыми графиками по ходу теста. Распределённый запуск устроен как один управляющий процесс и произвольное число рабочих.

Сайт проектаРепозиторий: Python, MIT, 28 тыс. звёзд, коммиты свежие на 2026-08

сверено 2026-08-07

Pandora

Генератор на Go, рассчитанный на высокий RPS с одной машины. Обычно работает как движок под управлением Yandex.Tank, но запускается и отдельно. Нестандартный протокол добавляется собственной «пушкой», написанной на Go и собранной в бинарник.

Репозиторий: язык, активностьЛицензия MPL-2.0

сверено 2026-08-07

Vegeta

Задаёт нагрузку темпом запросов, а не числом воркеров, и это его главное отличие от инструментов вроде wrk. Открытая модель здесь поведение по умолчанию, поэтому очередь неотвеченных запросов растёт честно, а не маскируется замедлением генератора. Работает как утилита в конвейере: одна команда стреляет, вторая строит отчёт, третья рисует график. Подключается и как библиотека на Go.

Репозиторий: Go, MIT, 25 тыс. звёзд, коммиты на 2026-02

сверено 2026-08-07

wrk

Самый популярный генератор нагрузки на GitHub: 40 тысяч звёзд, больше чем у k6, JMeter и Gatling вместе. И при этом последний коммит был 30 декабря 2023 года. Делает ровно одно и делает быстро: обстреливает HTTP-эндпоинт с одной машины, используя многопоточность и epoll. Сценариев в привычном смысле нет, нестандартная логика дописывается на Lua. Хорош для замера потолка одного эндпоинта, бесполезен для пользовательских сценариев.

Репозиторий: C, 40 тыс. звёзд, последний коммит 2023-12-30, не архивированЛицензия: Modified Apache 2.0 License, версия 2.0.1

сверено 2026-08-07

Yandex.Tank

Не генератор, а обвязка над генераторами: запускает Phantom, Pandora, JMeter или Gatling, собирает метрики, снимает показатели с целевой машины и складывает отчёт. Ценность в оркестрации прогона, а не в скорости обстрела.

Репозиторий: язык, активность, отсутствие пометки о прекращении поддержкиЛицензия Apache-2.0

сверено 2026-08-07