Wraz z rosnącą popularnością i zapotrzebowaniem na testy wydajności chcielibyśmy opisać dość ciekawe narzędzie, jakim jest Gatling. Jest to narzędzie do testów wydajności zdobywające ostatnio coraz większą popularność. W Internecie jest niewiele informacji na temat narzędzia w języku polskim, dlatego postanowiliśmy stworzyć serię artykułów poświęconych tej aplikacji. Na początku postaramy się omówić ważniejsze cechy Gatlinga. W następnych publikacjach opiszemy konfigurację środowiska, nagrywanie scenariuszy i uruchamianie testów w Gatlingu.
Ciekawostka: nazwa "Gatling" pochodzi od kartaczownicy Gatlinga, która była jednym z prekursorów karabinu maszynowego. Trafna nazwa?
Krótko o Gatlingu:
- jest darmowym narzędziem do wykonywania testów wydajnościowych, wydanym w oparciu o Apache License 2.0 w 2011 roku,
- działa na systemach Windows, Linux oraz MacOS,
- został napisany głównie w języku Scala i jest oparty o AKKA i NETTY,
- dzięki zastosowanym rozwiązaniom posiada asynchroniczną architekturę, wprowadza model aktora, który jest zorientowany na wysyłanie wiadomości zamiast tworzenia dedykowanych wątków, pozwalając na generowanie większych obciążeń,
- skrypty testowe są pisane w Scali, przy czym wystarczy podstawowa znajomość tego języka, gdyż skrypty są tworzone z wykorzystaniem łatwego w użyciu DSL (Domain Specific Language), przez co tworzenie i późniejsze zrozumienie skryptów jest proste,
- umożliwia nagrywanie scenariuszy testowych,
- posiada rozszerzenia, które umożliwiają integrację z takimi narzędziami jak SBT, Maven, Jenkins,
- obsługuje protokoły HTTP i JMS, a wsparcie dla innych protokołów jest możliwe do zaimplementowania,
- posiada łatwy w użyciu interfejs graficzny do nagrywania i tworzenia scenariuszy testowych,
- tworzy raport w formacie html zawierający kolorowe grafy i statystyki umożliwiające łatwą analizę zebranych danych,
- nie wymaga instalacji, wystarczy tylko rozpakować archiwum,
- strona domowa zawiera obszerną dokumentację (http://gatling.io).
W czasach, gdy jednym z najbardziej rozpoznawalnych narzędzi dla testów wydajnościowych jest JMeter, wykorzystanie narzędzia takiego jak Gatling może okazać się dobrą alternatywą, ponieważ wnosi on wiele świeżości do testów oraz wolny jest od pewnych bolączek związanych z testami w JMeterze. Serią artykułów poświęconych Gatlingowi chcemy pokazać, że jest to narzędzie warte uwagi, a także stworzyć obszerną bazę wiedzy dla tych, którzy szukają nowych lub alternatywnych narzędzi do testów wydajnościowych.
Kolejna publikacja w temacie Gatlinga już niebawem.