Performance Test mit Apachebench

Zum Thema Performance Test findet man leicht viele Ressourcen im Internet. Im Grunde möchte man damit die Reaktionszeiten (oder auch Antwortzeiten) einer Website oder eines gesamten Webservers ermitteln. Das Thema ansich ist aber viel umfangreicher und man differenziert die unterschiedlichen Aspekte von Performance wie z.B den Lasttest. Der Apache Webserver bietet das hauseigene Modul Apachebench zum Testen der Performance einer Instanz.

Egal ob Apache auf Windows oder Linux befindet sich das Modul Apahcebench im Unterordner /bin des Apache Verzeichnis. In diesem Beispiel wird die Anwendung von Apachebench auf der aktuellen Xampp Version gezeigt.

Zunächst öffnet man ein Konsole und wechselt in den Ordner C:\xampp\apache\bin. Dort einfach mal die Anwendung ab.exe ohne Parameter aufrufen und man sieht die möglichen Optionen die das Modul Apachebench bietet:

Konsolenausgabe von Apachebench

Der Aufbau des Aufrufs ist relativ einfach gestaltet. Erst definiert man die gewünschten Optionen, das Protokoll (http oder https) und danach gibt man den Host (inkl. Port) an:

Usage: ab.exe [options] [http://]hostname[:port]/path]

In diesem Beispiel möchte ich die Performance der Seite /test auf meinem Lokalen Entwicklungssystem ansprechen. Ich sende mit dem Parameter -n insgesamt 10 Anfragen an die Website und davon werden, durch den Parameter -c , gleichzeitig  2 Paralelle Anfragen geschickt. Mit anderen Worten ich simuliere den Fall das 2 Clients gleichzeitig auf meine Website /Test zugreifen:

Konsolenausgabe von Apachebench mit Aufruf

Jetzt kann man beginnen und die einzelnen möglichen Szenarien für die Website /test mal durchspielen. Wenn man z.B. davon ausgeht, dass zu Spitzenzeiten 20.000 Anfragen Clients auf der Website browsen, muss man die Parameter -n und -c entsprechend anpassen und sehen wie sich die einzelnen Kennziffern verändern.

http://www.agile-coding.net/performance-test-mit-apachebench/