WikiDer > Gatling (программное обеспечение)
Тема этой статьи может не соответствовать Википедии рекомендации по продуктам и услугам. (апрель 2013) (Узнайте, как и когда удалить этот шаблон сообщения) |
Скриншот отчетов Gatling | |
Тип бизнеса | Частный |
---|---|
Тип сайта | Открытый исходный код нагрузка и тестирование производительности за веб-приложения |
Доступно в | английский |
Основан | 1 июля 2015 г. |
Штаб-квартира | Bagneux, Франция |
Обслуживаемая площадь | Мировой |
Учредитель (и) | Стефан Ландель (Исполнительный директор) |
Промышленность | Программного обеспечения |
Товары | Gatling, Gatling FrontLine (корпоративная версия) |
URL | Гатлинг |
Запущен | 13 января 2012 г. |
Текущее состояние | Активный |
Написано в | 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 выпускает официальные плагины и плагины сообщества. Он интегрируется с:
- Интегрированные среды разработки (IDE), подобно Eclipse (программное обеспечение) и IntelliJ IDEA
- Автоматизация сборки программное обеспечение или инструменты сборки, например Apache Maven и SBT
- Непрерывная интеграция такие решения, как Дженкинс
Вот неполный список плагинов сообщества:
Непрерывная интеграция
Автоматизация с Gatling связана с ремонтопригодностью его моделирования.[15] Интеграция с другими инструментами разработчика, особенно в DevOps жизненного цикла, позволяет индустриализировать тесты производительности, то есть полностью автоматизировать выполнение кампаний тестирования производительности в процесс разработки программного обеспечения.
Основные и второстепенные релизы[16]
Версия | Дата выхода |
---|---|
3.0.0 | 23 октября 2018 г. |
2.3.0 | 30 августа 2017 г. |
2.2.0 | 15 апреля 2016 г. |
2.1.0 | 15 декабря 2014 г. |
2.0.0 | 6 октября 2014 г. |
1.5.0 | 6 мая 2013 |
1.4.0 | 20 декабря 2012 г. |
1.3.0 | 19 сентября 2012 г. |
1.2.0 | 31 мая 2012 года |
1.1.0 | 26 марта 2012 г. |
1.0.0 | 13 января 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.
Смотрите также
- Apache JMeter
- LoadRunner
- Тестирование веб-сервера
- Тестирование производительности программного обеспечения
- Инженерия производительности
- Тестирование программного обеспечения
- Селен
Рекомендации
- ^ "Gatling достиг 800 000 загрузок!". Официальный сайт Gatling. Гатлинг. Получено 1 сентября, 2017.
- ^ "Soirée de presentation Gatling FrontLine". Группа пользователей Gatling Paris (На французском). Встреча. Получено 1 сентября, 2017.
- ^ а б c d Родриго Толледо (12 мая 2014 г.). «Гатлинг: выведите свои тесты производительности на новый уровень». Блог. ThoughtWorks. Получено 1 сентября, 2017.
- ^ «Gatling Frontline 1.12.0 и Gatling 3.4.0 уже вышли! - Нагрузочное тестирование с открытым исходным кодом Gatling». Нагрузочное тестирование с открытым исходным кодом Gatling. 2020-09-23. Получено 2020-10-29.
- ^ Людмил Латинов (9 июня 2017). «Тестирование производительности с помощью Gatling». Автоматизация Рапсодия. Получено 1 сентября, 2017.
«Моделирование» и есть настоящий тест. Это класс Scala, расширяющий класс Gatling io.gatling.core.scenario.Simulation. Моделирование имеет объект протокола HTTP, созданный и настроенный с соответствующими значениями, такими как URL, параметры заголовка запроса, аутентификация, кэширование и т. Д. В моделировании есть один или несколько «сценариев».
- ^ а б c d Gatling Corp. "Документация Gatling, краткое руководство". Gatling Corp.. Получено 12 января, 2018.
- ^ Людмил Латинов (9 июня 2017). «Тестирование производительности с помощью Gatling». Автоматизация Рапсодия. Получено 1 сентября, 2017.
Сценарий - это серия HTTP-запросов с разными действиями (POST / GET) и параметрами запроса. Сценарий - это фактический путь выполнения пользователем. Он настроен с учетом количества пользователей нагрузки и шаблона увеличения. Это делается в методе «setUp» моделирования. Несколько сценариев могут составлять одну симуляцию.
- ^ Шива Прасад Рао Джанапати (1 февраля 2017 г.). «Gatling: легкий инструмент для тестирования нагрузки». Зона производительности. DZone. Получено 1 сентября, 2017.
Gatling потребляет меньше системных ресурсов для запуска нагрузочного теста, чем другие варианты.
- ^ Людмил Латинов (9 июня 2017). «Тестирование производительности с помощью Gatling». Автоматизация Рапсодия. Получено 1 сентября, 2017.
Он способен создавать огромное количество трафика с одного узла.
- ^ Шри Теджасви (4 января 2017 г.). «Введение в нагрузочное тестирование с помощью Gatling». Зона DevOps. DZone. Получено 1 сентября, 2017.
Это простой в установке инструмент, в котором моделирование и сценарии написаны на простом предметно-ориентированном языке (DSL).
- ^ http://gatling.io/docs/current/cheat-sheet/
- ^ Шри Теджасви (4 января 2017 г.). «Введение в нагрузочное тестирование с помощью Gatling». Зона DevOps. DZone. Получено 1 сентября, 2017.
Таким образом, вы можете сгенерировать читаемый и простой в обслуживании код теста производительности.
- ^ Шри Теджасви (4 января 2017 г.). «Введение в нагрузочное тестирование с помощью Gatling». Зона DevOps. DZone. Получено 1 сентября, 2017.
- ^ "Гатлинг". Документация. Gatling Corp.. Получено 1 сентября, 2017.
Поскольку ядро ядра фактически не зависит от протокола, вполне возможно реализовать поддержку других протоколов.
- ^ Федерико Толедо (12 июля 2016 г.). «Обзор инструментов Gatling для тестов производительности (написано на Scala)». Зона производительности. DZone. Получено 1 сентября, 2017.
Язык Scala и DSL Gatling в значительной степени ориентированы на облегчение сопровождения тестов, что идеально, если вы сосредоточены на непрерывной интеграции.
- ^ «Вехи». Хранилище Гатлинга. GitHub. Получено 1 сентября, 2017.
- ^ "Лицензия". Хранилище Гатлинга. GitHub. Получено 1 сентября, 2017.
- ^ Новые права СМИ (2008-09-12). «Руководство по лицензированию с открытым исходным кодом». Калифорнийская западная школа права. Получено 2015-11-28.
Лицензии, подобные «BSD», такие как лицензии BSD, MIT и Apache, чрезвычайно разрешительны и требуют лишь приписывания исходных частей лицензионного кода исходным разработчикам в вашем собственном коде и / или документации.
- ^ (На французском)Систематический Париж-Регион В архиве 2013-02-17 в Archive.today
- ^ (На французском)Qui sommes-nous?