ApacheBench

ApacheBench ( ab to rzeczywista nazwa pliku programu ) to jednowątkowy program komputerowy wiersza poleceń używany do testowania (pomiaru wydajności) serwerów WWW HTTP . Pierwotnie był używany do testowania serwera HTTP Apache , ale jest wystarczająco ogólny, aby przetestować dowolny serwer WWW obsługujący wersje protokołu HTTP/1.0 lub HTTP/1.1.

Narzędzie ab jest napisane w C i jest dostarczane w pakiecie ze standardową dystrybucją źródeł Apache i podobnie jak sam serwer WWW Apache jest darmowym oprogramowaniem typu open source i rozpowszechniane na warunkach licencji Apache .

Historia

Oryginalny program został nazwany zb „ZeusBench V1.0” i został napisany przez Adama Twissa ( Zeus Technology ) w 1996 roku w celu przetestowania wydajności Zeus Web Server . Wkrótce potem Twiss udzielił licencji (podarował) ten program grupie Apache , tak że nazwa programu pochodnego została zmieniona na „ApacheBench”.

Od 1997, 1998 ab jest dalej rozwijany i utrzymywany, jako program pomocniczy zawarty w serwerze Apache HTTP, od wersji 1.0 (1997,1998) do wersji 2.3 (2021) i późniejszych.

Fragment komentarzy dotyczących przypisań praw autorskich znalezionych w kodzie źródłowym programu ab .

/* ** Ten program jest oparty na ZeusBench V1.0 napisanym przez Adama Twissa **, który jest chroniony prawami autorskimi (c) 1996 przez Zeus Technology Ltd. http://www.zeustech.net/ . . . ** */ /* ** HISTORIA: ** - Pierwotnie napisana przez Adama Twissa , marzec 1996 ** przy udziale Mike'a Belshe'a i ** Michaela Campanelli ** - Udoskonalone przez Deana Gaudeta , listopad 1997 ** - Oczyszczone przez Ralfa S. Engelschalla , marzec 1998 ** - POST i gadatliwość autorstwa Kurta Sussmana , sierpień 1998 ** - Dane wyjściowe tabeli w formacie HTML dodane przez Davida N. Weltona , styczeń 1999 ** - Dodano obsługę plików cookie, arbitralnych nagłówków i autoryzacji. , kwiecień 1999 ** Wersja 1.3d . . . ** Wersja 2.3. . . **/

Przykład użycia

  ab -n  10000  -c  10  "http://localhost/index.html" 

Spowoduje to wykonanie 10000 żądań HTTP GET , przetwarzających jednocześnie do 10 żądań, do określonego adresu URL , w tym przykładzie http://localhost/index.html , który wymaga, aby serwer WWW działał na porcie 80 tego samego komputera, na którym ab prowadzony jest.

Aby zapoznać się z rozszerzonym przykładem wyjścia ab , zobacz także wyjście ab dla dostrajania wydajności Squida .

Współbieżność a wątki

Należy zauważyć, że ApacheBench użyje tylko jednego wątku systemu operacyjnego , niezależnie od poziomu współbieżności (określonego przez parametr -c ). W niektórych przypadkach, zwłaszcza podczas testów porównawczych serwerów o dużej pojemności , pojedyncza instancja ApacheBench sama w sobie może być wąskim gardłem. W przypadku korzystania z ApacheBench na sprzęcie z wieloma rdzeniami procesora dodatkowe instancje ApacheBench mogą być używane równolegle w celu pełniejszego nasycenia docelowego adresu URL.

Wykrywanie ApacheBencha

agenta użytkownika ApacheBench to ApacheBench/MAJOR.MINOR , gdzie MAJOR i MINOR reprezentują główne i pomocnicze numery wersji programu. Zwykle nie jest poprawnie kategoryzowane przez analizatory dzienników serwerów WWW, takie jak Webalizer lub AWStats , więc uruchamianie ApacheBench z dużą liczbą żądań może zniekształcić wyniki raportów generowanych przez te programy.

Zobacz też

Linki zewnętrzne