Pull to refresh

Comments 12

Теперь посмотрим на популярное решение Apache JMeter: заходим на сайт и скачиваем... архив. 2023 год на дворе. 

Вот здорово! Это моя любимая тема: чтобы просто запустить, нужно что-то поставить\настроить (Java в данном случае).

Какая версия\вендор явы нужна для корректной работы и откуда ее качать?

Уж полно вам высасывать из пальца, господа)

Отчасти с вами согласен.

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

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

Думаю, что перевес однозначно на стороне пользователей.

Подробно его не рассматривал, но после беглого знакомства, он показался немного похожим на k6. Рискую ошибиться, но похоже синтаксис несколько избыточен.

Похоже, есть докер образ, значит можно просто взять и запустить. Вопросов нет, молодцы. Но почему в топике про инсталляцию этого варианта нет - загадка. Чтобы не было слишком просто? Хотя это опять про пальцы :)

Они рекламируют "Миллионы юзеров" на главной странице. Но в справке тут же сокрушаются про ограничения питона на использование ядер. Что заставляет вас запускать несколько процессов и т.д. Лукавство детектед.

Дальше пишут "Практически нет ограничений на количество пользователей", но добавляют "если они достаточно медленные". Это было бы вполне корректно, если бы не громкая фраза про "миллионы".

Остальное нужно изучать подробнее. К сожалению, пока нет возможности этим заняться.

Locust сильно проще k6, но сценарии пишутся на чистом Python, что очень хорошо, когда вам надо нагрузить чуть сложнее, чем десяток GET запросов на сайте.

У locust неплохой real time интерфейс (ui), графики реалтаймные и т.п. По поводу миллиона запросов, он отлично скейлится по серверам, просто запускаете воркеры 1 командой и все. Я запускал его на 64 ядрах (8 серверов по 8 ядер)

Запихнуть в k6 дополнительные либы, то еще приключение

Если не затруднит, приведите пример раскрывающий простоту locust: скрипт на locust vs скрипт на k6.

в k6 скрипт пишется почти на javascript, но нет уверенности что любая библиотека заведется (там свой движок js) + подключение ее не простое дело.

locust - обычная python библиотека, куда просто поставил любой пакет и используешь.

Шире не раскрою, с k6 мало опыта

Не уверен, что подключение чего-то со стороны всегда хорошо для LT.

То что входит в сам инструмент - хоть как то проверяется на адекватность сгенерированных метрик\отчетов и т.д. Чего нельзя сказать о произвольных либах со стороны, как бы удобны они не были. Взять как минимум пулы коннекшенов в подключаемых либах. Что о них знает локуст или любой другой инструмент? И, как результат, как можно корректно учитывать неизвестное поведение библиотек в отчетах?

Все же LT это не "обычная библиотека". Это измерительный инструмент.

Чего не хватает из штатного, что понадобилось подключать?

Нагрузочное тестирование бывает не только для http :)

Мне из практики надо было:

  1. нагружать amqp

  2. нагружать базы данных

  3. библиотека криптографические, для тестирования блокчейнов

В locust для выведения отчетов можно передавать данные и руками, как хотите, у него для этого эвенты есть.

Понятно, спасибо, что поделились опытом!

Раньше у Gatling была замечательная прокся которая умела записывать трафик в виде сценариев. Ну и у гатлинга внутри акка а не потоки. И один не самый мощный комп вполне справляется с сотнями тысяч параллельных сессии.

UPD: только что проверил - прокся есть.

Трафик сценарии - отличная штука, согласен.

Про сотни тысяч сессий - вопрос сложнее:

  • Сессия это 1 конкурентное соединение со своим "потоком выполнения запросов" или несколько?

  • Мы говорим об очереди запросов без пауз или с ними?

Sign up to leave a comment.

Articles