Load Testing with AB ... fake failed requests (length)

Sorry to ressurrect an old question, but it was the first that popped up in Google. Sometimes the length error reported by ab may have been caused by a real problem: if the connection is closed server-side before the total amount of bytes declared in the Content-Length header has not been received by the client. That can happen if there are other parties between the client and the server, for example, naive handcrafted load balancers (my case).


To describe the issue in other words:

The apache benchmarking tool (ab) assumes that length of response content will be the same during entire test. It stores the content length of the first response. If any of further responses have different content length, they result in "length failures".

Following apache bug report seems to confirm that: ASF Bug 42040

Summary: If you are serving any content of variable length, you should probably ignore this kind of ab request failures.

Edit: I have recently noticed that the ab command has a new (at least for me) option:

-l   Accept variable document length (use this for dynamic pages)

I can see it in ab Version 2.3 <$Revision: 1528965 $> but can't see it in ab Version 2.3 <$Revision: 655654 $>, so it was probably added relatively recently.


Nevermind. The "length failure" merely indicates that about half the time the length of the response was different.

Since the contents are dynamic, it's probably the session identifier or something like that.