Pour faire des tests de charge, pour ma propre curiosité, sur mon serveur, j'ai couru:
ab -kc 50 -t 200 http://localhost/index.php
Cela ouvre 50 connexions persistantes pendant 200 secondes et claque simplement mon serveur avec des demandes d'index.php
Dans mes résultats, j'obtiens:
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
Notez les 32951 demandes "échouées". Je ne peux pas comprendre cela.
Pendant que le test était en cours, j'ai pu accéder parfaitement à mon site Web à partir de mon ordinateur à la maison, bien que les temps de chargement des pages au bas de la page aient été signalés comme 0,5 au lieu de 0,02 habituel. Cependant, je n'ai jamais eu une seule fois échoué.
Alors pourquoi AB signale-t-il que la moitié des connexions échouent? Et que signifie "Longueur:" dans ce contexte?