Альтернатива JMeter: когда онлайн-сервис удобнее, а когда нет

Apache JMeter — проверенный бесплатный инструмент для нагрузочного тестирования. Разберём, в каких задачах он незаменим, а когда быстрее проверить сайт онлайн.

Проверить можно только свой сайт или сайт, владелец которого дал согласие.

Что такое JMeter и в чём его сильные стороны?

Apache JMeter — инструмент для нагрузочного тестирования с открытым кодом, который развивает фонд Apache. Он написан на Java и работает на любой системе, где есть Java. За годы развития у него сложилось большое сообщество, много документации и статей на русском языке.

  • Бесплатный — распространяется под лицензией Apache 2.0.
  • Гибкие сценарии. В графическом интерфейсе можно собрать почти любой сценарий: авторизацию, оформление заказа, цепочки запросов с передачей данных из одного ответа в другой.
  • Много протоколов. Кроме сайтов и программных интерфейсов (API) по HTTP — базы данных через JDBC, очереди сообщений JMS, FTP, LDAP, почтовые протоколы и другие.
  • Расширения. Недостающие возможности добавляют плагинами.
  • Распределённый режим. Для большой нагрузки тест запускают сразу на нескольких машинах.
  • Отчёты. По результатам можно собрать HTML-отчёт с графиками.

Если вам нужно проверить сложный сценарий, внутреннюю систему или что-то кроме сайта, JMeter — сильный и проверенный выбор.

Почему проверка сайта в JMeter занимает много времени?

Гибкость JMeter требует работы инженера. Для проверки обычного сайта нужно:

  1. Собрать сценарий: выбрать страницы, задать доли просмотров, паузы между действиями, загрузку стилей, скриптов и картинок.
  2. Подготовить генератор нагрузки. С ноутбука заметную нагрузку не подать — упрётесь в домашний канал и процессор. Нужен отдельный сервер, а для большой нагрузки — несколько.
  3. Запустить тест правильно. Для нагрузки JMeter запускают без графического интерфейса, из командной строки, — интерфейс нужен только для сборки сценария.
  4. Разобраться в результатах: найти, где начался рост времени ответа, какие страницы сдались первыми, и перевести это в понятный вывод.

Для специалиста, который уже знает JMeter, это работа на несколько часов. Для владельца сайта без инженера — скорее повод заказать подрядчика.

Чем LoadSure отличается от JMeter?

JMeterLoadSure
СценарийСобирается вручную, любой сложностиСобирается сам по страницам сайта, можно поправить
Что можно проверитьСайты, API, базы данных, очереди и другоеТолько просмотр страниц сайта со стилями, скриптами и картинками
Генератор нагрузкиСвои серверыСерверы сервиса
Предел нагрузкиЗависит от ваших серверовОграничен тарифом
РезультатГрафики и таблицы, вывод делает инженерВывод простыми словами и список рекомендаций, графики — для специалистов
Автоматическая остановкаНастраивается вручнуюВключена всегда
Подтверждение прав на сайтНе требуется — ответственность на том, кто запускаетОбязательно перед каждым запуском
СтоимостьБесплатно, плюс время инженера и серверы[ВСТАВИТЬ: цены или «бесплатно во время беты»]

Когда выбрать JMeter, а когда — онлайн-проверку?

JMeter подойдёт лучше, если нужно нагрузить оформление заказа, личный кабинет, обмен данными с 1С или CRM, отдельные методы API, базу данных напрямую; если нагрузка нужна больше, чем дают тарифы онлайн-сервисов; если в команде есть инженер, который будет поддерживать сценарии.

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

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

Кому ближе сценарии в коде, а не в графическом интерфейсе, посмотрите сравнение с k6. Пошаговый план теста любым инструментом — в статье как провести нагрузочное тестирование.

Что важно в любом инструменте?

Тестировать можно только свои сайты и системы или системы, владелец которых дал согласие. Нагрузку повышайте постепенно, запускайте тест в часы минимального трафика и заранее решите, при каких показателях его остановить. Это одинаково важно и в JMeter, и в онлайн-сервисе.

Частые вопросы

Бесплатен ли JMeter?

Да. Apache JMeter — проект с открытым кодом под лицензией Apache 2.0. Платить приходится за время инженера и серверы, с которых подаётся нагрузка.

Можно ли перенести сценарий JMeter в LoadSure?

Нет, импорт сценариев JMeter не поддерживается. LoadSure собирает сценарий сам по страницам сайта, его можно поправить и дополнить своими адресами.

Что выбрать для интернет-магазина?

Если нужно понять, выдержит ли магазин распродажу на страницах каталога, карточек и поиска, хватит онлайн-проверки. Если нужно нагрузить оформление заказа, личный кабинет или обмен с 1С, понадобится JMeter или подрядчик.

Нужен ли отдельный сервер для JMeter?

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

Ещё по теме