Mal noch ne ganz allgemeine Frage zu dem Thema, auch wenn wie schon von Sven Rautenberg erwähnt das Abrufen von Seiten aus dem Cache mittels Apache Benchmark keine sinnige Aktion zur Bewältigung des Problems ist.
Ich habe mal mittels ab eine Minianwendung von mir getestet, deren Ergebnis nicht gecachet wird, wo eine relativ komplizierte SQL-Anweisung pro Aufruf ausgeführt wird. Da muss ich schon auf 100 concurent requests rauf, bis ich Reaktionszeiten von > 1000ms erreichen will.
Insgesamt sieht das Ergebnis so aus:
Concurrency Level: 100
Time taken for tests: 9.096 seconds
Complete requests: 1000
Failed requests: 4
(Connect: 0, Receive: 0, Length: 4, Exceptions: 0)
Write errors: 0
Non-2xx responses: 4
Total transferred: 11006235 bytes
HTML transferred: 10879508 bytes
Requests per second: 109.94 [#/sec] (mean)
Time per request: 909.613 [ms] (mean)
Time per request: 9.096 [ms] (mean, across all concurrent requests)
Transfer rate: 1181.63 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 18 21 44.6 19 1018
Processing: 384 870 131.4 888 1447
Waiting: 364 850 131.1 867 1427
Total: 403 891 140.1 907 2044
Percentage of the requests served within a certain time (ms)
50% 907
66% 940
75% 961
80% 977
90% 1026
95% 1071
98% 1136
99% 1176
100% 2044 (longest request)
Eine ähnliche Abfrage auf eine dynamisch generierte Seite des im Ausgangsposting besagten Projekts bringt den Webserver zum Absturz und die Request-Zeiten werden mit "timed out" beantwortet.
Ab concurency level 5 wird's schon langsam. Das kann doch nicht normal sein, oder?
Viele Grüße
Markus**