Markus**: Systemverfügbarkeit

Beitrag lesen

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**