Performancetest Mit Siege

Hinundwieder möchte man die Performance einer Webseite auf den Prüfstand stellen. Da ich heute von Wordpress auf Octopress umgestiegen bin habe ich die neue statische Seite mit einer dynamischen Worpress Seite auf dem gleichen Server verglichen.

Siege installieren

Hat man Macports installiert, so ist die Installation von Siege ein Einzeiler.

$ sudo port install siege

Danach möchte Siege nur noch eine Konfigurationsdatei unter /opt/local/etc/siegerc finden. Eine neue erzeugt man mit

$ siege.config
New configuration template added to ~/.siegerc
Run siege -C to view the current settings in that file

The server is now under siege…

Siege hat einige Parameter. Gleich loslegen kann man mit

$ siege -c20 url -b -t30s
** SIEGE 2.70
** Preparing 20 concurrent users for battle.
The server is now under siege...

Dabei werden 30 Sekunden lang 20 parallele Verbindungen simuliert.

Der Vergleich

Das Ergebnis der statischen Octopress Seite:

Lifting the server siege... done.
Transactions: 1254 hits
Availability: 100.00 %
Elapsed time: 29.41 secs
Data transferred: 7.21 MB
Response time: 0.46 secs
Transaction rate: 42.64 trans/sec
Throughput: 0.25 MB/sec
Concurrency: 19.63
Successful transactions: 1254
Failed transactions: 0
Longest transaction: 2.37
Shortest transaction: 0.14

Das Ergebnis der dynamischen Wordpress Seite:

Lifting the server siege... done.
Transactions: 368 hits
Availability: 100.00 %
Elapsed time: 29.49 secs
Data transferred: 1.17 MB
Response time: 1.54 secs
Transaction rate: 12.48 trans/sec
Throughput: 0.04 MB/sec
Concurrency: 19.16
Successful transactions: 381
Failed transactions: 0
Longest transaction: 5.81
Shortest transaction: 0.41

Fazit

Man sieht schnell, dass (wie erwartet) die statische Seite um einiges performanter ist. Gut 3 mal so viele Transactions in gleicher Zeit. Dennoch ist der Server scheinbar stark genug 20 parallelen Verbindungen auf der dynamischen Seite stand zu halten. Den Effekt einer dynamischen Seite ließe sich mit Sicherheit durch ein Cache (wie WP-Super-Cache) reduzieren.