ApacheBench

ApacheBench ( ab är det riktiga programfilnamnet ) är ett enkeltrådat kommandoradsdatorprogram som används för benchmarking (mätning av prestanda hos) HTTP - webbservrar . Ursprungligen användes den för att testa Apache HTTP-servern men den är generisk nog att testa vilken webbserver som helst som stöder HTTP/1.0- eller HTTP/1.1-protokollversioner.

Ab - verktyget är skrivet i C och det levereras med standard Apache-källdistribution, och liksom Apache-webbservern själv, är det gratis programvara med öppen källkod och distribueras under villkoren i Apache-licensen .

Historia

Det ursprungliga programmet hette zb "ZeusBench V1.0" och det skrevs av Adam Twiss ( Zeus Technology ), 1996, för att testa prestanda hos Zeus Web Server . Snart senare licensierade (donerade) Twiss det programmet till Apache Group så att det härledda programmet döptes om till "ApacheBench".

Sedan 1997 har 1998 ab vidareutvecklats och underhållits, som ett supportprogram som ingår i Apache HTTP-server, från version 1.0 (1997,1998) till version 2.3 (2021) och senare.

Utdrag från kommentarer om upphovsrättstillskrivningar som finns i källkoden för ab -programmet.

/* ** Det här programmet är baserat på ZeusBench V1.0 skrivet av Adam Twiss ** som är upphovsrätt (c) 1996 av Zeus Technology Ltd. http://www.zeustech.net/ . . . ** */ /* ** HISTORIA: ** - Ursprungligen skriven av Adam Twiss , mars 1996 ** med input från Mike Belshe och ** Michael Campanella ** - Förbättrad av Dean Gaudet , november 1997 ** - Rensad av Ralf S. Engelschall , mars 1998 ** - POST och mångfald av Kurt Sussman , augusti 1998 ** - HTML-tabellutdata tillagd av David N. Welton , januari 1999 ** - Tillagd cookie, godtycklig rubrik och auth-stöd. , april 1999 ** Version 1.3d . . . ** Version 2.3 . . . **/

Exempel användning

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

Detta kommer att exekvera 10 000 HTTP GET- förfrågningar, bearbeta upp till 10 förfrågningar samtidigt, till den angivna URL :en , i det här exemplet http://localhost/index.html som kräver att en webbserver körs på port 80 på samma dator där ab körs.

För ett utökat exempel på ab- utgång se även ab-utgång för Squid-prestandajustering .

Samtidighet kontra trådar

Observera att ApacheBench endast kommer att använda en operativsystemtråd oavsett samtidighetsnivån (specificerad av -c -parametern) . I vissa fall, särskilt vid benchmarking av servrar med hög kapacitet , kan en enda instans av ApacheBench i sig vara en flaskhals. När du använder ApacheBench på hårdvara med flera processorkärnor, kan ytterligare instanser av ApacheBench användas parallellt för att mer fullständigt mätta måladressen.

Upptäcker ApacheBench

ApacheBench User Agent- strängen är ApacheBench/MAJOR.MINOR där MAJOR och MINOR representerar programmets huvud- och underversionsnummer. Det är vanligtvis inte korrekt kategoriserat av webbserverlogganalysatorer som Webalizer eller AWStats , så att köra ApacheBench med ett stort antal förfrågningar kan förvränga resultaten av rapporterna som genereras av dessa program.

Se även

externa länkar