Gatling (software) - Gatling (software)
![]() | Téma tohoto článku nemusí splňovat požadavky Wikipedie pokyny k pozoruhodnosti produktů a služeb.duben 2013) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
![]() | |
![]() Gatling hlásí snímek obrazovky | |
Typ podnikání | Soukromé |
---|---|
Typ webu | Otevřený zdroj zatížení a testování výkonu pro webové aplikace |
K dispozici v | Angličtina |
Založený | 1. července 2015 |
Hlavní sídlo | Bagneux, Francie |
Oblast sloužila | Celosvětově |
Zakladatel (é) | Stéphane Landelle (výkonný ředitel ) |
Průmysl | Software |
produkty | Gatling, Gatling FrontLine (verze Enterprise) |
URL | gatling |
Spuštěno | 13. ledna 2012 |
Aktuální stav | Aktivní |
Napsáno | Scala |
Gatling je open-source rámec pro testování zátěže a výkonu založený na Scala, Akka a Netty. První stabilní vydání bylo vydáno 13. ledna 2012. V roce 2015 založil zakladatel Gatlingu, Stéphane Landelle, společnost (nazvanou „Gatling Corp“), která se věnuje vývoji open-source projektu. Podle oficiálního blogu Gatling Corp byl Gatling stažen více než 800 000krát (srpen 2017).[1] V červnu 2016 Gatling oficiálně představil Gatling FrontLine, Gatlingovu verzi Enterprise s dalšími funkcemi.[2]
Tento software je určen k použití jako zátěžové testování nástroj pro analýzu a měření výkonu různých služeb se zaměřením na webové aplikace.
Gatling byl zmíněn dvakrát ThoughtWorks Technologický radar, v letech 2013 a 2014,[3] "jako nástroj, který stojí za to vyzkoušet",[3] s důrazem na "zajímavou premisu zpracování vašich testů výkonu jako produkčního kódu".[3]
Nejnovější stabilní vydání je Gatling 3.4.0. Bylo zveřejněno 23. září 2020.[4]
Přehled
Gatling Corp vyvíjí open-source nástroj pro testování výkonu pro webové aplikace Gatling a jeho podnikovou verzi Gatling FrontLine. Cíle projektu zahrnují:
- Vysoký výkon
- Připravené zprávy HTML
- Rekordér scénářů a DSL vhodný pro vývojáře
Terminologie
- Simulace: Soubor simulace obsahuje různé scénáře testu, jeho parametrizace a vstřikovací profily. Technicky vzato, simulace je a Scala třída.[5] Zde je příklad simulace:[6]
třída Základní simulace rozšiřuje Simulace { val httpConf = http .baseURL(„http://computer-database.gatling.io“) .přijmout hlavičku(„text / html, aplikace / xhtml + xml, aplikace / xml; q = 0,9, * / *; q = 0,8") .doNotTrackHeader("1") .acceptLanguageHeader(„en-US, en; q = 0,5“) .acceptEncodingHeader(„gzip, vyfouknout“) .userAgentHeader(„Mozilla / 5.0 (Windows NT 5.1; rv: 31.0) Gecko / 20100101 Firefox / 31.0“) val scn = scénář(„BasicSimulation“) .vykon(http(„request_1“) .dostat("/")) .pauza(5) založit( scn.vstříknout(atOnceUsers(1)) ).protokoly(httpConf)}
- Scénář: Scénář se skládá z řady žádosti. Každý scénář v rámci simulace může mít vlastní vstřikovací profil.[7] Zde je příklad scénáře:[6]
val scn = scénář(„BasicSimulation“) .vykon(http(„request_1“) .dostat("/")) .pauza(5) založit( scn.vstříknout(atOnceUsers(1)) ).protokoly(httpConf)
- Skupina: Skupiny lze použít jako pododdělení a scénář. Je to také řada žádosti, který má funkční účel (například proces přihlášení).
- Žádost: Gatling je schopen simulovat chování složitých uživatelů. Za tímto účelem generuje příslušné požadavky v testovaném systému. Zde je příklad požadavku v Gatlingu:[6]
vykon(http(„request_1“) .dostat("/")) .pauza(5)
- Injekční profil: Injekční profil je počet virtuálních uživatelů vložených během testu do testovaného systému a způsob jejich vložení. Zde je příklad profilu vstřikování:[6]
založit( scn.vstříknout(atOnceUsers(1))).protokoly(httpConf)
Architektura
Gatling implementoval zcela novou architekturu nástroje pro testování výkonu, aby byl efektivnější z hlediska zdrojů.[8] Umožňuje simulovat vysoký počet požadavků za sekundu na jediném stroji.[9]
Součásti
Zapisovač
Gatling přichází se zapisovačem, který by simuloval bootstrap.
Jazyk specifický pro doménu
Gatling je vybaven jednoduchým[10] a lehký[3] Jazyk specifický pro doménu, ve kterém jsou kódovány simulace a scénáře. To umožňuje uživatelům přidat vlastní chování prostřednictvím mnoha háčků.[11] Díky tomu jsou simulační skripty čitelné a snadno se udržují.[12]Toto je příklad toho, jak je Gatling Jazyk specifický pro doménu vypadá (viz také § Terminologie ):
val scn = scénář(„BasicSimulation“) .vykon(http(„request_1“) .dostat("/")) .pauza(5)
Zprávy HTML
Na konci každého testu Gatling vygeneruje zprávu HTML. Zprávy obsahují:[13]
- Aktivní uživatelé v průběhu času
- Doba odezvy rozdělení
- Doba odezvy percentily přesčas
- Požadavky za sekundu v průběhu času
- Odpovědi za sekundu v průběhu času
Podpora protokolů a pluginy
Oficiálně podporuje následující protokoly:
Dokumentace Gatling uvádí, že jde o agnostický protokol, který umožňuje implementovat podporu jiných protokolů.[14] Zde je neúplný seznam podpory komunitních protokolů:
Pluginy
Gatling přichází s oficiálními a komunitními pluginy. Integruje se s:
- Integrované vývojové prostředí (IDE), jako Eclipse (software) a IntelliJ IDEA
- Vytvářejte automatizaci software nebo nástroje Build, jako Apache Maven a SBT
- Kontinuální integrace řešení jako Jenkins
Zde je neúplný seznam komunitních pluginů:
Kontinuální integrace
Automatizace s Gatlingem souvisí s udržovatelností jeho simulací.[15] Integrace s dalšími vývojářskými nástroji, zejména v EU DevOps životního cyklu umožňuje industrializovat testy výkonu, to znamená plně automatizovat provádění kampaní testování výkonu v proces vývoje softwaru.
Hlavní a vedlejší vydání[16]
Verze | Datum vydání |
---|---|
3.0.0 | 23. října 2018 |
2.3.0 | 30. srpna 2017 |
2.2.0 | 15. dubna 2016 |
2.1.0 | 15. prosince 2014 |
2.0.0 | 6. října 2014 |
1.5.0 | 6. května 2013 |
1.4.0 | 20. prosince 2012 |
1.3.0 | 19. září 2012 |
1.2.0 | 31. května 2012 |
1.1.0 | 26. března 2012 |
1.0.0 | 13. ledna 2012 |
Licencování
Gatling je publikován pod Licence Apache 2.0,[17] A tolerantní licence na bezplatný software napsal Softwarová nadace Apache (ASF).[18]
Zdrojový kód je přístupný na GitHub.
Gatling FrontLine
Gatling FrontLine je podniková verze Gatlingu. Gatling FrontLine je pod proprietární licence. Distribuuje ji společnost Gatling Corp.
Společnost
Gatling začal jako open-source projekt v roce 2012. O 3 roky později, v roce 2015, založil jeho zakladatel Stéphane Landelle specializovanou společnost s názvem „Gatling Corp“.
Počátky open-source projektu
Gatling navrhl Stéphane Landelle, když byl Chief Technology Officer (CTO) francouzské IT poradenské firmy, eBusiness Information.
Vytvoření specializované společnosti
V roce 2015 byla vytvořena specializovaná společnost. Poskytuje uživatelům Gatling profesionální služby a od roku 2016 Enterprise verzi Gatling, Gatling FrontLine.
Společnost sídlí v Bagneux, Francie, poblíž Paříže. Je dceřinou společností IT poradenské firmy, kde byla vytvořena, eBusiness Information.
Gatling Corp je členem Systematický pařížský region, an Île-de-France obchodní klastr vytvořeno v roce 2005,[19] oddaný složité systémy a ICT.[20] Systematický pařížský region shromažďuje velké skupiny, malé a střední podniky, univerzity a výzkumné laboratoře na podporu digitálních inovací. Gatling je členem Systematický Open Group Working Group a byl zvolen členem Systematický představenstvo jako zástupce malých a středních podniků v listopadu 2016.
Společnost se zúčastnila několika akcí, například pařížského summitu open source (vydání POSS, 2015, 2016 a 2017), Liferay Symposium 2016, setkání uživatelů Java Group (JUG), Paris Gatling User Group a New York Gatling User Group.
Viz také
- Apache JMeter
- LoadRunner
- Benchmarking webového serveru
- Testování výkonu softwaru
- Výkonové inženýrství
- Testování softwaru
- Selen
Reference
- ^ „Gatling dosáhl 800 000 stažení!“. Gatling oficiální webové stránky. Gatling. Citováno 1. září 2017.
- ^ „Soirée de présentation Gatling FrontLine“. Skupina uživatelů Gatling Paris (francouzsky). Setkání. Citováno 1. září 2017.
- ^ A b C d Rodrigo Tolledo (12. května 2014). „Gatling: Posuňte své testy výkonu na další úroveň“. Blog. ThoughtWorks. Citováno 1. září 2017.
- ^ „Gatling Frontline 1.12.0 a Gatling 3.4.0 jsou venku! - Testování zatížení Gatling Open-source“. Gatling Open-Source testování zátěže. 2020-09-23. Citováno 2020-10-29.
- ^ Lyudmil Latinov (9. června 2017). „Testování výkonu s Gatlingem“. Automatizační rapsodie. Citováno 1. září 2017.
„Simulace“ je skutečný test. Jedná se o třídu Scala, která rozšiřuje Gatlingovu třídu io.gatling.core.scenario.Simulation. Simulace má instanci objektu protokolu HTTP a nakonfigurovanou se správnými hodnotami jako URL, parametry záhlaví požadavku, autentizace, ukládání do mezipaměti atd. Simulace má jeden nebo více „scénářů“.
- ^ A b C d Gatling Corp. „Gatlingova dokumentace, rychlý start“. Gatling Corp. Citováno 12. ledna 2018.
- ^ Lyudmil Latinov (9. června 2017). „Testování výkonu s Gatlingem“. Automatizační rapsodie. Citováno 1. září 2017.
Scénář je řada požadavků HTTP s různými parametry akce (POST / GET) a parametry požadavku. Scénář je skutečná cesta spuštění uživatele. Je nakonfigurován s počtem uživatelů načtení a vzorem rozběhu. To se provádí metodou „setUp“ simulace. Několik scénářů může tvořit jednu simulaci.
- ^ Siva Prasad Rao Janapati (1. února 2017). „Gatling: Lehký nástroj pro testování zátěže“. Zóna výkonu. DZone. Citováno 1. září 2017.
Gatling ke spuštění zátěžového testu spotřebuje méně systémových prostředků než jiné možnosti.
- ^ Lyudmil Latinov (9. června 2017). „Testování výkonu s Gatlingem“. Automatizační rapsodie. Citováno 1. září 2017.
Je schopen vytvořit obrovské množství provozu z jednoho uzlu.
- ^ Sree Tejaswi (4. ledna 2017). „Úvod do testování zátěže s Gatlingem“. Zóna DevOps. DZone. Citováno 1. září 2017.
Jedná se o snadno instalovatelný nástroj, kde jsou simulace a scénáře kódovány v jednoduchém jazyce specifickém pro danou doménu (DSL).
- ^ http://gatling.io/docs/current/cheat-sheet/
- ^ Sree Tejaswi (4. ledna 2017). „Úvod do testování zátěže s Gatlingem“. Zóna DevOps. DZone. Citováno 1. září 2017.
Můžete tak vygenerovat čitelný a snadno udržovatelný testovací kód výkonu.
- ^ Sree Tejaswi (4. ledna 2017). „Úvod do testování zátěže s Gatlingem“. DevOps zóna. DZone. Citováno 1. září 2017.
- ^ "Gatling". Dokumentace. Gatling Corp. Citováno 1. září 2017.
Jelikož jádro jádra je ve skutečnosti agnostický protokol, je dokonale možné implementovat podporu pro další protokoly.
- ^ Federico Toledo (12. července 2016). „Gatling Tool Review for Performance Tests (Written in Scala)“. Zóna výkonu. DZone. Citováno 1. září 2017.
Jazyk, Scala a Gatlingova DSL jsou docela zaměřeny na usnadnění udržovatelnosti testů, což je ideální, pokud se zaměřujete na nepřetržitou integraci
- ^ „Milníky“. Gatlingovo úložiště. GitHub. Citováno 1. září 2017.
- ^ "Licence". Gatlingovo úložiště. GitHub. Citováno 1. září 2017.
- ^ New Media Rights (2008-09-12). "Open Source Licensing Guide". Kalifornská západní škola práva. Citováno 2015-11-28.
Licence typu „BSD“, jako jsou licence BSD, MIT a Apache, jsou mimořádně tolerantní a vyžadují jen o málo více než přidělení původních částí licencovaného kódu původním vývojářům ve vašem vlastním kódu a / nebo dokumentaci.
- ^ (francouzsky)Systematický Paříž-region Archivováno 2013-02-17 v Archiv. Dnes
- ^ (francouzsky)Qui sommes-nous?