title: Load Testing with AB ... fake failed requests (length)
body: <p>To do some load testing, for my own curiosity, on my server I ran:</p>
  
  <pre><code>ab -kc 50 -t 200 http://localhost/index.php
  </code></pre>
  
  <p>This opens up 50 keep-alive connections for 200 seconds and just slams my server with requests for index.php</p>
  
  <p>In my results, I get:</p>
  
  <pre><code>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
  </code></pre>
  
  <p>Note the 32951 "failed" requests.  I cannot figure this out.</p>
  
  <p>As the test was running, I was able to access my web site from my home computer perfectly, albeit page load times at the bottom of the page were reported as .5 instead of the usual .02.  However I never once had a failed request.</p>
  
  <p>So why is AB reporting that half of the connections fail?  And what does "Length: " mean in that context?</p>