Gatling (программное обеспечение) - Gatling (software)

Гатлинг
Gatling (инструмент для нагрузочного тестирования) Logo.png
Отчеты Gatling screenshot.png
Скриншот отчетов Gatling
Тип бизнесаЧастный
Тип сайта
Открытый исходный код нагрузка и тестирование производительности за веб-приложения
Доступно ванглийский
Основан1 июля 2015 г.; 5 лет назад (2015-07-01)
Штаб-квартираBagneux, Франция
Обслуживаемая площадьМировой
Учредитель (и)Стефан Ландель (Исполнительный директор )
ПромышленностьПрограммного обеспечения
ТоварыGatling, Gatling FrontLine (корпоративная версия)
URLГатлинг.io
Запущен13 января 2012 г.; 8 лет назад (2012-01-13)
Текущее состояниеАктивный
Написано вScala

Гатлинг это платформа с открытым исходным кодом для нагрузочного тестирования и тестирования производительности, основанная на Scala, Акка и Нетти. Первый стабильный выпуск был опубликован 13 января 2012 года. В 2015 году основатель Gatling Стефан Ландель создал компанию (названную «Gatling Corp»), посвященную развитию проекта с открытым исходным кодом. Согласно официальному блогу Gatling Corp, Gatling был загружен более 800 000 раз (август 2017 г.).[1] В июне 2016 года Gatling официально представил Gatling FrontLine, корпоративную версию Gatling с дополнительными функциями.[2]

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

Гатлинг был дважды упомянут в ThoughtWorks Технологический радар, в 2013 и 2014 годах,[3] "как инструмент, который стоит попробовать",[3] с акцентом на "интересную предпосылку обработка ваших тестов производительности как производственного кода".[3]

Последний стабильный выпуск - Gatling 3.4.0. Он был опубликован 23 сентября 2020 года.[4]

Обзор

Gatling Corp разрабатывает инструмент тестирования производительности с открытым исходным кодом для веб-приложений Gatling и его корпоративную версию Gatling FrontLine. Цели проекта включают:

  • Высокая производительность
  • Готовые HTML-отчеты
  • Регистратор сценариев и удобный для разработчиков DSL

Терминология

  • Моделирование: Файл моделирования включает в себя различные сценарии теста, его параметризация и профили закачки. Технически говоря, симуляция - это Scala класс.[5] Вот пример симуляции:[6]
учебный класс Базовое моделирование расширяет Моделирование {  вал httpConf = http    .baseURL("http://computer-database.gatling.io")    .acceptHeader("text / html, application / xhtml + xml, application / xml; q = 0.9, * / *; q = 0.8")    .doNotTrackHeader("1")    .acceptLanguageHeader("en-US, en; q = 0,5")    .acceptEncodingHeader("gzip, спустить")    .userAgentHeader("Mozilla / 5.0 (Windows NT 5.1; rv: 31.0) Gecko / 20100101 Firefox / 31.0")  вал scn = сценарий(«Базовое моделирование»)    .exec(http("запрос_1")    .получать("/"))    .Пауза(5)  настраивать(    scn.вводить(atOnceUsers(1))  ).протоколы(httpConf)}
  • Сценарий: Сценарий состоит из серии Запросы. Каждый сценарий в рамках симуляция может иметь свой профиль закачки.[7] Вот пример сценария:[6]
  вал scn = сценарий(«Базовое моделирование»)    .exec(http("запрос_1")    .получать("/"))    .Пауза(5)  настраивать(    scn.вводить(atOnceUsers(1))  ).протоколы(httpConf)
  • Группа: Группы могут использоваться как подразделение сценарий. Это также серия Запросы, имеющий функциональное назначение (например, процесс входа в систему).
  • Запрос: Gatling может моделировать сложное поведение пользователей. Для этого он формирует соответствующие запросы в тестируемой системе. Вот пример запроса в Гатлинге:[6]
exec(http("запрос_1")  .получать("/"))  .Пауза(5)
  • Профиль впрыска: Профиль внедрения - это количество виртуальных пользователей, введенных во время теста в тестируемой системе, и способ их введения. Вот пример профиля впрыска:[6]
настраивать(  scn.вводить(atOnceUsers(1))).протоколы(httpConf)

Архитектура

Gatling реализовал полностью новую архитектуру инструмента тестирования производительности, чтобы повысить эффективность использования ресурсов.[8] Это позволяет моделировать большое количество запросов в секунду на одной машине.[9]

