PerformanceTest Auswertung
Drei Tweets zum PerformanceTest habe ich bereits abgesondert ([1][2][3]), aber ich stelle fest, dass man das nicht so schön kurz fassen kann.
Was hab ich gemacht?
Auf einer Linux-Kiste folgenden Konsolenbefehl gestartet:
ab -n 1000000 -c 42 -H 'User-Agent: NoRobot-Crawler (PerformanceTest!)' http://mannaz.cc/
Nach einer Stunde, einvierzig Minuten und dreizehn Sekunden dann folgendes Resultat:
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking mannaz.cc (be patient)
Completed 100000 requests
Completed 200000 requests
Completed 300000 requests
Completed 400000 requests
Completed 500000 requests
Completed 600000 requests
Completed 700000 requests
Completed 800000 requests
Completed 900000 requests
Completed 1000000 requests
Finished 1000000 requests
Server Software: nginx
Server Hostname: mannaz.cc
Server Port: 80
Document Path: /
Document Length: 78150 bytes
Concurrency Level: 42
Time taken for tests: 6073.000 seconds
Complete requests: 1000000
Failed requests: 556514
(Connect: 0, Receive: 0, Length: 556514, Exceptions: 0)
Write errors: 0
Total transferred: 65759985028 bytes
HTML transferred: 65332984174 bytes
Requests per second: 164.66 [#/sec] (mean)
Time per request: 255.066 [ms] (mean)
Time per request: 6.073 [ms] (mean, across all concurrent requests)
Transfer rate: 10574.47 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 33 121.1 30 11934
Processing: 10 222 353.0 182 12226
Waiting: 2 42 170.1 36 11943
Total: 12 255 373.0 205 12251
Percentage of the requests served within a certain time (ms)
50% 205
66% 281
75% 283
80% 284
90% 285
95% 288
98% 300
99% 319
100% 12251 (longest request)
Möglich waren die kurzen Antwortzeiten aber tatsächlich nur noch mit einem Caching-Plugin für WordPress. Denn meine gestrigen Tests verliefen so, dass schon bei weitaus weniger konkurrierenden Anfragen die Antwortzeiten bei drei bis sechs Sekunden lagen statt im Millisekundenbereich, wie man es erwarten würde.
Übrigens: der 100%-Wert ist meistens zu ignorieren, weil irgend einer von den zig Anfragen gern mal hängen bleibt und somit mehrere Sekunden benötigt. Wie oben auch gut zu erkennen, ist die Mehrheit der 1 Million Anfragen nicht erfolgreich gewesen. D.h. sollte ich also tatsächlich 1 Million Besucher innerhalb von 1h 42min (bei 42 Anfragenslots gleichzeitigt) bekommen, müssten viele wohl gelegentlich neuladen. Aber Sorge bereitet mir die Failed-Quote eigentlich dennoch nicht. Das war der erste lange Durchlauf, bei den 1.000 und 10.000 mit bis zu 100 Slots hat es meist ohne Fails geklappt.
Außerdem war der Test noch deswegen unfähr, da ich ihn von einem Server aus gestartet habe, sprich: rasend schneller Rechner mit super Anbindung. Unter “Normalbedingungen” würde der Test sicher noch länger dauern, die Antwortzeiten sollten aber dennoch nicht allzu stark von oben abweichen (jedenfalls wünsche ich mir, dass auch Heimtests unter einer Sekunde bleiben!).
— Autor: