Альтернатива JMeter: когда онлайн-сервис удобнее, а когда нет
Apache JMeter — проверенный бесплатный инструмент для нагрузочного тестирования. Разберём, в каких задачах он незаменим, а когда быстрее проверить сайт онлайн.
Проверить можно только свой сайт или сайт, владелец которого дал согласие.
Что такое JMeter и в чём его сильные стороны?
Apache JMeter — инструмент для нагрузочного тестирования с открытым кодом, который развивает фонд Apache. Он написан на Java и работает на любой системе, где есть Java. За годы развития у него сложилось большое сообщество, много документации и статей на русском языке.
- Бесплатный — распространяется под лицензией Apache 2.0.
- Гибкие сценарии. В графическом интерфейсе можно собрать почти любой сценарий: авторизацию, оформление заказа, цепочки запросов с передачей данных из одного ответа в другой.
- Много протоколов. Кроме сайтов и программных интерфейсов (API) по HTTP — базы данных через JDBC, очереди сообщений JMS, FTP, LDAP, почтовые протоколы и другие.
- Расширения. Недостающие возможности добавляют плагинами.
- Распределённый режим. Для большой нагрузки тест запускают сразу на нескольких машинах.
- Отчёты. По результатам можно собрать HTML-отчёт с графиками.
Если вам нужно проверить сложный сценарий, внутреннюю систему или что-то кроме сайта, JMeter — сильный и проверенный выбор.
Почему проверка сайта в JMeter занимает много времени?
Гибкость JMeter требует работы инженера. Для проверки обычного сайта нужно:
- Собрать сценарий: выбрать страницы, задать доли просмотров, паузы между действиями, загрузку стилей, скриптов и картинок.
- Подготовить генератор нагрузки. С ноутбука заметную нагрузку не подать — упрётесь в домашний канал и процессор. Нужен отдельный сервер, а для большой нагрузки — несколько.
- Запустить тест правильно. Для нагрузки JMeter запускают без графического интерфейса, из командной строки, — интерфейс нужен только для сборки сценария.
- Разобраться в результатах: найти, где начался рост времени ответа, какие страницы сдались первыми, и перевести это в понятный вывод.
Для специалиста, который уже знает JMeter, это работа на несколько часов. Для владельца сайта без инженера — скорее повод заказать подрядчика.
Чем LoadSure отличается от JMeter?
| JMeter | LoadSure | |
|---|---|---|
| Сценарий | Собирается вручную, любой сложности | Собирается сам по страницам сайта, можно поправить |
| Что можно проверить | Сайты, API, базы данных, очереди и другое | Только просмотр страниц сайта со стилями, скриптами и картинками |
| Генератор нагрузки | Свои серверы | Серверы сервиса |
| Предел нагрузки | Зависит от ваших серверов | Ограничен тарифом |
| Результат | Графики и таблицы, вывод делает инженер | Вывод простыми словами и список рекомендаций, графики — для специалистов |
| Автоматическая остановка | Настраивается вручную | Включена всегда |
| Подтверждение прав на сайт | Не требуется — ответственность на том, кто запускает | Обязательно перед каждым запуском |
| Стоимость | Бесплатно, плюс время инженера и серверы | [ВСТАВИТЬ: цены или «бесплатно во время беты»] |
Когда выбрать JMeter, а когда — онлайн-проверку?
JMeter подойдёт лучше, если нужно нагрузить оформление заказа, личный кабинет, обмен данными с 1С или CRM, отдельные методы API, базу данных напрямую; если нагрузка нужна больше, чем дают тарифы онлайн-сервисов; если в команде есть инженер, который будет поддерживать сценарии.
LoadSure подойдёт лучше, если нужно быстро понять, выдержит ли сайт распродажу, рекламу или рассылку; если инженера под рукой нет или его время дороже результата; если нужен отчёт, понятный владельцу сайта или клиенту студии.
Эти варианты не исключают друг друга: онлайн-проверка быстро покажет, есть ли проблема и на каких страницах, а глубокий разбор сложных сценариев можно сделать в JMeter.
Кому ближе сценарии в коде, а не в графическом интерфейсе, посмотрите сравнение с k6. Пошаговый план теста любым инструментом — в статье как провести нагрузочное тестирование.
Что важно в любом инструменте?
Тестировать можно только свои сайты и системы или системы, владелец которых дал согласие. Нагрузку повышайте постепенно, запускайте тест в часы минимального трафика и заранее решите, при каких показателях его остановить. Это одинаково важно и в JMeter, и в онлайн-сервисе.
Частые вопросы
Бесплатен ли JMeter?
Да. Apache JMeter — проект с открытым кодом под лицензией Apache 2.0. Платить приходится за время инженера и серверы, с которых подаётся нагрузка.
Можно ли перенести сценарий JMeter в LoadSure?
Нет, импорт сценариев JMeter не поддерживается. LoadSure собирает сценарий сам по страницам сайта, его можно поправить и дополнить своими адресами.
Что выбрать для интернет-магазина?
Если нужно понять, выдержит ли магазин распродажу на страницах каталога, карточек и поиска, хватит онлайн-проверки. Если нужно нагрузить оформление заказа, личный кабинет или обмен с 1С, понадобится JMeter или подрядчик.
Нужен ли отдельный сервер для JMeter?
Для заметной нагрузки — да. С ноутбука упрётесь в домашний канал и процессор раньше, чем в предел сайта. Для больших тестов JMeter запускают на нескольких машинах в распределённом режиме.