Benchmark Apache 2.2 & nginx 0.5.3 (statische Inhalte)

Posted by Poddn on Jun 29th, 2008

Dass es nicht immer Apache sein muss, stellt nginx eindrucksvoll unter Beweis. Seit mittlerweile 3 Jahren befindet sich der schlanke russische Webserver im produktiven Einsatz, und die Fanbase wächst: Im Netcraft Web Server Survey vom Juni 2008 ist der nginx mit über 2 Millionen Domains auf Platz 5 gelistet, und lässt damit seinen ärgsten Konkurrenten lighttpd hinter sich.

Grund genug, mal einen Benchmark zu machen.

Setup
Als Server dient ein AMD Opteron 148 mit 1GB Ram, Client ist ein Core 2 Duo mit 3GHz und 4GB Ram. Auf beiden Systemen kommt Ubuntu 8.04 zum Einsatz. Verbunden sind die beiden Rechner direkt über einen 100MBit Switch.

Um ein wenig Druck auf den Kessel zu bekommen, verwende ich das Apache Benchmark Tool. Pro Durchlauf feuere ich 400.000 Requests ab, jeweils 500 auf einmal:

ab -n 400000 -c 500 -g http://192.168.1.28/static_short.html

Die statische html-Datei die ich abrufe, ist 100 Byte lang. Ziemlich wenig, aber mir stehen ja auch “nur” 100MBit Bandbreite zur Verfügung.

Eine kurze Zusammenfassung in Graphen:

Die Zahlen sprechen für sich: nginx lässt den Apachen einfach stehen. Interessant waren die Beobachtungen auf der Konsole des Servers: Während im Apache-Durchlauf die Load teilweise bis auf 60(!) nach oben ging, stieg die Load beim nginx kaum über 1. Ein Grund dafür mag sein, dass der Apache mehrere Threads startet, während der nginx in der Standardkonfiguration mit nur einem Thread läuft.

Die Zahlen sind allerdings mit Vorsicht zu genießen: Bei dem Benchmark ging es lediglich um statische Inhalte. Wie die beiden Webserver sich in Verbindung mit php schlagen, werde ich demnächst ergründen.

One Response

  1. Installing Nginx from Sources on Ubuntu 8.10 « blog.maxigs.net Says:

    […] example Nginx vs. Apache benchmark […]

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.