Составные части

Рекордер

Гатлинг предлагает записывающее устройство для запуска симуляции.

Доменный язык

Gatling снабжен простой[10] и легкий[3] Доменный язык, в котором кодируются модели и сценарии. Это позволяет пользователям добавлять настраиваемое поведение с помощью множества хуков.[11] Это делает сценарии моделирования удобочитаемыми и простыми в обслуживании.[12]Это пример того, как Гатлинг Доменный язык похоже (см. также § Терминология ):

вал scn = сценарий(«Базовое моделирование»)  .exec(http("запрос_1")  .получать("/"))  .Пауза(5)

HTML отчеты

В конце каждого теста Gatling создает отчет в формате HTML. Отчеты включают:[13]

  • Активные пользователи с течением времени
  • Время отклика распределение
  • Время отклика процентили через некоторое время
  • Запросы в секунду с течением времени
  • Ответов в секунду с течением времени

Поддержка протоколов и плагины

Он официально поддерживает следующие протоколы:

В документации Gatling указано, что он не зависит от протокола, что позволяет реализовать поддержку других протоколов.[14] Вот неполный список поддерживаемых протоколов сообщества:

Плагины

Gatling выпускает официальные плагины и плагины сообщества. Он интегрируется с:

Вот неполный список плагинов сообщества:

Непрерывная интеграция

Автоматизация с Gatling связана с ремонтопригодностью его моделирования.[15] Интеграция с другими инструментами разработчика, особенно в DevOps жизненного цикла, позволяет индустриализировать тесты производительности, то есть полностью автоматизировать выполнение кампаний тестирования производительности в процесс разработки программного обеспечения.

Основные и второстепенные релизы[16]

ВерсияДата выхода
3.0.023 октября 2018 г.
2.3.030 августа 2017 г.
2.2.015 апреля 2016 г.
2.1.015 декабря 2014 г.
2.0.06 октября 2014 г.
1.5.06 мая 2013
1.4.020 декабря 2012 г.
1.3.019 сентября 2012 г.
1.2.031 мая 2012 года
1.1.026 марта 2012 г.
1.0.013 января 2012 г.

Лицензирование

Гатлинг публикуется под Лицензия Apache 2.0,[17] а снисходительный лицензия на бесплатное программное обеспечение написано Фонд программного обеспечения Apache (ASF).[18]

Исходный код доступен на GitHub.

Gatling FrontLine

Gatling FrontLine - это корпоративная версия Gatling. Gatling FrontLine находится под проприетарная лицензия. Распространяется компанией Gatling Corp.

Компания

Gatling стартовал как проект с открытым исходным кодом в 2012 году. Три года спустя, в 2015 году, его основатель Стефан Ландель создал специальную компанию под названием «Gatling Corp».

Истоки проекта с открытым исходным кодом

Гатлинг был разработан Стефаном Ланделем, когда он был Главный технический директор (CTO) французской консалтинговой компании в области ИТ, eBusiness Information.

Создание специализированной компании

В 2015 году была создана специализированная компания. Он предоставляет пользователям Gatling профессиональные услуги, а с 2016 года - корпоративную версию Gatling, Gatling FrontLine.

Компания базируется в Bagneux, Франция, недалеко от Парижа. Это дочерняя компания eBusiness Information, созданной консалтинговой компанией в области ИТ.

Gatling Corp является членом Систематический Париж-Регион, Иль-де-Франс бизнес-кластер создано в 2005 году,[19] посвященный сложные системы и ИКТ.[20] Систематический Париж-Регион собирает большие группы, малые и средние предприятия, университеты и исследовательские лаборатории для продвижения цифровых инноваций. Гатлинг является членом Систематический рабочей группы по открытому исходному коду и был избран членом Систематический Совет директоров России в качестве представителя МСБ в ноябре 2016 года.

Компания приняла участие в нескольких мероприятиях, таких как Парижский саммит по открытому исходному коду (POSS, выпуски 2015, 2016 и 2017 годов) Liferay Симпозиум 2016 г., встречи Группы пользователей Java (JUG), Группы пользователей Paris Gatling и Группы пользователей New York Gatling.

Смотрите также

