Об инструменте нагрузочного тестирования Gatling Tool


(Dmytro Makhno) #21

То от чего мы отталкивались это вот это https://github.com/excilys/gatling/wiki/Protocol-support и ведет на линк толковый. Единсвенное модель Gatling 2.0 немного проще даже, мы использовали именно ее, и примеры становятся проще.
У нас часть продукта - “агент” actor based, и http протокола к нему нету. Поэтому написали свои экшены, с примитивным dsl, на основе модели, чтобы пулить “агента”.
Не очень любим “длинные” тесты, поэтому на данный момент экшины работают в форке sbt (“аналог” maven) процесса, и нет возможности запустить данные тесты против живой системы, но как понадобится - добавим. Решается это параметризацией Gatling Protocol.

Самое хитрое понять было что мерять, т.к. репорты gatling очень заточены под async-http и используют метрики (начало реквеста, конец реквеста, начало респонса, конец респонса), в асинк системе на удивление в нашем смысле пришлось “натягивать” глаз на ж(цензура), чтобы получать более менее трактуемые данные…
Это пожалуй была для нас наиболее трудоемкая часть - подумать/придумать.

Хотелось бы уметь расширять репорты, но еще этого нету, и ограничено очень сильно лицензионными соглашениями чартов.
В планах таки попробовать интеграцию с графитом (чтобы видеть корреляцию с системой) или с другой мониторинг системой. На данный момент, смотрю под jconsole, что происходит с jvm при нагрузке.