Vegeta (oprogramowanie)
Oryginalni autorzy | Tomasza Senarta |
---|---|
Pierwsze wydanie | 13 sierpnia 2013 |
Wersja stabilna | v12.8.4 / 11 października 2020 r
|
Magazyn | |
Napisane w | Iść |
System operacyjny | Linux , Microsoft Windows , macOS |
Typ | Testowanie obciążenia HTTP |
Licencja | Licencja MIT |
Strona internetowa |
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.