ab - Narzędzie do testowania serwerów Apache HTTP
ab [ -A auth-username:password ] [ -b windowsize ] [ -B local-address ] [ -c concurrency ] [ -C cookie-name=value ] [ -d ] [ -e csv-file ] [ -E client-certificate file ] [ -f protocol ] [ -g gnuplot-file ] [ -h ] [ -H custom-header ] [ -i ] [ -k ] [ -l ] [ -m HTTP-method ] [ -n requests ] [ -p POST-file ] [ -P proxy-auth-username:password ] [ -q ] [ -r ] [ -s timeout ] [ -S ] [ -t timelimit ] [ -T content-type ] [ -u PUT-file ] [ -v verbosity] [ -V ] [ -w ] [ -x <table>-attributes ] [ -X proxy[:port] ] [ -y <tr>-attributes ] [ -z <td>-attributes ] [ -Z ciphersuite ] [http[s]://]hostname[:port]/path
ab to narzędzie do testowania wydajności serwera Apache Hypertext Transfer Protocol (HTTP). Został zaprojektowany, aby dać ci wyobrażenie o tym, jak działa twoja bieżąca instalacja Apache. Pokazuje to w szczególności, ile żądań na sekundę jest w stanie obsłużyć Twoja instalacja Apache.
Podaj poświadczenia uwierzytelniania BASIC na serwerze. Nazwa użytkownika i hasło są oddzielone pojedynczym : i przesyłane przewodowo w formacie base64. Ciąg jest wysyłany niezależnie od tego, czy serwer go potrzebuje (tj., wysłał wymagane uwierzytelnienie 401).
Rozmiar bufora wysyłania/odbierania TCP w bajtach.
Adres do powiązania podczas nawiązywania połączeń wychodzących.
Liczba wielu żądań do wykonania jednocześnie. Domyślnie jest to jedno żądanie na raz.
Dodaj linię Cookie: do żądania. Argument ma zazwyczaj postać pary nazwa=wartość. To pole jest powtarzalne.
Nie wyświetlaj tabeli „procent obsłużenia w XX [ms]”. (starsze wsparcie).
Napisz plik z wartościami rozdzielanymi przecinkami (CSV), który zawiera dla każdego procentu (od 1% do 100%) czas (w milisekundach) potrzebny do obsłużenia tego procentu żądań. Jest to zwykle bardziej przydatne niż plik „gnuplot”; ponieważ wyniki są już „posortowane”.
Łącząc się z witryną SSL, użyj dostarczonego certyfikatu klienta w formacie PEM, aby uwierzytelnić się na serwerze. Oczekuje się, że plik będzie zawierał certyfikat klienta, następnie certyfikaty pośrednie i klucz prywatny. Dostępne w wersji 2.4.36 i nowszych.
Określ protokół SSL/TLS (SSL2, SSL3, TLS1, TLS1.1, TLS1.2 lub ALL). Obsługa TLS1.1 i TLS1.2 jest dostępna w wersji 2.4.4 i nowszych.
Zapisz wszystkie zmierzone wartości jako plik „gnuplot” lub TSV (oddzielone wartości tabulatorami). Ten plik można łatwo zaimportować do pakietów takich jak Gnuplot, IDL, Mathematica, Igor czy nawet Excel. Etykiety znajdują się w pierwszym wierszu pliku.
Wyświetl informacje o użytkowaniu.
Dołącz dodatkowe nagłówki do żądania. Argument ma zwykle postać prawidłowej linii nagłówka zawierającej parę pole-wartość oddzieloną dwukropkami (tj., "Accept-Encoding: zip/zop;8bit" ).
Wykonuj żądania HEAD zamiast GET.
Włącz funkcję HTTP KeepAlive, tj., wykonaj wiele żądań w ramach jednej sesji HTTP. Wartość domyślna to brak KeepAlive.
Nie zgłaszaj błędów, jeśli długość odpowiedzi nie jest stała. Może to być przydatne w przypadku stron dynamicznych. Dostępne w wersji 2.4.7 i nowszych.
Niestandardowa metoda HTTP dla żądań. Dostępne w wersji 2.4.10 i nowszych.
Liczba próśb o wykonanie sesji testów porównawczych. Domyślnie wykonuje się tylko jedno żądanie, co zwykle prowadzi do niereprezentatywnych wyników testów porównawczych.
Plik zawierający dane do POST. Pamiętaj też o ustawieniu -T.
Podaj poświadczenia uwierzytelniania BASIC do serwera proxy w trasie. Nazwa użytkownika i hasło są oddzielone pojedynczym : i przesyłane przewodowo w formacie base64. Ciąg jest wysyłany niezależnie od tego, czy serwer proxy go potrzebuje (tzn. wysłał wymagane uwierzytelnienie serwera proxy 407).
Podczas przetwarzania więcej niż 150 żądań ab wyświetla licznik postępu na stderr co 10% lub mniej więcej 100 żądań. Flaga -q pominie te komunikaty.
Nie wychodź przy błędach odbierania gniazda.
Maksymalna liczba sekund oczekiwania przed upływem limitu czasu gniazda. Wartość domyślna to 30 sekund. Dostępne w wersji 2.4.4 i nowszych.
Nie wyświetlaj wartości mediany i odchylenia standardowego ani nie wyświetlaj komunikatów ostrzegawczych/błędów, gdy średnia i mediana są oddalone od siebie o więcej niż jeden lub dwa razy więcej niż odchylenie standardowe. I domyślnie do wartości min/avg/max. (starsze wsparcie).
Maksymalna liczba sekund do spędzenia na testach porównawczych. Oznacza to -n 50000 wewnętrznie. Użyj tego do porównania serwera w ustalonym całkowitym czasie. Domyślnie nie ma limitu czasowego.
Nagłówek typu zawartości do użycia dla danych POST/PUT, np. application/x-www-form-urlencoded. Wartość domyślna to tekst/zwykły.
Plik zawierający dane do PUT. Pamiętaj też o ustawieniu -T.
Ustaw poziom gadatliwości — 4 i wyżej drukuje informacje w nagłówkach, 3 i wyżej drukuje kody odpowiedzi (404, 200 itd.), 2 i powyżej drukuje ostrzeżenia i informacje.
Wyświetl numer wersji i wyjdź.
Wydrukuj wyniki w tabelach HTML. Domyślna tabela ma szerokość dwóch kolumn i białe tło.
Ciąg do użycia jako atrybuty dla tabeli. Atrybuty są wstawiane tabela tutaj.
Użyj serwera proxy dla żądań.
Ciąg do użycia jako atrybuty dla Ciąg do użycia jako atrybuty dla Określ zestaw szyfrów SSL/TLS (zobacz szyfry openssl) Poniższa lista opisuje wartości zwracane przez ab: Wartość, jeśli istnieje, zwrócona w nagłówku HTTP server pierwszej udanej odpowiedzi. Obejmuje to wszystkie znaki w nagłówku od początku do momentu wykrycia znaku o wartości dziesiętnej 32 (przede wszystkim: spacja lub CR/LF). Adres DNS lub IP podany w wierszu poleceń Port, z którym łączy się ab. Jeśli w wierszu poleceń nie zostanie podany port, domyślnie będzie to 80 dla http i 443 dla https. Parametry protokołu negocjowane między klientem a serwerem. Zostanie to wydrukowane tylko wtedy, gdy używany jest protokół SSL. Identyfikator URI żądania przeanalizowany z ciągu wiersza polecenia. Jest to rozmiar w bajtach pierwszego pomyślnie zwróconego dokumentu. Jeśli długość dokumentu zmieni się podczas testowania, odpowiedź jest uważana za błąd. Liczba jednoczesnych klientów używanych podczas testu Jest to czas, jaki upływa od momentu utworzenia pierwszego połączenia przez gniazdo do momentu otrzymania ostatniej odpowiedzi Liczba pomyślnie otrzymanych odpowiedzi Liczba żądań, które zostały uznane za niepowodzenie. Jeśli liczba jest większa od zera, zostanie wydrukowany kolejny wiersz z liczbą żądań, które nie powiodły się z powodu połączenia, odczytu, nieprawidłowej długości treści lub wyjątków. Liczba błędów, które zakończyły się niepowodzeniem podczas zapisu (przerwany potok). Liczba odpowiedzi, które nie mieściły się w serii 200 kodów odpowiedzi. Jeśli wszystkie odpowiedzi wynosiły 200, to pole nie jest drukowane. Liczba połączeń, które spowodowały żądania Keep-Alive Jeśli skonfigurowano wysyłanie danych w ramach testu, jest to łączna liczba bajtów wysłanych podczas testów. To pole jest pomijane, jeśli test nie zawiera treści do wysłania. Całkowita liczba bajtów odebranych z serwera. Ta liczba to zasadniczo liczba bajtów przesłanych przewodem. Całkowita liczba bajtów dokumentów odebranych z serwera. Ta liczba nie obejmuje bajtów odebranych w nagłówkach HTTP Jest to liczba żądań na sekundę. Ta wartość jest wynikiem podzielenia liczby żądań przez całkowity czas Średni czas poświęcony na żądanie. Pierwsza wartość jest obliczana za pomocą formuły współbieżność * timetaken * 1000/done, a druga wartość jest obliczana za pomocą formuły timetaken * 1000/done Szybkość transferu obliczona według wzoru totalread/1024/timetaken Istnieją różne statycznie zadeklarowane bufory o stałej długości. W połączeniu z leniwym analizowaniem argumentów wiersza poleceń, nagłówków odpowiedzi z serwera i innych zewnętrznych danych wejściowych może to cię ugryźć. Nie implementuje w pełni protokołu HTTP/1.x; akceptuje tylko niektóre „oczekiwane” formy odpowiedzi. Dość intensywne użycie strstr(3) jest widoczne w profilu, co może wskazywać na problem z wydajnością; tj. należy zmierzyć wydajność ab, a nie wydajność serwera.. . WYJŚCIE
BŁĘDY