Рекомендации

  1. ^ "Gatling достиг 800 000 загрузок!". Официальный сайт Gatling. Гатлинг. Получено 1 сентября, 2017.
  2. ^ "Soirée de presentation Gatling FrontLine". Группа пользователей Gatling Paris (На французском). Встреча. Получено 1 сентября, 2017.
  3. ^ а б c d Родриго Толледо (12 мая 2014 г.). «Гатлинг: выведите свои тесты производительности на новый уровень». Блог. ThoughtWorks. Получено 1 сентября, 2017.
  4. ^ «Gatling Frontline 1.12.0 и Gatling 3.4.0 уже вышли! - Нагрузочное тестирование с открытым исходным кодом Gatling». Нагрузочное тестирование с открытым исходным кодом Gatling. 2020-09-23. Получено 2020-10-29.
  5. ^ Людмил Латинов (9 июня 2017). «Тестирование производительности с помощью Gatling». Автоматизация Рапсодия. Получено 1 сентября, 2017. «Моделирование» и есть настоящий тест. Это класс Scala, расширяющий класс Gatling io.gatling.core.scenario.Simulation. Моделирование имеет объект протокола HTTP, созданный и настроенный с соответствующими значениями, такими как URL, параметры заголовка запроса, аутентификация, кэширование и т. Д. В моделировании есть один или несколько «сценариев».
  6. ^ а б c d Gatling Corp. "Документация Gatling, краткое руководство". Gatling Corp.. Получено 12 января, 2018.
  7. ^ Людмил Латинов (9 июня 2017). «Тестирование производительности с помощью Gatling». Автоматизация Рапсодия. Получено 1 сентября, 2017. Сценарий - это серия HTTP-запросов с разными действиями (POST / GET) и параметрами запроса. Сценарий - это фактический путь выполнения пользователем. Он настроен с учетом количества пользователей нагрузки и шаблона увеличения. Это делается в методе «setUp» моделирования. Несколько сценариев могут составлять одну симуляцию.
  8. ^ Шива Прасад Рао Джанапати (1 февраля 2017 г.). «Gatling: легкий инструмент для тестирования нагрузки». Зона производительности. DZone. Получено 1 сентября, 2017. Gatling потребляет меньше системных ресурсов для запуска нагрузочного теста, чем другие варианты.
  9. ^ Людмил Латинов (9 июня 2017). «Тестирование производительности с помощью Gatling». Автоматизация Рапсодия. Получено 1 сентября, 2017. Он способен создавать огромное количество трафика с одного узла.
  10. ^ Шри Теджасви (4 января 2017 г.). «Введение в нагрузочное тестирование с помощью Gatling». Зона DevOps. DZone. Получено 1 сентября, 2017. Это простой в установке инструмент, в котором моделирование и сценарии написаны на простом предметно-ориентированном языке (DSL).
  11. ^ http://gatling.io/docs/current/cheat-sheet/
  12. ^ Шри Теджасви (4 января 2017 г.). «Введение в нагрузочное тестирование с помощью Gatling». Зона DevOps. DZone. Получено 1 сентября, 2017. Таким образом, вы можете сгенерировать читаемый и простой в обслуживании код теста производительности.
  13. ^ Шри Теджасви (4 января 2017 г.). «Введение в нагрузочное тестирование с помощью Gatling». Зона DevOps. DZone. Получено 1 сентября, 2017.
  14. ^ "Гатлинг". Документация. Gatling Corp.. Получено 1 сентября, 2017. Поскольку ядро ​​ядра фактически не зависит от протокола, вполне возможно реализовать поддержку других протоколов.
  15. ^ Федерико Толедо (12 июля 2016 г.). «Обзор инструментов Gatling для тестов производительности (написано на Scala)». Зона производительности. DZone. Получено 1 сентября, 2017. Язык Scala и DSL Gatling в значительной степени ориентированы на облегчение сопровождения тестов, что идеально, если вы сосредоточены на непрерывной интеграции.
  16. ^ «Вехи». Хранилище Гатлинга. GitHub. Получено 1 сентября, 2017.
  17. ^ "Лицензия". Хранилище Гатлинга. GitHub. Получено 1 сентября, 2017.
  18. ^ Новые права СМИ (2008-09-12). «Руководство по лицензированию с открытым исходным кодом». Калифорнийская западная школа права. Получено 2015-11-28. Лицензии, подобные «BSD», такие как лицензии BSD, MIT и Apache, чрезвычайно разрешительны и требуют лишь приписывания исходных частей лицензионного кода исходным разработчикам в вашем собственном коде и / или документации.
  19. ^ (На французском)Систематический Париж-Регион В архиве 2013-02-17 в Archive.today
  20. ^ (На французском)Qui sommes-nous?

внешняя ссылка