Vegeta (oprogramowanie)

Vegeta
Oryginalni autorzy Tomasza Senarta
Pierwsze wydanie 13 sierpnia 2013 ; 9 lat temu ( 13.08.2013 )
Wersja stabilna
v12.8.4 / 11 października 2020 r . ; 2 lata temu ( 11.10.2020 )
Magazyn github.com/tsenart/vegeta _ _ _
Napisane w Iść
System operacyjny Linux , Microsoft Windows , macOS
Typ Testowanie obciążenia HTTP
Licencja Licencja MIT
Strona internetowa pkg .go .dev /github .com /tsenart /vegeta /lib

Vegeta to narzędzie do testowania obciążenia HTTP napisane w Go , które może być używane jako polecenie w interfejsie wiersza poleceń lub jako biblioteka . Program testuje, jak zachowuje się aplikacja oparta na protokole HTTP, gdy wielu użytkowników uzyskuje do niej dostęp w tym samym czasie, generując obciążenie w tle żądaniami GET . Vegeta służy do generowania stałej, stałej liczby żądań na sekundę w celu ustalenia, jak długo usługa może wytrzymać szczytowe obciążenie, zanim spadnie wydajność.

Oprócz prewencyjnego testowania obciążenia program może być również używany do testowania w tle, w którym ruch z działającej wersji aplikacji jest odzwierciedlany w wersji testowej w celu określenia, w jaki sposób radzi sobie ona z tym samym obciążeniem ruchu, bez powodowania potencjalnych zakłóceń w działającej wersji aplikacji. Testowanie w tle odbywa się w ten sposób w celu przeanalizowania przewidywanej wydajności serwera.

Vegeta jest dostarczana do użytku przez usługi hostingowe, takie jak Scaleway, w celu korzystania z różnorodnych i wielu żądań do testowania usług HTTP klienta w warunkach skrajnych. Jest również używany z dedykowanymi usługami platformy do testowania obciążenia, takimi jak BlazeMeter .

Stosowanie

Użycie wiersza poleceń jest w formacie vegeta [flagi globalne] <polecenie> [flagi poleceń] . Trzy flagi globalne to -cpus int , która określa liczbę procesorów do użycia, -profile string , która umożliwia profilowanie , oraz -version , która wyświetla wersję oprogramowania, a następnie kończy działanie programu.

Dostępne polecenia to attack , encode , plot i report , każde z własnymi różnymi opcjami flag poleceń, a zarówno dane wejściowe ataku, jak i dane wyjściowe raportu można wykonać w opcjonalnym formacie json , jeśli zostanie określony z odpowiednią flagą.

Vegeta może określić cele jako adresy URL w osobnym pliku z opcjonalnymi niestandardowymi nagłówkami i żądaniami, które następnie można wykorzystać jako opcję wprowadzania w wierszu poleceń.

Przykład

Przykładowym użyciem byłoby wydanie echa "GET http://localhost/" | atak vegety -czas trwania=5s | wyniki tee.bin | raport vegeta z wiersza poleceń. W tym przykładzie użyto polecenia echo do wysłania danych GET http://localhost/ , a następnie wykonuje polecenie ataku dla tego wyjścia przez pięć sekund. Następnie używa polecenia tee do zapisania wyników do pliku o nazwie Results.bin i uruchamia polecenie report, aby wyświetlić dane wyjściowe wyników ataku.