Aby wykonać test obciążenia, dla własnej ciekawości, na moim serwerze uruchomiłem:
ab -kc 50 -t 200 http://localhost/index.php
To otwiera 50 utrzymywanych połączeń na 200 sekund i po prostu uderza mój serwer prośbami o index.php
W moich wynikach otrzymuję:
Concurrency Level: 50
Time taken for tests: 200.007 seconds
Complete requests: 33106
Failed requests: 32951
(Connect: 0, Receive: 0, Length: 32951, Exceptions: 0)
Write errors: 0
Keep-Alive requests: 0
Total transferred: 1948268960 bytes
HTML transferred: 1938001392 bytes
Requests per second: 165.52 [#/sec] (mean)
Time per request: 302.071 [ms] (mean)
Time per request: 6.041 [ms] (mean, across all concurrent requests)
Transfer rate: 9512.69 [Kbytes/sec] received
Zwróć uwagę na 32951 „nieudane” żądania. Nie mogę tego rozgryźć.
Gdy test był uruchomiony, byłem w stanie uzyskać doskonały dostęp do mojej strony internetowej z komputera domowego, chociaż czasy ładowania strony na dole strony były zgłaszane jako .5 zamiast zwykłego .02. Jednak nigdy nie miałem nieudanej prośby.
Dlaczego więc AB zgłasza, że połowa połączeń kończy się niepowodzeniem? A co w tym kontekście oznacza „Długość:”?